feat: enhance documentation with workflow tracing and session notes guidelines
This commit is contained in:
parent
85556f8779
commit
d10f731839
74
AGENTS.md
74
AGENTS.md
@ -20,6 +20,80 @@ ## ⚠️ WAJIB BACA SEBELUM KERJA
|
||||
|
||||
**Jangan pernah skip membaca `.ai/` folder** — semua aturan ada di sana.
|
||||
|
||||
**Catatan Penting:**
|
||||
- File `.ai/` adalah **contoh best practice & referensi**, bukan berarti semua pola di situ sudah ada di project
|
||||
- Jika pola di `.ai/` belum ada di project → **ikuti pola yang sudah ada di codebase**
|
||||
- Jangan buang waktu mencari file/pattern yang belum tentu ada
|
||||
|
||||
---
|
||||
|
||||
## Workflow: Trace Codebase
|
||||
|
||||
Sebelum mengubah/menambah fitur, **pahami dulu alur kode yang sudah ada**.
|
||||
|
||||
### Cara Trace:
|
||||
|
||||
Mulai dari file yang relevan (Route/Controller/Service), lalu **ikuti setiap pemanggilan**:
|
||||
|
||||
- Jika ada `use ... Service` → baca file Service
|
||||
- Jika ada `use ... Model` → baca file Model
|
||||
- Jika ada `use ... Trait` → baca file Trait
|
||||
- Jika ada `use ... Enum` → baca file Enum
|
||||
- Jika ada Form Request → baca file Form Request
|
||||
|
||||
### Contoh Trace:
|
||||
|
||||
```
|
||||
ProductController
|
||||
└── panggil ProductService → baca
|
||||
└── panggil Product model → baca
|
||||
└── pakai HasFactory trait → baca
|
||||
```
|
||||
|
||||
**Ikuti terus sampai semua pemanggilan dipahami. Jangan ubah kode tanpa memahami alur yang sudah ada.**
|
||||
|
||||
---
|
||||
|
||||
## Documentation: Catatan Session Kerja
|
||||
|
||||
Setiap kali bekerja pada suatu fitur, **WAJIB** buat/dokumentasi di `/docs` folder.
|
||||
|
||||
### Format: `/docs/{nama-fitur}.md`
|
||||
|
||||
Isi dokumen:
|
||||
1. **Tujuan** — fitur apa yang dibuat/diubah
|
||||
2. **File yang dibaca** — daftar file + ringkasan singkat
|
||||
3. **Pola yang ditemukan** — struktur kode, relasi, flow
|
||||
4. **Perubahan yang dilakukan** — apa saja yang diubah
|
||||
|
||||
### Contoh:
|
||||
|
||||
```markdown
|
||||
# Fitur: Transfer Stok Produk
|
||||
|
||||
## Tujuan
|
||||
Menambah fitur perpindahan stok dari gudang baik ke reject
|
||||
|
||||
## File yang Dibaca
|
||||
- `routes/web.php` → ProductController di route `admin.manage.products`
|
||||
- `app/Http/Controllers/Admin/Manage/ProductController.php` → ada method `index`, `store`, `update`
|
||||
- `app/Services/Admin/Manage/ProductService.php` → panggil Product model, pakai `HasStockAdjustment` trait
|
||||
- `app/Models/Product.php` → relasi `stocks()`, accessor `formatted_stock`
|
||||
|
||||
## Pola yang Ditemukan
|
||||
- Service handle logic, Controller zero logic
|
||||
- Pakai trait `HasStockAdjustment` untuk adjust stock
|
||||
- Stock ada di tabel `stocks` dengan relasi ke product
|
||||
|
||||
## Perubahan
|
||||
- Tambah method `transferStock()` di ProductService
|
||||
- Tambah route `POST /products/{product}/transfer-stock`
|
||||
```
|
||||
|
||||
### Kapan harus update?
|
||||
- Saat mulai sesi baru → buat dokumen baru
|
||||
- Saat lanjut sesi sebelumnya → baca dulu dokumen yang sudah ada
|
||||
|
||||
---
|
||||
|
||||
## Backend
|
||||
|
||||
Loading…
Reference in New Issue
Block a user