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.
Files changed (45) hide show
  1. package/README.md +78 -29
  2. package/package.json +2 -2
  3. package/templates/.agent/.shared/ACTIVE-template.md +44 -0
  4. package/templates/.agent/.shared/HANDOFF-template.md +75 -0
  5. package/templates/.agent/.shared/MEMORY-schema.md +117 -0
  6. package/templates/.agent/.shared/STATE-template.md +59 -0
  7. package/templates/.agent/.shared/checklists/planning-quality.md +69 -0
  8. package/templates/.agent/.shared/types/api-backend/config.md +25 -0
  9. package/templates/.agent/.shared/types/api-backend/guide.md +41 -0
  10. package/templates/.agent/.shared/types/api-backend/skill-loadout.md +16 -0
  11. package/templates/.agent/.shared/types/application/config.md +27 -0
  12. package/templates/.agent/.shared/types/application/guide.md +51 -0
  13. package/templates/.agent/.shared/types/application/skill-loadout.md +39 -0
  14. package/templates/.agent/.shared/types/campaign/config.md +24 -0
  15. package/templates/.agent/.shared/types/campaign/guide.md +36 -0
  16. package/templates/.agent/.shared/types/campaign/skill-loadout.md +12 -0
  17. package/templates/.agent/.shared/types/utility/config.md +24 -0
  18. package/templates/.agent/.shared/types/utility/guide.md +31 -0
  19. package/templates/.agent/.shared/types/utility/skill-loadout.md +10 -0
  20. package/templates/.agent/.shared/types/workflow/config.md +25 -0
  21. package/templates/.agent/.shared/types/workflow/guide.md +41 -0
  22. package/templates/.agent/.shared/types/workflow/skill-loadout.md +13 -0
  23. package/templates/.agent/SKILLS_INDEX.md +68 -7
  24. package/templates/.agent/agents/backend-specialist.md +12 -0
  25. package/templates/.agent/agents/database-architect.md +11 -0
  26. package/templates/.agent/agents/frontend-specialist.md +12 -0
  27. package/templates/.agent/agents/mobile-developer.md +11 -0
  28. package/templates/.agent/agents/penetration-tester.md +13 -0
  29. package/templates/.agent/agents/test-engineer.md +10 -0
  30. package/templates/.agent/rules/GEMINI.md +292 -183
  31. package/templates/.agent/skills/systematic-debugging/SKILL.md +202 -0
  32. package/templates/.agent/skills/vibe-prd/SKILL.md +48 -6
  33. package/templates/.agent/workflows/add-type.md +133 -0
  34. package/templates/.agent/workflows/apply.md +95 -0
  35. package/templates/.agent/workflows/graduate.md +150 -0
  36. package/templates/.agent/workflows/launch.md +127 -0
  37. package/templates/.agent/workflows/new-feature.md +21 -23
  38. package/templates/.agent/workflows/pause.md +118 -0
  39. package/templates/.agent/workflows/pipeline.md +95 -0
  40. package/templates/.agent/workflows/progress.md +103 -0
  41. package/templates/.agent/workflows/resume.md +105 -0
  42. package/templates/.agent/workflows/unify.md +126 -0
  43. package/templates/.agent/workflows/vibe-plan.md +135 -72
  44. package/templates/.agent/workflows/vibe-recap.md +89 -12
  45. 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: Mulai fitur baru dengan benar — buat spec, branch Git, dan siapkan context untuk agent. Gunakan sebelum coding fitur size M atau L.
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: "Nama fitur ini apa? Deskripsi singkat tujuannya?"
8
+ 1. Tanya user: "Fitur apa yang ingin ditambahkan? Ceritakan tujuannya."
6
9
 
7
- 2. **Wajib BDD Spec:** Cek apakah sudah ada spec di folder `specs/` untuk fitur ini.
8
- Jika belum ada, **PANGGIL SKILL `feature-spec-writer`** sekarang juga untuk membuat spec baru dengan format `NNN-nama-fitur.md`. Pastikan spec mencakup *Acceptance Criteria (Given-When-Then), 4 UI States, dan Data Contract JSON* sebelum lanjut coding!
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. Tanya user: "Fitur ini terkait REQ ID berapa dari PRD? (contoh: REQ-020)"
11
- Tambahkan referensi REQ ID ke spec.
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. Pastikan branch `main` up-to-date:
14
- // turbo
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. Buat feature branch baru:
18
- // turbo
19
- `git checkout -b feat/[nama-fitur-singkat]`
26
+ 5. Setelah user setuju → jalankan `/apply`.
20
27
 
21
- 6. Tampilkan isi spec yang baru dibuat ke user dan minta approval:
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 user approve, mulai implementasi sesuai acceptance criteria di spec.
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."