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,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Satu command untuk graduate PLANNING.md + langsung init STATE.md dan MEMORY.md.
|
|
4
|
+
Eliminasi friction antara planning dan execution — tidak perlu tanya ulang apa
|
|
5
|
+
yang sudah dijawab di /vibe-plan. Gunakan ini sebagai shortcut dari
|
|
6
|
+
/graduate → /apply setup untuk project yang sudah planning-complete.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /launch — Graduate + Init Sekaligus
|
|
10
|
+
|
|
11
|
+
One command yang menggabungkan `/graduate` + inisialisasi PAUL state files.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Fase 1 — Graduate
|
|
16
|
+
|
|
17
|
+
Eksekusi penuh workflow `/graduate` termasuk:
|
|
18
|
+
- Quality gate validation
|
|
19
|
+
- README synthesis + user approval
|
|
20
|
+
- App directory creation + git init
|
|
21
|
+
- Tracking update
|
|
22
|
+
|
|
23
|
+
*Jika graduate gagal (quality fail) → stop di sini, jangan lanjut ke Fase 2.*
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Fase 2 — Confirm PAUL Init
|
|
28
|
+
|
|
29
|
+
Setelah graduate berhasil, tanya user:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
✅ Project di-graduate ke apps/[nama-project]/
|
|
33
|
+
|
|
34
|
+
Inisialisasi STATE.md dan MEMORY.md sekarang untuk managed build?
|
|
35
|
+
(Ini membaca PLANNING.md dan mengisi state files tanpa tanya ulang)
|
|
36
|
+
|
|
37
|
+
[Y/n]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Jika **N** → berikan instruksi manual:
|
|
41
|
+
```
|
|
42
|
+
Untuk init manual nanti:
|
|
43
|
+
→ Buka apps/[nama-project]/
|
|
44
|
+
→ Jalankan /apply lalu /unify untuk mulai build
|
|
45
|
+
→ State files akan dibuat otomatis saat pertama kali /apply dijalankan
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Fase 3 — Headless State Init
|
|
51
|
+
|
|
52
|
+
Baca PLANNING.md dan README (hasil synthesis) untuk derive:
|
|
53
|
+
- Project type + rigor level
|
|
54
|
+
- Tech stack decisions
|
|
55
|
+
- Phase breakdown
|
|
56
|
+
- Constraints dan anti-patterns
|
|
57
|
+
|
|
58
|
+
**Populate `.agent/STATE.md`:**
|
|
59
|
+
```markdown
|
|
60
|
+
## Current Position
|
|
61
|
+
- Phase: planning (complete)
|
|
62
|
+
- Active plan: (none yet — run /apply to start)
|
|
63
|
+
- Next task: T001 dari phase pertama
|
|
64
|
+
|
|
65
|
+
## Project Overview
|
|
66
|
+
- Name: [dari PLANNING.md]
|
|
67
|
+
- Type: [Application/API/Campaign/Utility/Workflow]
|
|
68
|
+
- Current milestone: Milestone 1 — [nama dari phase breakdown]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Populate `.agent/MEMORY.md`:**
|
|
72
|
+
```markdown
|
|
73
|
+
## Tech Stack
|
|
74
|
+
[Dari PLANNING.md — tech decisions yang sudah dikonfirmasi]
|
|
75
|
+
|
|
76
|
+
## Constraints
|
|
77
|
+
[Dari PLANNING.md — constraints dan batasan]
|
|
78
|
+
|
|
79
|
+
## Anti-patterns
|
|
80
|
+
[Dari type config — anti-patterns untuk project type ini]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Fase 4 — Approval Gate
|
|
86
|
+
|
|
87
|
+
Tampilkan proposed structure ke user:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
📋 Proposed Build Structure — [Nama Project]
|
|
91
|
+
|
|
92
|
+
Phase 1: [nama] → [goal]
|
|
93
|
+
Task T001: [task pertama dari PLANNING.md]
|
|
94
|
+
Task T002: [task kedua]
|
|
95
|
+
|
|
96
|
+
Phase 2: [nama] → [goal]
|
|
97
|
+
...
|
|
98
|
+
|
|
99
|
+
MEMORY.md initialized dengan:
|
|
100
|
+
Framework: [stack]
|
|
101
|
+
Database: [database]
|
|
102
|
+
Constraints: [list singkat]
|
|
103
|
+
|
|
104
|
+
Approve untuk mulai? (Y/n)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Jika **N** → "Tidak ada masalah. State files tetap tersimpan. Edit manual di `.agent/MEMORY.md` atau `.agent/STATE.md`, lalu jalankan `/apply` kapanpun siap."
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Fase 5 — Closing
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
🚀 [Nama Project] siap untuk build!
|
|
115
|
+
|
|
116
|
+
Files initialized:
|
|
117
|
+
✅ apps/[nama-project]/README.md
|
|
118
|
+
✅ apps/[nama-project]/PLANNING.md
|
|
119
|
+
✅ .agent/STATE.md
|
|
120
|
+
✅ .agent/MEMORY.md
|
|
121
|
+
|
|
122
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
123
|
+
Mulai coding:
|
|
124
|
+
/apply → eksekusi task pertama dari PLANNING.md
|
|
125
|
+
/progress → lihat full plan dan next action
|
|
126
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
127
|
+
```
|
|
@@ -1,32 +1,30 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: |
|
|
3
|
+
Tambahkan fitur baru ke project yang sudah berjalan.
|
|
4
|
+
Untuk project yang belum ada, gunakan /vibe-plan dulu.
|
|
5
|
+
Output: deskripsi fitur yang jelas + siap untuk /apply.
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
1. Tanya user: "
|
|
8
|
+
1. Tanya user: "Fitur apa yang ingin ditambahkan? Ceritakan tujuannya."
|
|
6
9
|
|
|
7
|
-
2. **
|
|
8
|
-
|
|
10
|
+
2. **Tentukan besarnya fitur (internal):**
|
|
11
|
+
- **Kecil** (1 file) → langsung kerjakan, tidak perlu deskripsi panjang
|
|
12
|
+
- **Sedang** (2–5 file) → buat deskripsi fitur, minta persetujuan, baru kerjakan
|
|
13
|
+
- **Besar** (6+ file atau belum jelas) → sarankan pecah jadi 2 fitur terpisah:
|
|
14
|
+
> "Fitur ini cukup besar. Lebih baik kita bagi: [bagian A] dulu, baru [bagian B]. Setuju?"
|
|
9
15
|
|
|
10
|
-
3.
|
|
11
|
-
|
|
16
|
+
3. **Buat deskripsi fitur (untuk fitur Sedang dan Besar):**
|
|
17
|
+
Cek apakah sudah ada deskripsi di `specs/` untuk fitur ini.
|
|
18
|
+
Jika belum, buat `[nomor]-[nama-fitur].md` yang berisi:
|
|
19
|
+
- Apa yang fitur ini lakukan (dari sudut pandang user)
|
|
20
|
+
- Bagaimana tampilannya: kondisi normal, loading, berhasil, error
|
|
21
|
+
- File mana yang tidak boleh diubah
|
|
12
22
|
|
|
13
|
-
4.
|
|
14
|
-
|
|
15
|
-
`git checkout main && git pull origin main`
|
|
23
|
+
4. Tunjukkan deskripsi ke user, minta konfirmasi:
|
|
24
|
+
> "Ini rencana fiturnya. Sudah sesuai? Kalau iya, kita mulai."
|
|
16
25
|
|
|
17
|
-
5.
|
|
18
|
-
// turbo
|
|
19
|
-
`git checkout -b feat/[nama-fitur-singkat]`
|
|
26
|
+
5. Setelah user setuju → jalankan `/apply`.
|
|
20
27
|
|
|
21
|
-
6.
|
|
22
|
-
"Spec sudah siap. Review dan konfirmasi untuk mulai implementasi."
|
|
28
|
+
6. Setelah `/apply` selesai → jalankan `/unify` untuk merangkum sesi.
|
|
23
29
|
|
|
24
|
-
7. Setelah
|
|
25
|
-
Hanya ubah file yang tercantum di bagian "File yang Akan Diubah" di spec.
|
|
26
|
-
|
|
27
|
-
8. Saat implementasi selesai, jalankan type check:
|
|
28
|
-
// turbo
|
|
29
|
-
`npm run type-check`
|
|
30
|
-
|
|
31
|
-
9. Jika tidak ada error TypeScript, commit dengan pesan yang sesuai:
|
|
32
|
-
`git add -A && git commit -m "feat([scope]): [deskripsi singkat]"`
|
|
30
|
+
7. Setelah unify → simpan perubahan ke git.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Buat HANDOFF.md dan update STATE.md sebelum menutup session.
|
|
4
|
+
Gunakan sebelum mengakhiri sesi kerja, saat context window hampir penuh,
|
|
5
|
+
atau saat harus switch ke task lain. Berbeda dari /vibe-recap yang hanya
|
|
6
|
+
kompaksi context — /pause membuat formal handoff dengan exact resume point.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /pause — Create Session Handoff
|
|
10
|
+
|
|
11
|
+
Buat HANDOFF-{tanggal}.md yang cukup detail sehingga session berikutnya
|
|
12
|
+
bisa resume tepat dari titik berhenti — tanpa tanya ulang apapun.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Langkah 1 — Deteksi Current Position
|
|
17
|
+
|
|
18
|
+
Baca `.agent/STATE.md` untuk tahu:
|
|
19
|
+
- Phase apa yang sedang dikerjakan
|
|
20
|
+
- Task mana yang sedang jalan
|
|
21
|
+
- Loop status: sudah apply tapi belum unify?
|
|
22
|
+
|
|
23
|
+
Tanya user jika diperlukan: "Ada yang sedang dikerjakan yang perlu dicatat sebelum pause?"
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Langkah 2 — Buat HANDOFF File
|
|
28
|
+
|
|
29
|
+
Path: `docs/handoffs/HANDOFF-[YYYY-MM-DD-HHMM].md`
|
|
30
|
+
|
|
31
|
+
Gunakan template dari `.agent/.shared/HANDOFF-template.md` dan isi dengan:
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# HANDOFF — [YYYY-MM-DD HH:MM]
|
|
35
|
+
|
|
36
|
+
## Status Saat Ditutup
|
|
37
|
+
- Closed at: [timestamp]
|
|
38
|
+
- Reason: [pause / context-limit / interrupt / end-of-day]
|
|
39
|
+
- Loop status: [open — belum unify / closed — sudah unify]
|
|
40
|
+
|
|
41
|
+
## Yang Sedang Dikerjakan
|
|
42
|
+
- Active plan: [path ke PLAN.md atau task description]
|
|
43
|
+
- Current task: [T00X — deskripsi task]
|
|
44
|
+
- Progress: [sudah berapa yang selesai dari total]
|
|
45
|
+
|
|
46
|
+
[Checklist task dengan status aktual]
|
|
47
|
+
[✓] T001 — [nama]
|
|
48
|
+
[✓] T002 — [nama]
|
|
49
|
+
[~] T003 — [nama] (in progress — sudah selesai bagian A, belum bagian B)
|
|
50
|
+
[ ] T004 — [nama]
|
|
51
|
+
|
|
52
|
+
## Yang Sudah Selesai Session Ini
|
|
53
|
+
- [perubahan 1] — [file yang diubah]
|
|
54
|
+
- [perubahan 2] — [file yang diubah]
|
|
55
|
+
- [keputusan yang dibuat]
|
|
56
|
+
|
|
57
|
+
## Masalah yang Diketahui
|
|
58
|
+
- [issue 1] — severity: [Low/Medium/High]
|
|
59
|
+
|
|
60
|
+
## Exact Resume Point
|
|
61
|
+
1. Buka [path ke file yang sedang dikerjakan]
|
|
62
|
+
2. Lanjutkan dari: [titik exact — fungsi/komponen/baris mana]
|
|
63
|
+
3. Setelah itu: [T00X berikutnya]
|
|
64
|
+
4. Jangan lupa: [hal penting yang mudah terlupakan]
|
|
65
|
+
|
|
66
|
+
## Context Penting
|
|
67
|
+
- [constraint atau keputusan yang sedang aktif]
|
|
68
|
+
- [pattern yang sedang diikuti]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Langkah 3 — Update STATE.md
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## Current Position
|
|
77
|
+
- Phase: [nama] (paused)
|
|
78
|
+
- Last handoff: docs/handoffs/HANDOFF-[timestamp].md
|
|
79
|
+
- Resume: run /resume untuk restore context
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Langkah 4 — Optional WIP Commit
|
|
85
|
+
|
|
86
|
+
Tanya user: "Mau commit WIP sekarang sebelum pause?"
|
|
87
|
+
|
|
88
|
+
Jika ya:
|
|
89
|
+
```bash
|
|
90
|
+
git add [files yang dimodifikasi]
|
|
91
|
+
git commit -m "wip([scope]): pause — [deskripsi singkat progress]"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Langkah 5 — Closing
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
⏸️ Session di-pause dengan benar.
|
|
100
|
+
|
|
101
|
+
HANDOFF dibuat: docs/handoffs/HANDOFF-[timestamp].md
|
|
102
|
+
STATE.md: updated
|
|
103
|
+
|
|
104
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
105
|
+
Untuk resume di session berikutnya:
|
|
106
|
+
/resume → restore context otomatis
|
|
107
|
+
atau ketik: "Baca docs/handoffs/HANDOFF-[timestamp].md dan lanjutkan"
|
|
108
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Aturan
|
|
114
|
+
|
|
115
|
+
- HANDOFF harus cukup detail untuk zero-context resumption
|
|
116
|
+
- Tidak ada placeholder yang dibiarkan kosong — isi semuanya
|
|
117
|
+
- Satu HANDOFF per session pause (jangan overwrite yang lama)
|
|
118
|
+
- Jika loop masih open (apply belum unify) → catat eksplisit di status
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Read-only view dari semua project di ideation pipeline.
|
|
4
|
+
Scan PLANNING.md files, kategorikan status (in-progress/ready/graduated).
|
|
5
|
+
Gunakan untuk review semua project aktif, pilih mana yang dikerjakan selanjutnya,
|
|
6
|
+
atau konfirmasi apakah project sudah di-graduate.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /pipeline — Project Ideation Pipeline View
|
|
10
|
+
|
|
11
|
+
Read-only tool. Tidak membuat atau mengubah file apapun.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Langkah 1 — Scan Directories
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Scan:
|
|
19
|
+
projects/*/PLANNING.md → ideation pipeline
|
|
20
|
+
apps/*/ → graduated projects
|
|
21
|
+
.agent/ACTIVE.md → tracking metadata (jika ada)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Langkah 2 — Kategorikan Status
|
|
27
|
+
|
|
28
|
+
Per project, tentukan status:
|
|
29
|
+
|
|
30
|
+
| Status | Kriteria |
|
|
31
|
+
|--------|----------|
|
|
32
|
+
| **In Progress** | PLANNING.md ada tapi belum complete (ada placeholder/TBD) |
|
|
33
|
+
| **Ready to Graduate** | PLANNING.md ada, quality gate pass, belum ada di apps/ |
|
|
34
|
+
| **Graduated** | Ada di apps/ directory, git initialized |
|
|
35
|
+
| **Active Build** | Graduated + `.agent/STATE.md` ada dan loop belum closed |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Langkah 3 — Display Pipeline
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
📊 Project Pipeline — [tanggal]
|
|
43
|
+
|
|
44
|
+
┌─────────────────────────────────────────────────────┐
|
|
45
|
+
│ IN PROGRESS (ideation belum selesai) │
|
|
46
|
+
├─────────────────────────────────────────────────────┤
|
|
47
|
+
│ • [nama-project-1] (Application) — [tanggal buat] │
|
|
48
|
+
│ Missing: Phase Breakdown, Tech Stack │
|
|
49
|
+
│ → /vibe-plan untuk lanjut │
|
|
50
|
+
└─────────────────────────────────────────────────────┘
|
|
51
|
+
|
|
52
|
+
┌─────────────────────────────────────────────────────┐
|
|
53
|
+
│ READY TO GRADUATE ✅ │
|
|
54
|
+
├─────────────────────────────────────────────────────┤
|
|
55
|
+
│ • [nama-project-2] (Utility) — [tanggal buat] │
|
|
56
|
+
│ Quality: Pass │
|
|
57
|
+
│ → /graduate [nama-project-2] │
|
|
58
|
+
└─────────────────────────────────────────────────────┘
|
|
59
|
+
|
|
60
|
+
┌─────────────────────────────────────────────────────┐
|
|
61
|
+
│ ACTIVE BUILD 🔨 │
|
|
62
|
+
├─────────────────────────────────────────────────────┤
|
|
63
|
+
│ • [nama-project-3] (API/Backend) — Phase 2/4 │
|
|
64
|
+
│ Loop: APPLY (in progress) │
|
|
65
|
+
│ → /progress untuk next action │
|
|
66
|
+
└─────────────────────────────────────────────────────┘
|
|
67
|
+
|
|
68
|
+
┌─────────────────────────────────────────────────────┐
|
|
69
|
+
│ GRADUATED (siap tapi belum mulai build) │
|
|
70
|
+
├─────────────────────────────────────────────────────┤
|
|
71
|
+
│ • [nama-project-4] (Campaign) — [tanggal graduate] │
|
|
72
|
+
│ → /launch [nama-project-4] untuk init build │
|
|
73
|
+
└─────────────────────────────────────────────────────┘
|
|
74
|
+
|
|
75
|
+
Summary: [N] in progress, [N] ready, [N] active, [N] graduated
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Jika Pipeline Kosong
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Pipeline kosong. Belum ada project yang sedang berjalan.
|
|
84
|
+
|
|
85
|
+
Mulai project baru:
|
|
86
|
+
/vibe-plan → mulai ideation dari ide
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Aturan
|
|
92
|
+
|
|
93
|
+
- Ini adalah **read-only** — tidak ada file yang dibuat atau diubah
|
|
94
|
+
- Selalu tampilkan suggested next action per project
|
|
95
|
+
- Jika ACTIVE.md tidak ada → derive status dari filesystem saja
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Tampilkan progress visual project + suggest SATU next action.
|
|
4
|
+
Mencegah decision fatigue — tidak pernah menampilkan multiple options.
|
|
5
|
+
Gunakan kapanpun ingin tahu "harus ngapain sekarang?" atau untuk check-in
|
|
6
|
+
di tengah sesi, setelah /resume, atau sebelum mulai session baru.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /progress — Smart Progress View + Single Next Action
|
|
10
|
+
|
|
11
|
+
Baca STATE.md dan PLANNING.md, tampilkan progress visual, suggest satu langkah selanjutnya.
|
|
12
|
+
Tidak pernah lebih dari satu suggestion — itu intentional untuk cegah kebingungan.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Langkah 1 — Load State
|
|
17
|
+
|
|
18
|
+
Baca:
|
|
19
|
+
- `.agent/STATE.md` — current loop position
|
|
20
|
+
- `.agent/MEMORY.md` — tech context
|
|
21
|
+
- `PLANNING.md` atau `docs/phases/` — phase progress
|
|
22
|
+
- `docs/task_on_hand.md` — active task checklist (jika ada)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Langkah 2 — Hitung Progress
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Milestone progress:
|
|
30
|
+
Phases complete: X dari Y
|
|
31
|
+
Current phase: [nama] — Z% selesai
|
|
32
|
+
|
|
33
|
+
Current loop position:
|
|
34
|
+
PLAN → APPLY → UNIFY
|
|
35
|
+
[✓] [✓] [○] ← contoh: sudah apply, belum unify
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Langkah 3 — Routing Table (Suggest SATU Action)
|
|
41
|
+
|
|
42
|
+
| Situasi | Single Suggestion |
|
|
43
|
+
|---------|------------------|
|
|
44
|
+
| Tidak ada PLANNING.md | `/vibe-plan` |
|
|
45
|
+
| PLANNING.md ada, belum di-graduate | `/graduate [nama]` |
|
|
46
|
+
| Graduated, STATE.md belum ada | `/launch [nama]` |
|
|
47
|
+
| Plan belum ada untuk phase ini | `/vibe-plan` atau `/new-feature` |
|
|
48
|
+
| Plan ada, belum di-apply | `/apply` |
|
|
49
|
+
| Apply selesai, belum unify | `/unify` |
|
|
50
|
+
| Loop closed, ada phase berikutnya | `/apply` (phase berikutnya) |
|
|
51
|
+
| Semua phase done | "Siap deploy — jalankan `/deploy`" |
|
|
52
|
+
| Ada task BLOCKED | "Resolve blocker: [deskripsi spesifik]" |
|
|
53
|
+
| Context window penuh | `/vibe-recap` |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Langkah 4 — Display
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
════════════════════════════════════════
|
|
61
|
+
PROGRESS — [Nama Project]
|
|
62
|
+
════════════════════════════════════════
|
|
63
|
+
|
|
64
|
+
Milestone: [nama] — [X]% complete
|
|
65
|
+
├── Phase 1: [nama] ████████████ Done
|
|
66
|
+
├── Phase 2: [nama] ████████░░░░ 70%
|
|
67
|
+
│ └── T001 ✅ T002 ✅ T003 🔄 T004 ⏳
|
|
68
|
+
├── Phase 3: [nama] ░░░░░░░░░░░░ Pending
|
|
69
|
+
└── Phase 4: [nama] ░░░░░░░░░░░░ Pending
|
|
70
|
+
|
|
71
|
+
Current Loop: Phase 2
|
|
72
|
+
┌─────────────────────────────────────┐
|
|
73
|
+
│ PLAN ──▶ APPLY ──▶ UNIFY │
|
|
74
|
+
│ ✓ ✓ ○ │
|
|
75
|
+
└─────────────────────────────────────┘
|
|
76
|
+
|
|
77
|
+
────────────────────────────────────────
|
|
78
|
+
▶ NEXT: /unify
|
|
79
|
+
Close the loop dan dokumenkan phase 2.
|
|
80
|
+
────────────────────────────────────────
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Jika Ada Context Advisory
|
|
86
|
+
|
|
87
|
+
Jika STATE.md menunjukkan session sudah panjang atau /vibe-recap belum dijalankan lama:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
⚠️ Context Advisory:
|
|
91
|
+
Session sudah cukup panjang. Pertimbangkan /vibe-recap
|
|
92
|
+
sebelum melanjutkan agar konteks tetap segar.
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Aturan
|
|
98
|
+
|
|
99
|
+
- **Selalu suggest tepat SATU action** — tidak pernah "bisa A atau B atau C"
|
|
100
|
+
- Jika user provide context ("saya cuma punya 30 menit"), sesuaikan suggestion:
|
|
101
|
+
- Waktu terbatas → suggest task terkecil yang bisa di-close
|
|
102
|
+
- Ada bug urgent → prioritaskan itu dulu sebelum planned work
|
|
103
|
+
- Read-only — tidak mengubah file apapun
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Restore context dari HANDOFF.md setelah session break.
|
|
4
|
+
Merge handoff dengan STATE.md terkini, lalu suggest SATU next action.
|
|
5
|
+
Gunakan di awal session setelah /pause, atau ketik "resume" untuk trigger otomatis.
|
|
6
|
+
Selalu suggest satu action saja — tidak pernah overwhelm user dengan pilihan.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /resume — Restore Session Context
|
|
10
|
+
|
|
11
|
+
Baca HANDOFF file terbaru, merge dengan state saat ini, dan langsung tunjukkan
|
|
12
|
+
satu langkah yang harus dikerjakan — tanpa decision fatigue.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Langkah 1 — Temukan HANDOFF File
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Cek argument: /resume [path-ke-handoff]
|
|
20
|
+
|
|
21
|
+
Jika tidak ada argument:
|
|
22
|
+
→ Scan docs/handoffs/ untuk file terbaru
|
|
23
|
+
→ Pilih HANDOFF-*.md dengan timestamp terbaru
|
|
24
|
+
→ Jika tidak ada → cek docs/recap.md sebagai fallback
|
|
25
|
+
→ Jika tidak ada keduanya → "Tidak ada handoff ditemukan. Gunakan /progress untuk check state."
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Langkah 2 — Load dan Merge Context
|
|
31
|
+
|
|
32
|
+
Baca secara berurutan:
|
|
33
|
+
1. `docs/handoffs/HANDOFF-[latest].md` — context dari session terakhir
|
|
34
|
+
2. `.agent/STATE.md` — posisi loop saat ini
|
|
35
|
+
3. `.agent/MEMORY.md` — tech decisions yang aktif
|
|
36
|
+
|
|
37
|
+
Merge untuk deteksi:
|
|
38
|
+
- Apakah ada perubahan STATE.md sejak HANDOFF dibuat?
|
|
39
|
+
- Apakah loop sudah di-close oleh session lain?
|
|
40
|
+
- Apakah ada task baru yang ditambahkan?
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Langkah 3 — Display Context Restoration
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
🔄 Context Restored — [Nama Project]
|
|
48
|
+
|
|
49
|
+
Session terakhir: [YYYY-MM-DD HH:MM]
|
|
50
|
+
Loop status saat pause: [open/closed]
|
|
51
|
+
|
|
52
|
+
Yang sudah selesai:
|
|
53
|
+
✅ [task yang sudah done dari HANDOFF]
|
|
54
|
+
✅ [task yang sudah done dari HANDOFF]
|
|
55
|
+
|
|
56
|
+
Yang belum selesai:
|
|
57
|
+
🔄 [task yang in-progress saat pause]
|
|
58
|
+
⏳ [task yang belum dimulai]
|
|
59
|
+
|
|
60
|
+
Tech context aktif:
|
|
61
|
+
Framework: [dari MEMORY.md]
|
|
62
|
+
Constraint penting: [dari MEMORY.md]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Langkah 4 — Single Next Action
|
|
68
|
+
|
|
69
|
+
Suggest tepat SATU action berdasarkan loop position:
|
|
70
|
+
|
|
71
|
+
| Loop State | Single Suggestion |
|
|
72
|
+
|-----------|-------------------|
|
|
73
|
+
| Apply belum selesai, task in-progress | Lanjutkan T00X dari exact resume point |
|
|
74
|
+
| Apply selesai, belum unify | `/unify` — close loop dulu |
|
|
75
|
+
| Loop closed, phase berikutnya ada | `/apply` untuk phase berikutnya |
|
|
76
|
+
| BLOCKED dari session lalu | "Resolve blocker: [deskripsi]" |
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
────────────────────────────────────────
|
|
80
|
+
▶ NEXT: [satu action yang disarankan]
|
|
81
|
+
[1 kalimat penjelasan mengapa ini yang pertama]
|
|
82
|
+
────────────────────────────────────────
|
|
83
|
+
|
|
84
|
+
Ketik "lanjut" atau jalankan command di atas untuk mulai.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Langkah 5 — Archive HANDOFF
|
|
90
|
+
|
|
91
|
+
Setelah user konfirmasi resume, pindahkan HANDOFF ke folder archive:
|
|
92
|
+
```
|
|
93
|
+
docs/handoffs/archive/HANDOFF-[timestamp].md
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
*Jika user belum konfirmasi → biarkan HANDOFF di tempat sampai mereka proceed.*
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Aturan
|
|
101
|
+
|
|
102
|
+
- **Satu next action** — tidak pernah "bisa pilih A atau B"
|
|
103
|
+
- Jika ada conflict antara HANDOFF dan STATE.md → percaya STATE.md (lebih baru)
|
|
104
|
+
- Jangan overwhelm dengan recap panjang — cukup yang essential
|
|
105
|
+
- Jika context sangat stale (>7 hari) → tambahkan note: "Session cukup lama. Pertimbangkan `/vibe-recap` untuk refresh full context."
|