243 lines
6.5 KiB
Markdown
243 lines
6.5 KiB
Markdown
# Panduan Penggunaan AI Agent (ASO)
|
|
|
|
Panduan ini menjelaskan cara tim ASO menyiapkan dan memakai AI coding agent secara aman di repository ini.
|
|
|
|
Tujuan utamanya adalah memberi AI konteks project, command yang benar, dan batasan safety agar AI membantu lebih cepat tanpa merusak codebase.
|
|
|
|
## Prinsip Utama
|
|
|
|
1. Human tetap pemilik keputusan final.
|
|
2. AI wajib mengikuti konvensi project ASO.
|
|
3. AI tidak boleh commit/push kecuali diminta eksplisit.
|
|
4. AI harus membuat rencana singkat sebelum perubahan besar/berisiko.
|
|
5. AI harus menjalankan verifikasi relevan sebelum menyatakan selesai.
|
|
6. Human wajib review area kritikal: security, auth/permission, scoping corporate/member, migration, payments, data deletion, production config.
|
|
7. Repository ini wajib memiliki `AGENTS.md` di root.
|
|
|
|
## Konteks Project Ini
|
|
|
|
ASO adalah platform operasional health insurance/managed care untuk pengelolaan corporate, member, claim, monitoring, livechat, dan pelaporan.
|
|
|
|
Stack utama saat ini:
|
|
|
|
- Backend: Laravel 9 (`app/`) + modular backend `nwidart/laravel-modules` (`Modules/`)
|
|
- Frontend: `frontend/dashboard` dan `frontend/client-portal` (React + TS + Vite), plus assets root Laravel (`resources/`, Vite/Mix)
|
|
- Auth/Permission: Sanctum + Spatie Permission (`role`, `permission`) + beberapa flow JWT untuk integrasi tertentu
|
|
- Testing backend: PHPUnit (`tests/Feature`, `tests/Unit`)
|
|
|
|
## AI Agent Ready untuk Repo ASO
|
|
|
|
Repository ini dianggap AI Agent Ready jika AI bisa cepat menjawab:
|
|
|
|
- Struktur backend modular dan batas tiap module
|
|
- Command setup/run/test/lint/build yang benar untuk root + dua frontend app
|
|
- Aturan peletakan business logic
|
|
- Aturan auth/permission/scoping corporate-member pada endpoint terlindungi
|
|
- Aturan migration aman
|
|
- Aturan git (tidak commit/push tanpa instruksi)
|
|
|
|
## File Minimum yang Harus Ada
|
|
|
|
```text
|
|
.
|
|
├── AGENTS.md
|
|
├── README.md
|
|
├── .env-example (dan/atau .env.example)
|
|
└── docs/
|
|
└── ai-agent-guide.id.md
|
|
```
|
|
|
|
Disarankan ditambah:
|
|
|
|
```text
|
|
docs/architecture.md
|
|
docs/testing.md
|
|
docs/database.md
|
|
docs/api-contracts.md
|
|
```
|
|
|
|
## Command Operasional (Aktual Repo Ini)
|
|
|
|
Install dependencies:
|
|
|
|
```bash
|
|
composer install
|
|
npm install
|
|
cd frontend/dashboard && yarn install
|
|
cd ../client-portal && yarn install
|
|
```
|
|
|
|
Menjalankan aplikasi lokal:
|
|
|
|
```bash
|
|
php artisan serve
|
|
npm run dev
|
|
cd frontend/dashboard && yarn start
|
|
cd ../client-portal && yarn start
|
|
```
|
|
|
|
Testing backend:
|
|
|
|
```bash
|
|
php artisan test
|
|
```
|
|
|
|
Lint frontend:
|
|
|
|
```bash
|
|
cd frontend/dashboard && yarn lint
|
|
cd ../client-portal && yarn lint
|
|
```
|
|
|
|
Build frontend:
|
|
|
|
```bash
|
|
npm run production
|
|
cd frontend/dashboard && yarn build
|
|
cd ../client-portal && yarn build
|
|
```
|
|
|
|
Migration:
|
|
|
|
```bash
|
|
php artisan migrate
|
|
```
|
|
|
|
Catatan:
|
|
|
|
- Script `typecheck` standar belum tersedia konsisten di root/subproject; jika perlu, jalankan `tsc` manual sesuai kebutuhan task.
|
|
- Repo ini memiliki lockfile campuran (`package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`). Ikuti lockfile dan package manager yang sudah dipakai pada subproject yang disentuh.
|
|
|
|
## Struktur Repository Penting
|
|
|
|
```text
|
|
app/ # Core Laravel app
|
|
routes/ # Root routes (web/api)
|
|
Modules/ # Module domain (Client, Internal, Linksehat, Primaya, HospitalPortal)
|
|
Modules/*/Routes/api.php # API route per module
|
|
database/migrations/ # Root migrations
|
|
frontend/dashboard/ # Internal/admin frontend
|
|
frontend/client-portal/ # Client portal frontend
|
|
resources/ # View/assets Laravel utama
|
|
public/ # Public assets + output build frontend
|
|
tests/ # PHPUnit tests
|
|
```
|
|
|
|
## Aturan Arsitektur untuk Agent
|
|
|
|
- Gunakan pattern yang sudah ada sebelum menambah pattern baru.
|
|
- Jaga controller tetap tipis; letakkan logic di service/domain yang sudah ada (`app/Services`, `Modules/*/Services`).
|
|
- Untuk API module, tambahkan route dan controller dalam module yang sesuai; hindari menaruh logic module di tempat acak.
|
|
- Jangan cross-import antar frontend app (`dashboard` vs `client-portal`) kecuali memang sudah ada kontrak eksplisit.
|
|
- Jika mengubah perilaku endpoint protected, review middleware terkait (`auth:sanctum`, role/permission, middleware custom module).
|
|
|
|
## Workflow AI Harian
|
|
|
|
### 1. Mulai Task
|
|
|
|
- Baca `AGENTS.md`.
|
|
- Pahami pattern existing di area yang akan diubah.
|
|
- Buat plan singkat untuk task non-trivial.
|
|
- Klarifikasi requirement jika masih ambigu.
|
|
|
|
### 2. Feature Work
|
|
|
|
- Implement perubahan kecil dan fokus.
|
|
- Hindari refactor unrelated.
|
|
- Tambah/update test saat behavior berubah.
|
|
- Jalankan verifikasi relevan.
|
|
|
|
### 3. Bug Fixing
|
|
|
|
- Reproduce/inspeksi issue terlebih dahulu.
|
|
- Temukan root cause.
|
|
- Terapkan fix minimal dan aman.
|
|
- Tambah regression test jika memungkinkan.
|
|
|
|
### 4. Review Sebelum PR
|
|
|
|
Periksa:
|
|
|
|
- correctness
|
|
- security
|
|
- auth/permission/scoping
|
|
- migration safety
|
|
- missing tests
|
|
- lint/type/build impact
|
|
- perubahan unrelated
|
|
|
|
## Definition of Done untuk Task AI
|
|
|
|
Task AI belum selesai sampai:
|
|
|
|
- Perubahan mengikuti pattern existing.
|
|
- Tidak ada perubahan unrelated.
|
|
- Test/lint/build relevan sudah dijalankan atau alasannya dijelaskan.
|
|
- Risiko migration/auth/scoping dijelaskan jika relevan.
|
|
- File berubah dan command yang dijalankan dicatat.
|
|
|
|
## Safety Rules (Wajib)
|
|
|
|
AI agent tidak boleh:
|
|
|
|
- Commit/push/rewrite history tanpa instruksi eksplisit.
|
|
- Mengubah `.env` asli tanpa instruksi eksplisit.
|
|
- Print secrets ke output/chat.
|
|
- Menghapus data/folder besar tanpa konfirmasi.
|
|
- Mengubah schema DB tanpa migration baru dan catatan safety.
|
|
- Menambah dependency besar tanpa alasan jelas dan dampak.
|
|
|
|
## Prompt Siap Pakai untuk Repo Ini
|
|
|
|
### Setup / Sinkronisasi Dokumentasi
|
|
|
|
```text
|
|
Baca AGENTS.md dan docs/ai-agent-guide.id.md.
|
|
Sinkronkan dokumentasi AI agent dengan kondisi codebase saat ini.
|
|
Validasi command setup/test/lint/build berdasarkan file konfigurasi aktual.
|
|
Jangan commit perubahan.
|
|
```
|
|
|
|
### Feature Work
|
|
|
|
```text
|
|
Implement feature berikut: [jelaskan].
|
|
Rules:
|
|
- Baca AGENTS.md terlebih dahulu.
|
|
- Ikuti pattern existing repo ASO.
|
|
- Jangan commit.
|
|
- Jalankan verifikasi relevan.
|
|
Output akhir wajib: Summary, Files changed, Commands run, Risks/notes.
|
|
```
|
|
|
|
### Bug Fixing
|
|
|
|
```text
|
|
Fix bug berikut: [jelaskan].
|
|
Gunakan systematic debugging:
|
|
1. Reproduce/inspeksi issue
|
|
2. Temukan root cause
|
|
3. Terapkan fix minimal aman
|
|
4. Tambah regression test jika memungkinkan
|
|
5. Jalankan verifikasi
|
|
Jangan commit.
|
|
```
|
|
|
|
## Format Final Response Standar
|
|
|
|
Gunakan format ini:
|
|
|
|
```text
|
|
Summary:
|
|
- ...
|
|
|
|
Files changed:
|
|
- ...
|
|
|
|
Commands run:
|
|
- ...
|
|
|
|
Risks / notes:
|
|
- ...
|
|
```
|