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.
|
**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
|
## Backend
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user