Imported from sayahafidz1/quran-handsfree (
AGENTS.md). Install upstream withnpx skills add sayahafidz1/quran-handsfree. Copyright stays with the author.
# Petunjuk & Aturan Pengembang (Agent Guidelines)
Dokumen ini adalah aturan mutlak dan panduan kerja untuk setiap AI coding agent atau engineer yang mengerjakan proyek quran-handsfree.
1. Dokumen yang Wajib Dibaca Sebelum Bekerja
docs/PROJECT_CONTEXT.md— Konteks status dan riwayat hidup proyek.docs/ARCHITECTURE.md— Prinsip desain arsitektur, layer, dan batas integrasi.docs/DECISIONS.md— Riwayat keputusan arsitektur (ADR).docs/GOALS.md— Batasan cakupan fitur dan backlog yang belum boleh dibuat.docs/TILAWA_INTEGRATION.md— Spesifikasi integrasi@tilawa/coredan manajemen aset.docs/NEXT_STEPS.md— Rencana tindak lanjut pengembangan.
2. Batasan Mutlak (Hard Constraints)
- Folder Upstream
../tilawa/Tidak Boleh Dimodifikasi:tilawa/adalah clone upstream yang bertindak murni sebagai referensi dan engine pengenalan.- Jangan mengubah, mengedit, menghapus, atau menambah berkas apa pun di folder
../tilawa/.
- Semua Pekerjaan Dilakukan di
quran-handsfree/:- Seluruh kode aplikasi, UI, konfigurasi, dan dokumentasi harus berada di dalam
quran-handsfree/.
- Seluruh kode aplikasi, UI, konfigurasi, dan dokumentasi harus berada di dalam
- Integration Boundary di
src/recognition/tilawa/:src/recognition/tilawa/adalah adapter / boundary isolasi antara aplikasi dan@tilawa/core.- Gunakan selalu public API dari paket
@tilawa/core. - Dilarang mengimpor file internal source Tilawa secara langsung.
- Dilarang menyalin (copy-paste) source code Tilawa ke dalam proyek ini kecuali terdapat kendala teknis yang mutlak tidak dapat dihindari dan telah disetujui.
- Pemisahan Product Logic:
- Logika bisnis produk seperti
discovery -> lock -> verify -> next ayahdilarang keras dicampur ke dalam adapter Tilawa (src/recognition/tilawa/). Logika tersebut harus berada di layer aplikasi/domain (src/app/).
- Logika bisnis produk seperti
- Portabilitas Arsitektur (Web/PWA & Android):
- Pastikan abstraksi pengenalan (
src/recognition/) tetap bersih agar dapat mendukung Web/PWA saat ini dan React Native / Android native di masa depan tanpa mengubah core product logic.
- Pastikan abstraksi pengenalan (
- Manajemen Aset Model di
public/tilawa/:- Jangan menyimpan file model ONNX atau dataset biner Tilawa berukuran besar ke dalam Git.
- Setiap aset runtime di
public/tilawa/wajib dipin versinya serta dicatat nilai checksum SHA-256 pada dokumentasi rilis/manifest.
- Disiplin Dokumentasi Berkelanjutan:
- Setiap perubahan arsitektur penting, perubahan struktur folder, atau penambahan adapter wajib didokumentasikan di file
.mdyang relevan (README.md,ARCHITECTURE.md,DECISIONS.md,PROJECT_CONTEXT.md, dll.) pada commit/perubahan yang sama agar agent berikutnya memahami konteks dan keputusan sebelumnya.
- Setiap perubahan arsitektur penting, perubahan struktur folder, atau penambahan adapter wajib didokumentasikan di file
3. Prosedur Verifikasi
Sebelum menyelesaikan pekerjaan:
- Pastikan TypeScript memeriksa tipe dengan benar tanpa error:
npx tsc --noEmit - Pastikan build aplikasi berhasil:
npm run build