codehava-agent-kit 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -29
- package/package.json +2 -2
- package/templates/.agent/.shared/ACTIVE-template.md +44 -0
- package/templates/.agent/.shared/HANDOFF-template.md +75 -0
- package/templates/.agent/.shared/MEMORY-schema.md +117 -0
- package/templates/.agent/.shared/STATE-template.md +59 -0
- package/templates/.agent/.shared/checklists/planning-quality.md +69 -0
- package/templates/.agent/.shared/types/api-backend/config.md +25 -0
- package/templates/.agent/.shared/types/api-backend/guide.md +41 -0
- package/templates/.agent/.shared/types/api-backend/skill-loadout.md +16 -0
- package/templates/.agent/.shared/types/application/config.md +27 -0
- package/templates/.agent/.shared/types/application/guide.md +51 -0
- package/templates/.agent/.shared/types/application/skill-loadout.md +39 -0
- package/templates/.agent/.shared/types/campaign/config.md +24 -0
- package/templates/.agent/.shared/types/campaign/guide.md +36 -0
- package/templates/.agent/.shared/types/campaign/skill-loadout.md +12 -0
- package/templates/.agent/.shared/types/utility/config.md +24 -0
- package/templates/.agent/.shared/types/utility/guide.md +31 -0
- package/templates/.agent/.shared/types/utility/skill-loadout.md +10 -0
- package/templates/.agent/.shared/types/workflow/config.md +25 -0
- package/templates/.agent/.shared/types/workflow/guide.md +41 -0
- package/templates/.agent/.shared/types/workflow/skill-loadout.md +13 -0
- package/templates/.agent/SKILLS_INDEX.md +68 -7
- package/templates/.agent/agents/backend-specialist.md +12 -0
- package/templates/.agent/agents/database-architect.md +11 -0
- package/templates/.agent/agents/frontend-specialist.md +12 -0
- package/templates/.agent/agents/mobile-developer.md +11 -0
- package/templates/.agent/agents/penetration-tester.md +13 -0
- package/templates/.agent/agents/test-engineer.md +10 -0
- package/templates/.agent/rules/GEMINI.md +292 -183
- package/templates/.agent/skills/systematic-debugging/SKILL.md +202 -0
- package/templates/.agent/skills/vibe-prd/SKILL.md +48 -6
- package/templates/.agent/workflows/add-type.md +133 -0
- package/templates/.agent/workflows/apply.md +95 -0
- package/templates/.agent/workflows/graduate.md +150 -0
- package/templates/.agent/workflows/launch.md +127 -0
- package/templates/.agent/workflows/new-feature.md +21 -23
- package/templates/.agent/workflows/pause.md +118 -0
- package/templates/.agent/workflows/pipeline.md +95 -0
- package/templates/.agent/workflows/progress.md +103 -0
- package/templates/.agent/workflows/resume.md +105 -0
- package/templates/.agent/workflows/unify.md +126 -0
- package/templates/.agent/workflows/vibe-plan.md +135 -72
- package/templates/.agent/workflows/vibe-recap.md +89 -12
- package/templates/.antigravity/rules.md +75 -27
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Tutup sesi dengan merangkum apa yang sudah dikerjakan, keputusan yang dibuat, dan langkah berikutnya.
|
|
4
|
+
Wajib dijalankan setelah /apply selesai agar sesi berikutnya bisa dilanjutkan dengan mulus.
|
|
5
|
+
Update STATE.md dan MEMORY.md jika ada perubahan penting di sesi ini.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /unify — Rangkuman Sesi
|
|
9
|
+
|
|
10
|
+
Menutup sesi dengan rapi. Dokumentasi apa yang terjadi agar sesi berikutnya bisa lanjut dari titik yang benar.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Langkah 1 — Buat Ringkasan Sesi
|
|
15
|
+
|
|
16
|
+
Buat atau update file: `docs/phases/[nomor-fase]-SUMMARY.md`
|
|
17
|
+
|
|
18
|
+
Template:
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# Ringkasan Sesi [N]
|
|
22
|
+
|
|
23
|
+
**Tanggal:** [YYYY-MM-DD]
|
|
24
|
+
**Status:** [Selesai / Sebagian / Terhenti]
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Yang Direncanakan vs Yang Dikerjakan
|
|
29
|
+
|
|
30
|
+
| Pekerjaan | Rencana | Hasil | Status |
|
|
31
|
+
|-----------|---------|-------|--------|
|
|
32
|
+
| [nama task] | [apa yang mau dilakukan] | [apa yang terjadi] | ✅ Selesai |
|
|
33
|
+
| [nama task] | [apa yang mau dilakukan] | [apa yang terjadi] | ⚠️ Selesai, ada catatan |
|
|
34
|
+
| [nama task] | [apa yang mau dilakukan] | Belum dikerjakan | 🚫 Tertunda |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Keputusan yang Dibuat
|
|
39
|
+
|
|
40
|
+
- [Keputusan 1]: [kenapa diputuskan begini]
|
|
41
|
+
- [Keputusan 2]: [kenapa diputuskan begini]
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Yang Belum Selesai
|
|
46
|
+
|
|
47
|
+
- [ ] [nama task] — akan dikerjakan di: [sesi berikutnya / setelah X]
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Catatan Teknis (untuk AI, bukan user)
|
|
52
|
+
|
|
53
|
+
- [ ] [catatan] — prioritas: rendah/sedang/tinggi
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## File yang Diubah
|
|
58
|
+
|
|
59
|
+
- [path/file] — [apa yang berubah]
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Langkah Selanjutnya
|
|
64
|
+
|
|
65
|
+
**Aksi berikutnya:** [apa yang perlu dilakukan di sesi berikutnya]
|
|
66
|
+
**Yang harus ada dulu:** [prasyarat jika ada]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Langkah 2 — Update STATE.md (internal)
|
|
72
|
+
|
|
73
|
+
Update `.agent/STATE.md`:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## Posisi Sekarang
|
|
77
|
+
- Status: sesi selesai
|
|
78
|
+
- Ringkasan terakhir: [path ke SUMMARY.md]
|
|
79
|
+
- Fase berikutnya: [nama atau "belum ditentukan"]
|
|
80
|
+
|
|
81
|
+
## Riwayat Sesi
|
|
82
|
+
- [YYYY-MM-DD]: [ringkasan 1 kalimat]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Langkah 3 — Update MEMORY.md jika ada perubahan penting (internal, silent)
|
|
88
|
+
|
|
89
|
+
Jika sesi ini membuat keputusan baru tentang:
|
|
90
|
+
- Teknologi yang dipakai (ganti atau tambah layanan)
|
|
91
|
+
- Struktur database (tambah tabel, ubah kolom)
|
|
92
|
+
- Tampilan (warna, font, gaya)
|
|
93
|
+
- Batasan baru (keamanan, performa, aturan)
|
|
94
|
+
|
|
95
|
+
→ Update `.agent/MEMORY.md` secara diam-diam.
|
|
96
|
+
|
|
97
|
+
Jika tidak ada perubahan → skip langkah ini.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Langkah 4 — Laporan ke User
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
✅ Sesi selesai!
|
|
105
|
+
|
|
106
|
+
Yang sudah dikerjakan:
|
|
107
|
+
✅ [N] pekerjaan selesai
|
|
108
|
+
⚠️ [N] selesai dengan catatan
|
|
109
|
+
⏸️ [N] ditunda / menunggu keputusan
|
|
110
|
+
|
|
111
|
+
Catatan:
|
|
112
|
+
- [catatan penting dalam bahasa sederhana jika ada]
|
|
113
|
+
|
|
114
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
115
|
+
Sesi berikutnya: ketik /resume untuk lanjut dari titik ini.
|
|
116
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Aturan Penting
|
|
122
|
+
|
|
123
|
+
- Wajib dijalankan setelah setiap /apply — meskipun semua task selesai
|
|
124
|
+
- Jika sebagian besar belum selesai, tetap buat ringkasan dengan status apa adanya
|
|
125
|
+
- MEMORY.md hanya diupdate jika ada perubahan nyata — jangan tambah noise
|
|
126
|
+
- Ringkasan ini adalah panduan untuk sesi berikutnya — tulis dengan jelas
|
|
@@ -1,133 +1,196 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: |
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Rencanakan project baru dari ide ke rencana kerja yang siap dikerjakan.
|
|
4
|
+
Deteksi jenis project secara otomatis, ajukan pertanyaan yang relevan per jenis.
|
|
5
|
+
Output: PLANNING.md berisi rencana kerja + syarat keberhasilan per fitur.
|
|
6
|
+
Jalankan di awal project baru atau saat memulai tahap baru.
|
|
7
|
+
Selalu diikuti dengan /apply → /unify.
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# /vibe-plan —
|
|
10
|
+
# /vibe-plan — Rencanakan Project Baru
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
yang
|
|
12
|
+
Dari ide ke rencana kerja yang siap dikerjakan.
|
|
13
|
+
Setiap jenis project punya pertanyaan yang berbeda — kita tidak akan tanya hal yang tidak relevan.
|
|
12
14
|
|
|
13
|
-
**
|
|
14
|
-
|
|
15
|
+
**Output utama:** `PLANNING.md` + `docs/01-PRD.md` + `docs/02-TECH-DESIGN.md`
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Langkah 0 — Kenali Jenis Project
|
|
20
|
+
|
|
21
|
+
Tanya user (jika belum jelas dari konteks):
|
|
22
|
+
|
|
23
|
+
> "Project ini kira-kira jenis apa? Pilih yang paling sesuai:
|
|
24
|
+
> 1. **Aplikasi** — Web app atau mobile app dengan pengguna, login, dan database
|
|
25
|
+
> 2. **Backend/API** — Server atau layanan yang melayani data ke aplikasi lain
|
|
26
|
+
> 3. **Kampanye** — Landing page, website marketing, atau kampanye konten
|
|
27
|
+
> 4. **Alat bantu** — Script, automation, atau tool untuk satu tujuan spesifik
|
|
28
|
+
> 5. **Workflow otomatis** — Integrasi otomatis antar layanan (seperti Zapier, n8n)"
|
|
29
|
+
|
|
30
|
+
| Jenis | Fokus Pertanyaan | Yang Dijaga |
|
|
31
|
+
|-------|-----------------|-------------|
|
|
32
|
+
| **Aplikasi** | Login, tampilan, database, deploy, kondisi error | Jangan tambah fitur tak terduga |
|
|
33
|
+
| **Backend/API** | Endpoint, struktur data, autentikasi, testing | Jangan over-engineer |
|
|
34
|
+
| **Kampanye** | Timeline, konten, platform, target audiens | Jangan tambah fitur teknis berlebih |
|
|
35
|
+
| **Alat bantu** | Satu tujuan, input/output yang jelas | Jangan meluaskan scope |
|
|
36
|
+
| **Workflow otomatis** | Trigger, langkah-langkah, penanganan error | Jangan coupling ketat |
|
|
15
37
|
|
|
16
38
|
---
|
|
17
39
|
|
|
18
40
|
## Langkah 1 — Cek Status Project
|
|
19
41
|
|
|
20
|
-
|
|
42
|
+
Cek file yang sudah ada (internal):
|
|
21
43
|
|
|
22
44
|
```
|
|
23
|
-
Cek keberadaan
|
|
24
|
-
-
|
|
25
|
-
- docs/
|
|
45
|
+
Cek keberadaan:
|
|
46
|
+
- PLANNING.md → jika ada dan terisi, planning sudah selesai
|
|
47
|
+
- docs/research-*.md → jika ada, research sudah selesai
|
|
48
|
+
- docs/01-PRD.md → jika terisi (bukan template), PRD sudah selesai
|
|
26
49
|
- docs/02-TECH-DESIGN.md → jika terisi, tech design sudah selesai
|
|
27
|
-
- BUILD_PLAN.md → jika ada, build plan sudah selesai
|
|
28
50
|
```
|
|
29
51
|
|
|
30
|
-
Berdasarkan apa yang ditemukan, langsung lompat ke step yang belum selesai.
|
|
31
52
|
Tampilkan status ke user:
|
|
32
53
|
|
|
33
54
|
```
|
|
34
|
-
📊 Status Planning [Nama
|
|
55
|
+
📊 Status Planning — [Nama Project]:
|
|
35
56
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
57
|
+
Tahap 1 — Riset: [✅ Selesai / ⏳ Belum]
|
|
58
|
+
Tahap 2 — Deskripsi: [✅ Selesai / ⏳ Belum]
|
|
59
|
+
Tahap 3 — Desain teknis:[✅ Selesai / ⏳ Belum]
|
|
60
|
+
Tahap 4 — Rencana kerja:[✅ Selesai / ⏳ Belum]
|
|
40
61
|
|
|
41
|
-
Mulai dari
|
|
62
|
+
Mulai dari Tahap [N]?
|
|
42
63
|
```
|
|
43
64
|
|
|
44
65
|
---
|
|
45
66
|
|
|
46
|
-
## Langkah 2 —
|
|
67
|
+
## Langkah 2 — Gali Kebutuhan (Sesuai Jenis Project)
|
|
47
68
|
|
|
48
|
-
|
|
69
|
+
Baca file panduan sesuai jenis project yang dipilih (internal):
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
.agent/.shared/types/[type]/guide.md → pertanyaan yang relevan per jenis
|
|
73
|
+
.agent/.shared/types/[type]/config.md → seberapa detail yang dibutuhkan
|
|
74
|
+
.agent/.shared/types/[type]/skill-loadout.md → skill yang akan dipakai
|
|
49
75
|
```
|
|
50
|
-
Tujuan: Validasi ide, analisa pasar, identifikasi risiko
|
|
51
|
-
Skill: vibe-research
|
|
52
|
-
Output: docs/research-[AppName].md
|
|
53
76
|
|
|
54
|
-
|
|
55
|
-
|
|
77
|
+
### Cara Bertanya
|
|
78
|
+
|
|
79
|
+
- Tanya **satu pertanyaan** di satu waktu — jangan langsung banyak sekaligus
|
|
80
|
+
- Jika user stuck atau jawabannya samar → berikan rekomendasi proaktif ("Untuk kebanyakan kasus seperti ini, biasanya X karena...")
|
|
81
|
+
- Jika pertanyaan sudah terjawab dari konteks → langsung skip, jangan tanya ulang
|
|
82
|
+
- Jika user mention hal di luar scope → "Itu sepertinya ide bagus untuk project terpisah. Untuk sekarang, kita fokus ke [tujuan utama] dulu ya."
|
|
83
|
+
|
|
84
|
+
### Panduan per Jenis (internal reference)
|
|
85
|
+
|
|
86
|
+
| Jenis | File panduan | Topik yang digali |
|
|
87
|
+
|-------|-------------|-------------------|
|
|
88
|
+
| Aplikasi | `types/application/guide.md` | Masalah → Stack → Data → Login → Tampilan → API → Deploy → Keamanan |
|
|
89
|
+
| Backend/API | `types/api-backend/guide.md` | Tujuan → Endpoint → Autentikasi → Struktur data → Error → Performa → Testing → Deploy |
|
|
90
|
+
| Kampanye | `types/campaign/guide.md` | Tujuan → Platform → Timeline → Pesan → Konten → Metrik → Budget |
|
|
91
|
+
| Alat bantu | `types/utility/guide.md` | Masalah → Batasan scope → Pengguna → Dependensi → Antarmuka → Kriteria selesai |
|
|
92
|
+
| Workflow otomatis | `types/workflow/guide.md` | Trigger → Langkah-langkah → Penanganan error → Integrasi → Monitoring |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Langkah 3 — Buat Dokumen Planning Secara Berurutan
|
|
97
|
+
|
|
98
|
+
### Tahap 1: Riset (untuk Aplikasi dan Backend saja)
|
|
99
|
+
```
|
|
100
|
+
Gunakan skill: vibe-research
|
|
101
|
+
Output: docs/research-[NamaProject].md
|
|
102
|
+
Setelah selesai → minta persetujuan user → lanjut Tahap 2
|
|
56
103
|
```
|
|
57
104
|
|
|
58
|
-
###
|
|
105
|
+
### Tahap 2: Deskripsi Produk
|
|
59
106
|
```
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
107
|
+
Gunakan skill: vibe-prd
|
|
108
|
+
Input: hasil riset (jika ada) + jawaban dari pertanyaan tadi
|
|
109
|
+
Output: docs/01-PRD.md
|
|
110
|
+
|
|
111
|
+
Untuk setiap fitur utama, tulis:
|
|
112
|
+
- Apa yang user bisa lakukan
|
|
113
|
+
- Bagaimana kita tahu fitur ini berhasil (kapan dianggap selesai)
|
|
64
114
|
|
|
65
|
-
|
|
66
|
-
Setelah selesai dan user approve → lanjut ke Step 3.
|
|
115
|
+
Setelah selesai → minta persetujuan user → lanjut Tahap 3
|
|
67
116
|
```
|
|
68
117
|
|
|
69
|
-
###
|
|
118
|
+
### Tahap 3: Desain Teknis
|
|
70
119
|
```
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Output: docs/02-TECH-DESIGN.md (terisi + ERD + API contracts)
|
|
120
|
+
Gunakan skill: vibe-techdesign
|
|
121
|
+
Input: docs/01-PRD.md + jawaban dari pertanyaan
|
|
122
|
+
Output: docs/02-TECH-DESIGN.md (teknologi yang dipakai + struktur data + cara kerja API)
|
|
75
123
|
|
|
76
|
-
|
|
77
|
-
Setelah selesai dan user approve → lanjut ke Step 4.
|
|
124
|
+
Setelah selesai → minta persetujuan user → lanjut Tahap 4
|
|
78
125
|
```
|
|
79
126
|
|
|
80
|
-
###
|
|
127
|
+
### Tahap 4: Buat Rencana Kerja
|
|
81
128
|
```
|
|
82
|
-
|
|
83
|
-
Skill: vibe-buildplan
|
|
129
|
+
Gunakan skill: vibe-buildplan
|
|
84
130
|
Input: docs/01-PRD.md + docs/02-TECH-DESIGN.md
|
|
85
|
-
Output:
|
|
131
|
+
Output: PLANNING.md (siap untuk /apply)
|
|
86
132
|
|
|
87
|
-
|
|
88
|
-
|
|
133
|
+
Isi PLANNING.md:
|
|
134
|
+
- Jenis project
|
|
135
|
+
- Daftar pekerjaan berurutan per sprint
|
|
136
|
+
- Per pekerjaan: ukuran keberhasilan + file yang akan diubah
|
|
137
|
+
- Batasan yang tidak boleh dilanggar
|
|
89
138
|
```
|
|
90
139
|
|
|
91
140
|
---
|
|
92
141
|
|
|
93
|
-
## Langkah
|
|
142
|
+
## Langkah 4 — Validasi Rencana (internal)
|
|
94
143
|
|
|
95
|
-
|
|
144
|
+
Sebelum maju, cek PLANNING.md secara internal:
|
|
96
145
|
|
|
97
146
|
```
|
|
98
|
-
|
|
147
|
+
□ Semua fitur utama punya ukuran keberhasilan yang jelas?
|
|
148
|
+
□ Teknologi yang dipakai sudah dipilih dan dikonfirmasi user?
|
|
149
|
+
□ Batasan-batasan sudah jelas dituliskan?
|
|
150
|
+
□ Pekerjaan pertama sudah cukup detail untuk langsung dikerjakan?
|
|
151
|
+
□ File yang tidak boleh diubah sudah ditandai?
|
|
152
|
+
□ [Aplikasi] Alur login sudah didesain?
|
|
153
|
+
□ [Aplikasi] Kondisi loading, kosong, dan error sudah dipikirkan?
|
|
154
|
+
□ [Kampanye] Timeline dan deadline sudah dikonfirmasi?
|
|
155
|
+
□ [Alat bantu] Hanya satu tujuan — tidak meluas?
|
|
156
|
+
```
|
|
99
157
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
158
|
+
Jika semua ✅ → lanjut.
|
|
159
|
+
Jika ada ❌ → lengkapi dulu sebelum lanjut.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Langkah 5 — Ringkasan & Siap Mulai
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
🎉 Planning selesai! [Jenis: Aplikasi/Backend/Kampanye/Alat bantu/Workflow]
|
|
106
167
|
|
|
107
|
-
|
|
108
|
-
|
|
168
|
+
Dokumen yang dibuat:
|
|
169
|
+
✅ PLANNING.md — Rencana kerja siap dieksekusi
|
|
170
|
+
✅ docs/01-PRD.md — [N] fitur
|
|
171
|
+
✅ docs/02-TECH-DESIGN.md — Teknologi: [ringkasan]
|
|
109
172
|
|
|
110
|
-
Sprint
|
|
111
|
-
|
|
173
|
+
Sprint pertama: [N] pekerjaan, tujuan: [tujuan sprint pertama]
|
|
174
|
+
Pekerjaan pertama: [nama pekerjaan]
|
|
112
175
|
|
|
113
176
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
114
|
-
|
|
115
|
-
/
|
|
116
|
-
/
|
|
177
|
+
Langkah berikutnya:
|
|
178
|
+
/apply → mulai mengerjakan pekerjaan satu per satu
|
|
179
|
+
/unify → wajib dijalankan setelah /apply selesai
|
|
117
180
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
181
|
|
|
119
|
-
Sebelum coding, pastikan:
|
|
120
|
-
□
|
|
121
|
-
□ .
|
|
122
|
-
□
|
|
182
|
+
Sebelum mulai coding, pastikan:
|
|
183
|
+
□ .agent/STATE.md sudah diisi
|
|
184
|
+
□ .agent/MEMORY.md sudah diisi (keputusan teknologi dari planning ini)
|
|
185
|
+
□ .env.local sudah ada (API keys, database URL, dll)
|
|
123
186
|
```
|
|
124
187
|
|
|
125
188
|
---
|
|
126
189
|
|
|
127
190
|
## Aturan Penting
|
|
128
191
|
|
|
129
|
-
- Jangan
|
|
130
|
-
- Setiap
|
|
131
|
-
-
|
|
132
|
-
- Workflow ini bisa
|
|
133
|
-
-
|
|
192
|
+
- Jangan mulai coding sebelum minimal Tahap 2 (deskripsi produk) selesai
|
|
193
|
+
- Setiap tahap butuh **persetujuan eksplisit** dari user sebelum lanjut
|
|
194
|
+
- PLANNING.md bisa diupdate jika ada perubahan rencana
|
|
195
|
+
- Workflow ini bisa dilanjutkan: jalankan `/vibe-plan` lagi untuk cek progress
|
|
196
|
+
- **Kampanye dan alat bantu:** Aktif tolak penambahan fitur di luar tujuan utama
|
|
@@ -1,17 +1,94 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: |
|
|
3
|
+
Context compaction + PAUL UNIFY ringan — rangkum session saat ini agar bisa
|
|
4
|
+
pindah ke chat baru tanpa kehilangan konteks. Gunakan saat context window
|
|
5
|
+
mulai penuh atau AI mulai kehilangan fokus. Jika sudah selesai satu /apply
|
|
6
|
+
phase, gunakan /unify dulu (lebih lengkap) sebelum /vibe-recap.
|
|
3
7
|
---
|
|
4
8
|
|
|
5
|
-
#
|
|
9
|
+
# /vibe-recap — Context Compaction + Reconciliation
|
|
6
10
|
|
|
7
|
-
Gunakan
|
|
11
|
+
Gunakan `/vibe-recap` atau `/recap` ketika:
|
|
12
|
+
- Context window sudah panjang dan AI mulai kehilangan fokus
|
|
13
|
+
- Mau pindah ke chat baru tapi tidak mau kehilangan progres
|
|
14
|
+
- Perlu rangkuman cepat sebelum istirahat/pause
|
|
8
15
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
Untuk **full reconciliation** setelah /apply — gunakan `/unify` (lebih lengkap).
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Langkah 1 — Buat atau Update docs/recap.md
|
|
21
|
+
|
|
22
|
+
Tulis rangkuman komprehensif dari semua yang terjadi di session ini:
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
# Recap — [YYYY-MM-DD] Session [N]
|
|
26
|
+
|
|
27
|
+
## Sedang Dikerjakan
|
|
28
|
+
- Fitur/bug: [apa yang sedang dikerjakan]
|
|
29
|
+
- Phase saat ini: [planning / apply / unify]
|
|
30
|
+
- Task terakhir: [T00X — nama task]
|
|
31
|
+
- Status: [selesai / sedang jalan / blocked]
|
|
32
|
+
|
|
33
|
+
## Keputusan Arsitektur yang Disepakati
|
|
34
|
+
- [Keputusan 1]: [deskripsi] — karena [alasan]
|
|
35
|
+
- [Keputusan 2]: [deskripsi] — karena [alasan]
|
|
36
|
+
|
|
37
|
+
## Files yang Diubah Session Ini
|
|
38
|
+
- [path/file.ts] — [apa yang diubah]
|
|
39
|
+
- [path/file.tsx] — [apa yang diubah]
|
|
40
|
+
|
|
41
|
+
## Masalah yang Ditemukan
|
|
42
|
+
- [Masalah 1]: [status — sudah fix / belum / workaround]
|
|
43
|
+
|
|
44
|
+
## Next Steps (Tertunda)
|
|
45
|
+
- [ ] [Langkah 1]
|
|
46
|
+
- [ ] [Langkah 2]
|
|
47
|
+
- [ ] [Langkah 3]
|
|
48
|
+
|
|
49
|
+
## Context Penting untuk Chat Baru
|
|
50
|
+
- [Info kritis yang mudah terlupakan]
|
|
51
|
+
- [Pattern atau convention yang sedang diikuti]
|
|
52
|
+
- [Dependency atau constraint yang aktif]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Langkah 2 — Update STATE.md (jika belum)
|
|
58
|
+
|
|
59
|
+
Jika `.agent/STATE.md` ada, update dengan position terkini:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
- Current phase: [nama phase]
|
|
63
|
+
- Last task: [T00X]
|
|
64
|
+
- Session closed: [timestamp]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Langkah 3 — Update MEMORY.md (jika ada perubahan)
|
|
70
|
+
|
|
71
|
+
Jika di session ini ada keputusan baru tentang tech stack, warna, schema, atau constraint → update `.agent/MEMORY.md` sebelum pindah chat.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Langkah 4 — Informasikan User
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
✅ Recap berhasil dibuat di docs/recap.md
|
|
79
|
+
|
|
80
|
+
Untuk melanjutkan di chat baru:
|
|
81
|
+
1. Buka chat baru
|
|
82
|
+
2. Ketik: "Baca docs/recap.md dan lanjutkan dari sana"
|
|
83
|
+
3. AI akan restore konteks dan melanjutkan tepat dari titik berhenti
|
|
84
|
+
|
|
85
|
+
[Opsional] Jika mau full reconciliation: /unify dulu sebelum pindah chat.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Catatan
|
|
91
|
+
|
|
92
|
+
- `docs/recap.md` adalah snapshot cepat — untuk reconciliation formal gunakan `/unify`
|
|
93
|
+
- Bisa dijalankan kapanpun, tidak harus setelah /apply selesai
|
|
94
|
+
- Aman dijalankan berulang kali — file akan di-overwrite dengan versi terbaru
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
- Runtime: Node.js 22 LTS, TypeScript strict mode — no `any`
|
|
8
8
|
- Prisma 7: import dari `@/generated/prisma`, BUKAN dari `@prisma/client`
|
|
9
|
+
(Prisma 7 generate ke `@/generated/prisma` karena custom output path di schema.prisma)
|
|
9
10
|
- Next.js 16: `params`, `searchParams`, dan `headers()` selalu di-`await`
|
|
10
11
|
- BullMQ: gunakan konstanta dari `QUEUES` object, jangan string literal
|
|
11
12
|
|
|
@@ -31,17 +32,19 @@ const token = (await headers()).get('x-callback-token')
|
|
|
31
32
|
- `findMany` wajib ada `take` + `skip` — jangan query tanpa limit
|
|
32
33
|
- Soft delete: gunakan `deletedAt DateTime?` — jangan hard delete data penting
|
|
33
34
|
|
|
34
|
-
## Keamanan & privasi (UU PDP)
|
|
35
|
+
## Keamanan & privasi (UU PDP No. 27/2022)
|
|
35
36
|
|
|
37
|
+
UU PDP adalah Undang-Undang Perlindungan Data Pribadi Indonesia — wajib dipatuhi:
|
|
36
38
|
- Secrets dan API keys hanya di env vars — TIDAK PERNAH di kode
|
|
37
|
-
- Log tidak boleh print password, token, NIK, nomor rekening
|
|
38
|
-
- Data sensitif (NIK, rekening) disimpan terenkripsi dengan pgcrypto
|
|
39
|
+
- Log tidak boleh print password, token, NIK (Nomor Induk Kependudukan), nomor rekening
|
|
40
|
+
- Data sensitif (NIK, rekening bank) disimpan terenkripsi dengan pgcrypto
|
|
41
|
+
- User harus bisa hapus akun dan download data pribadi mereka (REQ wajib di PRD)
|
|
39
42
|
- Firebase: hanya gunakan `firebase_messaging` — JANGAN aktifkan Analytics/Crashlytics
|
|
40
43
|
|
|
41
44
|
## Sebelum coding (Human-in-the-Loop)
|
|
42
45
|
|
|
43
|
-
- **WAJIB Validasi:** JANGAN langsung menulis file
|
|
44
|
-
- Cek komponen
|
|
46
|
+
- **WAJIB Validasi:** JANGAN langsung menulis file panjang secara agresif. Buat Implementation Plan singkat di chat, MINTA USER mengetik "Lanjut/Approve" sebelum edit/buat file.
|
|
47
|
+
- Cek komponen di `/components/ui/` sebelum buat baru
|
|
45
48
|
- Untuk fitur size M atau L: cek apakah ada spec di `specs/` dulu
|
|
46
49
|
- Satu fokus per sesi — jangan ubah hal di luar scope yang diminta
|
|
47
50
|
- Konfirmasi sebelum hapus atau refactor kode yang sudah ada
|
|
@@ -52,34 +55,79 @@ const token = (await headers()).get('x-callback-token')
|
|
|
52
55
|
- Types: feat, fix, chore, docs, refactor, test
|
|
53
56
|
- Jangan push langsung ke `main` — selalu via Pull Request
|
|
54
57
|
|
|
55
|
-
##
|
|
58
|
+
## PAUL Loop — Execution Protocol (V3.0)
|
|
56
59
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
Gantikan Checkbox Workflow lama dengan PAUL loop:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
/apply → Execute/Qualify per task (ada 4-level artifact check)
|
|
64
|
+
/unify → Mandatory setelah /apply — buat SUMMARY.md planned vs actual
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Task Tracking:** Pecah task ke `docs/task_on_hand.md` dengan format:
|
|
68
|
+
```
|
|
69
|
+
[ ] T001 — nama task
|
|
70
|
+
[ ] T002 — nama task
|
|
71
|
+
```
|
|
72
|
+
Eksekusi SATU PER SATU secara berurutan. Update ke `[x]` setelah selesai.
|
|
73
|
+
|
|
74
|
+
**Escalation Status (gantikan binary ✓/✗):**
|
|
75
|
+
- ✅ DONE — selesai, terverifikasi
|
|
76
|
+
- ⚠️ DONE_WITH_CONCERNS — selesai, ada catatan
|
|
77
|
+
- 🔍 NEEDS_CONTEXT — butuh input user
|
|
78
|
+
- 🚫 BLOCKED — butuh keputusan user
|
|
79
|
+
|
|
80
|
+
**Session Start Protocol:**
|
|
81
|
+
Di awal setiap sesi, baca:
|
|
82
|
+
1. `.agent/STATE.md` — current loop position
|
|
83
|
+
2. `.agent/MEMORY.md` — tech decisions & constraints
|
|
84
|
+
3. `docs/task_on_hand.md` — task yang sedang berjalan
|
|
85
|
+
4. `docs/recap.md` atau `docs/phases/[N]-SUMMARY.md` — context session terakhir
|
|
86
|
+
|
|
87
|
+
**Session End (HANDOFF):**
|
|
88
|
+
Jika sesi harus ditutup sebelum /unify selesai, buat HANDOFF file:
|
|
89
|
+
- Path: `docs/handoffs/HANDOFF-[YYYY-MM-DD].md`
|
|
90
|
+
- Gunakan template dari `.agent/.shared/HANDOFF-template.md`
|
|
91
|
+
|
|
92
|
+
## Troubleshooting — 3L5W Framework (3 Legs, 5 Whys)
|
|
93
|
+
|
|
94
|
+
Jika menemukan ERROR, JANGAN asal fix 1 file lalu lapor selesai.
|
|
95
|
+
Panggil `@systematic-debugging` dan terapkan:
|
|
96
|
+
|
|
97
|
+
1. **Leg 1 — 5 Whys:** Tanya "Kenapa?" 5x untuk temukan root cause struktural
|
|
98
|
+
2. **Leg 2 — Search & Destroy:** Grep seluruh codebase untuk pattern yang sama
|
|
99
|
+
3. **Leg 3 — Global Mitigation + Log:** Fix semua temuan + tambah proteksi (Zod, null checks) + catat RCA di `docs/troubleshooting.md`
|
|
100
|
+
|
|
101
|
+
Setelah fix → verifikasi 4-level: EXISTS → SUBSTANTIVE → WIRED → DATA FLOWS
|
|
102
|
+
|
|
103
|
+
## Template Code
|
|
104
|
+
|
|
105
|
+
Saat membuat komponen/file baru, periksa referensi di `templates/.agent/snippets/`.
|
|
65
106
|
|
|
66
107
|
## Context7
|
|
67
108
|
|
|
68
|
-
|
|
69
|
-
|
|
109
|
+
Saat coding Prisma 7, Next.js 16, Better Auth, BullMQ, Socket.io:
|
|
110
|
+
tambahkan `use context7` di prompt untuk mendapat docs terbaru.
|
|
70
111
|
|
|
71
112
|
## 🧠 Skill Auto-Discovery & The Non-Programmer Shield (WAJIB DIBACA AI)
|
|
72
113
|
|
|
73
|
-
Project ini dibekali
|
|
114
|
+
Project ini dibekali **600+ Elite Skills** di `.agent/skills/`. User TIDAK PERLU menghafal
|
|
115
|
+
skill names. User adalah **Kreator Non-Programmer** yang melakukan *Vibe Coding*.
|
|
116
|
+
|
|
117
|
+
### 1. Auto-Discovery Engine (Concrete Algorithm)
|
|
118
|
+
|
|
119
|
+
Setiap kali mendapat perintah:
|
|
120
|
+
1. Extract keywords dari request (misal: "bikin login Google" → `auth`, `oauth`, `google`)
|
|
121
|
+
2. Search direktori `.agent/skills/` dengan keywords tersebut
|
|
122
|
+
- Exact match dulu: `skills/google-oauth/`, `skills/clerk-auth/`
|
|
123
|
+
- Lalu partial: `skills/auth-*`, `skills/*-auth`
|
|
124
|
+
3. Baca `SKILL.md` di direktori yang match — SEBELUM menulis satu baris kode
|
|
125
|
+
4. Announce: `🤖 Auto-Discovery: Mengaktifkan skill @[nama-skill]...`
|
|
126
|
+
|
|
127
|
+
JANGAN mencari `SKILLS_INDEX.md` — file itu adalah routing mechanism, bukan list statis.
|
|
74
128
|
|
|
75
|
-
###
|
|
76
|
-
Setiap kali mendapat perintah dari user:
|
|
77
|
-
1. Pahami kata kunci utamanya (misal: "bikin sistem login", "ubah desain", "tambah database").
|
|
78
|
-
2. Lakukan pencarian nama direktori di `.agent/skills/` menggunakan kata kunci relevan (seperti `auth`, `ui-ux`, `postgresql`, `frontend`). JANGAN mencari file `SKILLS_INDEX.md` karena file itu usang!
|
|
79
|
-
3. Baca isi file `SKILL.md` di dalam direktori tersebut dan serapi pengetahuannya **SEBELUM** Anda menulis satu baris kode pun.
|
|
129
|
+
### 2. The Non-Programmer Shield
|
|
80
130
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- **
|
|
84
|
-
- **SILENT SELF-HEALING:** Anda wajib menelan error tersebut diam-diam. Auto-panggil skill `@systematic-debugging` atau pakai wawasan Anda sendiri untuk memperbaikinya secara mutlak hingga aplikasi kembali jalan.
|
|
85
|
-
- **VIBE FIRST:** Berikan user tautan tampilan *localhost* atau hasil desain yang memukau. Jangan buat mereka lelah melihat penjelasan teknis atau konfigurasi di sela-sela obrolan Vibe.
|
|
131
|
+
- **NO DUMPING ERRORS:** DILARANG paste stack trace ke user dan tanya "Bagaimana cara fix?"
|
|
132
|
+
- **SILENT SELF-HEALING:** Panggil `@systematic-debugging`, fix sendiri, baru lapor hasilnya
|
|
133
|
+
- **VIBE FIRST:** Berikan user localhost preview atau hasil yang memukau — bukan config errors
|