create-vasvibe 2.4.0 → 2.5.1
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 +170 -167
- package/bin/cli.mjs +9 -9
- package/package.json +45 -45
- package/src/git.mjs +47 -47
- package/src/index.mjs +228 -228
- package/src/prompts.mjs +113 -113
- package/src/scaffold.mjs +74 -74
- package/src/upgrade.mjs +121 -121
- package/src/utils.mjs +91 -91
- package/template/.agents/agents/analyst/agent.json +43 -43
- package/template/.agents/agents/backend/agent.json +44 -44
- package/template/.agents/agents/data-architect/agent.json +43 -43
- package/template/.agents/agents/devops/agent.json +44 -44
- package/template/.agents/agents/discovery/agent.json +43 -43
- package/template/.agents/agents/document/agent.json +43 -43
- package/template/.agents/agents/explorer/agent.json +43 -43
- package/template/.agents/agents/fixer/agent.json +44 -44
- package/template/.agents/agents/frontend/agent.json +44 -44
- package/template/.agents/agents/fullstack/agent.json +44 -44
- package/template/.agents/agents/initiator/agent.json +41 -41
- package/template/.agents/agents/logger/agent.json +43 -43
- package/template/.agents/agents/manual-tester/agent.json +44 -0
- package/template/.agents/agents/orchestrator/agent.json +44 -44
- package/template/.agents/agents/pm/agent.json +42 -42
- package/template/.agents/agents/qa/agent.json +44 -44
- package/template/.agents/agents/reliability/agent.json +44 -44
- package/template/.agents/agents/security/agent.json +44 -44
- package/template/.agents/agents/sysarch/agent.json +44 -44
- package/template/.agents/agents/tester/agent.json +44 -44
- package/template/.agents/agents/toolsmith/agent.json +44 -44
- package/template/.agents/agents/ux-designer/agent.json +43 -43
- package/template/.agents/skills/find-skills/SKILL.md +142 -142
- package/template/.agents/skills/fullstack/SKILL.md +89 -89
- package/template/.agents/skills/penetration-testing/SKILL.md +94 -94
- package/template/.agents/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
- package/template/.agents/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
- package/template/.agents/skills/penetration-testing/scripts/security-checklist.sh +30 -30
- package/template/.agents/skills/pm/SKILL.md +170 -170
- package/template/.agents/skills/ui-ux-pro-max/SKILL.md +658 -658
- package/template/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
- package/template/.agents/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
- package/template/.agents/skills/ui-ux-pro-max/data/design.csv +1775 -1775
- package/template/.agents/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
- package/template/.agents/skills/ui-ux-pro-max/data/icons.csv +105 -105
- package/template/.agents/skills/ui-ux-pro-max/data/products.csv +162 -162
- package/template/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/template/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -74
- package/template/.agents/skills/ui-ux-pro-max/scripts/core.py +262 -262
- package/template/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
- package/template/.agents/workflows/build-feature.md +21 -21
- package/template/.agents/workflows/build-prototype.md +32 -32
- package/template/.agents/workflows/daily-standup.md +16 -16
- package/template/.agents/workflows/deliver-feature.md +16 -16
- package/template/.agents/workflows/explorer.md +78 -78
- package/template/.agents/workflows/harden-release.md +21 -21
- package/template/.agents/workflows/logger.md +117 -117
- package/template/.agents/workflows/plan-feature.md +30 -30
- package/template/.agents/workflows/plan-project.md +25 -25
- package/template/.agents/workflows/release.md +18 -18
- package/template/.agents/workflows/security-audit.md +19 -19
- package/template/.agents/workflows/setup-workspace.md +21 -21
- package/template/.agents/workflows/start-fix.md +18 -18
- package/template/.agents/workflows/test-feature.md +17 -17
- package/template/.claude/agents/analyst.md +109 -109
- package/template/.claude/agents/backend.md +61 -61
- package/template/.claude/agents/data-architect.md +43 -43
- package/template/.claude/agents/devops.md +44 -43
- package/template/.claude/agents/discovery.md +51 -51
- package/template/.claude/agents/document.md +51 -51
- package/template/.claude/agents/explorer.md +138 -138
- package/template/.claude/agents/fixer.md +87 -86
- package/template/.claude/agents/frontend.md +65 -65
- package/template/.claude/agents/fullstack.md +91 -90
- package/template/.claude/agents/initiator.md +74 -74
- package/template/.claude/agents/logger.md +143 -143
- package/template/.claude/agents/manual-tester.md +108 -0
- package/template/.claude/agents/orchestrator.md +138 -137
- package/template/.claude/agents/pm.md +199 -199
- package/template/.claude/agents/qa.md +66 -65
- package/template/.claude/agents/reliability.md +48 -47
- package/template/.claude/agents/security.md +107 -106
- package/template/.claude/agents/sysarch.md +301 -301
- package/template/.claude/agents/tester.md +100 -100
- package/template/.claude/agents/toolsmith.md +77 -76
- package/template/.claude/agents/ux-designer.md +45 -45
- package/template/.claude/commands/build-feature.md +22 -22
- package/template/.claude/commands/build-prototype.md +33 -33
- package/template/.claude/commands/daily-standup.md +16 -16
- package/template/.claude/commands/deliver-feature.md +17 -17
- package/template/.claude/commands/harden-release.md +22 -22
- package/template/.claude/commands/manual-test.md +19 -0
- package/template/.claude/commands/plan-feature.md +31 -31
- package/template/.claude/commands/plan-project.md +26 -26
- package/template/.claude/commands/release.md +19 -19
- package/template/.claude/commands/security-audit.md +20 -20
- package/template/.claude/commands/setup-workspace.md +22 -22
- package/template/.claude/commands/start-fix.md +19 -19
- package/template/.claude/commands/test-feature.md +18 -18
- package/template/.claude/skills/find-skills/SKILL.md +142 -142
- package/template/.claude/skills/penetration-testing/SKILL.md +94 -94
- package/template/.claude/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
- package/template/.claude/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
- package/template/.claude/skills/penetration-testing/scripts/security-checklist.sh +30 -30
- package/template/.claude/skills/ui-ux-pro-max/SKILL.md +658 -658
- package/template/.claude/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
- package/template/.claude/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
- package/template/.claude/skills/ui-ux-pro-max/data/design.csv +1775 -1775
- package/template/.claude/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
- package/template/.claude/skills/ui-ux-pro-max/data/icons.csv +105 -105
- package/template/.claude/skills/ui-ux-pro-max/data/products.csv +162 -162
- package/template/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/template/.claude/skills/ui-ux-pro-max/data/typography.csv +74 -74
- package/template/.claude/skills/ui-ux-pro-max/scripts/core.py +262 -262
- package/template/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
- package/template/.github/prompts/analyst.prompt.md +104 -104
- package/template/.github/prompts/backend.prompt.md +44 -44
- package/template/.github/prompts/data-architect.prompt.md +38 -38
- package/template/.github/prompts/devops.prompt.md +32 -32
- package/template/.github/prompts/discovery.prompt.md +39 -39
- package/template/.github/prompts/document.prompt.md +14 -14
- package/template/.github/prompts/explorer.prompt.md +133 -133
- package/template/.github/prompts/fixer.prompt.md +82 -81
- package/template/.github/prompts/frontend.prompt.md +60 -60
- package/template/.github/prompts/fullstack.prompt.md +86 -86
- package/template/.github/prompts/initiator.prompt.md +55 -55
- package/template/.github/prompts/logger.prompt.md +138 -138
- package/template/.github/prompts/manual-tester.prompt.md +103 -0
- package/template/.github/prompts/orchestrator.prompt.md +133 -133
- package/template/.github/prompts/pm.prompt.md +186 -186
- package/template/.github/prompts/qa.prompt.md +57 -57
- package/template/.github/prompts/reliability.prompt.md +44 -44
- package/template/.github/prompts/security.prompt.md +41 -41
- package/template/.github/prompts/sysarch.prompt.md +351 -351
- package/template/.github/prompts/tester.prompt.md +107 -107
- package/template/.github/prompts/toolsmith.prompt.md +46 -46
- package/template/.github/prompts/ux-designer.prompt.md +41 -41
- package/template/.opencode/agents/analyst.md +108 -108
- package/template/.opencode/agents/backend.md +61 -61
- package/template/.opencode/agents/data-architect.md +43 -43
- package/template/.opencode/agents/devops.md +44 -44
- package/template/.opencode/agents/discovery.md +51 -51
- package/template/.opencode/agents/document.md +51 -51
- package/template/.opencode/agents/explorer.md +137 -137
- package/template/.opencode/agents/fixer.md +86 -85
- package/template/.opencode/agents/frontend.md +64 -64
- package/template/.opencode/agents/fullstack.md +90 -89
- package/template/.opencode/agents/initiator.md +74 -74
- package/template/.opencode/agents/logger.md +142 -142
- package/template/.opencode/agents/manual-tester.md +107 -0
- package/template/.opencode/agents/orchestrator.md +137 -133
- package/template/.opencode/agents/pm.md +199 -199
- package/template/.opencode/agents/qa.md +66 -65
- package/template/.opencode/agents/reliability.md +48 -48
- package/template/.opencode/agents/security.md +107 -107
- package/template/.opencode/agents/sysarch.md +301 -301
- package/template/.opencode/agents/tester.md +100 -100
- package/template/.opencode/agents/toolsmith.md +77 -77
- package/template/.opencode/agents/ux-designer.md +45 -45
- package/template/.opencode/commands/build-feature.md +21 -21
- package/template/.opencode/commands/build-prototype.md +32 -32
- package/template/.opencode/commands/daily-standup.md +16 -16
- package/template/.opencode/commands/deliver-feature.md +16 -16
- package/template/.opencode/commands/harden-release.md +21 -21
- package/template/.opencode/commands/manual-test.md +18 -0
- package/template/.opencode/commands/plan-feature.md +30 -30
- package/template/.opencode/commands/plan-project.md +25 -25
- package/template/.opencode/commands/release.md +18 -18
- package/template/.opencode/commands/security-audit.md +19 -19
- package/template/.opencode/commands/setup-workspace.md +21 -21
- package/template/.opencode/commands/start-fix.md +18 -18
- package/template/.opencode/commands/test-feature.md +17 -17
- package/template/.opencode/skills/penetration-testing/SKILL.md +94 -94
- package/template/.opencode/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
- package/template/.opencode/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
- package/template/.opencode/skills/penetration-testing/scripts/security-checklist.sh +30 -30
- package/template/.opencode/skills/ui-ux-pro-max/SKILL.md +658 -658
- package/template/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
- package/template/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
- package/template/.opencode/skills/ui-ux-pro-max/data/design.csv +1775 -1775
- package/template/.opencode/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
- package/template/.opencode/skills/ui-ux-pro-max/data/icons.csv +105 -105
- package/template/.opencode/skills/ui-ux-pro-max/data/products.csv +162 -162
- package/template/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/template/.opencode/skills/ui-ux-pro-max/data/typography.csv +74 -74
- package/template/.opencode/skills/ui-ux-pro-max/scripts/core.py +262 -262
- package/template/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
- package/template/AGENT_PERSONAS.md +595 -551
- package/template/GIT_STRUCTURE_GUIDE.md +270 -270
- package/template/PROJECT_README.example.md +81 -81
- package/template/QUICK-START.md +134 -131
- package/template/README.md +1942 -1919
- package/template/_gitignore +138 -138
- package/template/agent/workflows/_shared/change-management.md +70 -70
- package/template/agent/workflows/_shared/git-branch-management.md +25 -25
- package/template/agent/workflows/_shared/phases.md +88 -88
- package/template/agent/workflows/_shared/state-management.md +87 -87
- package/template/agent/workflows/_shared/work-depth.md +46 -46
- package/template/agent/workflows/analyst.md +104 -104
- package/template/agent/workflows/backend.md +61 -61
- package/template/agent/workflows/data-architect.md +43 -43
- package/template/agent/workflows/devops.md +44 -44
- package/template/agent/workflows/discovery.md +51 -51
- package/template/agent/workflows/document.md +51 -51
- package/template/agent/workflows/explorer.md +133 -133
- package/template/agent/workflows/fixer.md +82 -81
- package/template/agent/workflows/frontend.md +60 -60
- package/template/agent/workflows/fullstack.md +86 -86
- package/template/agent/workflows/initiator.md +74 -74
- package/template/agent/workflows/logger.md +138 -138
- package/template/agent/workflows/manual-tester.md +103 -0
- package/template/agent/workflows/orchestrator.md +133 -133
- package/template/agent/workflows/pm.md +199 -199
- package/template/agent/workflows/qa.md +66 -66
- package/template/agent/workflows/reliability.md +48 -48
- package/template/agent/workflows/security.md +107 -107
- package/template/agent/workflows/sysarch.md +301 -301
- package/template/agent/workflows/tester.md +100 -100
- package/template/agent/workflows/toolsmith.md +77 -77
- package/template/agent/workflows/ux-designer.md +45 -45
- package/template/codes/.gitkeep +1 -1
- package/template/project_overview_example.md +54 -54
- package/template/schemas/adr.template.md +36 -36
- package/template/schemas/changelog.template.md +34 -34
- package/template/schemas/data-model.template.md +57 -57
- package/template/schemas/design-system.template.md +63 -63
- package/template/schemas/dev_log.template.md +20 -20
- package/template/schemas/product-ci.template.yml +50 -50
- package/template/schemas/requirements.template.md +64 -64
- package/template/schemas/security-standards.template.md +58 -58
- package/template/schemas/security_report.template.md +89 -89
- package/template/schemas/specification.template.md +71 -71
- package/template/schemas/style_guide.template.md +29 -29
- package/template/schemas/task_list.template.md +28 -28
- package/template/schemas/workspace-manifest.template.json +24 -24
- package/template/schemas/workspace-registry.json +95 -95
- package/template/skills-lock.json +11 -11
- package/template/specifications/.gitkeep +3 -3
- package/template/state/knowledge_base/.gitkeep +1 -1
- package/template/state/knowledge_base/requirements/.gitkeep +1 -1
- package/template/tests/.gitkeep +1 -1
- package/template/.claude/settings.local.json +0 -44
package/template/README.md
CHANGED
|
@@ -1,1921 +1,1944 @@
|
|
|
1
|
-
# 🌊 Vibe Coding Workflow
|
|
1
|
+
# 🌊 Vibe Coding Workflow
|
|
2
2
|
|
|
3
3
|
> _This README ships from the [`create-vasvibe`](https://www.npmjs.com/package/create-vasvibe) starter. Examples reference a boat tour booking project (Labuan Bajo) for illustration. Replace examples with your own context as needed._
|
|
4
|
-
|
|
5
|
-
Selamat datang di ekosistem **Vibe Coding**.
|
|
6
|
-
Ini adalah standar alur kerja pengembangan software berbasis **AI Agent** yang mengutamakan struktur, dokumentasi otomatis, dan validasi berjenjang.
|
|
7
|
-
Template ini telah berevolusi dan secara *native* mendukung integrasi untuk berbagai AI agent environment mutakhir:
|
|
8
|
-
- **Google Antigravity** (`.agents/`)
|
|
9
|
-
- **Claude Code** (`.claude/`)
|
|
10
|
-
- **OpenCode** (`.opencode/`)
|
|
11
|
-
- **GitHub Copilot Workspace** (`.github/prompts/`)
|
|
12
|
-
- Serta dilengkapi **Shared Agent Workflows** (`agent/workflows/`) sebagai *source of truth* agar perilaku agen konsisten di seluruh platform.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## ⚡ Quick start (untuk tim baru)
|
|
17
|
-
|
|
18
|
-
Gunakan *command* CLI resmi untuk melakukan scaffolding project baru. Proses ini akan meng-copy seluruh konfigurasi agent, prompt, skills, serta kerangka direktori standar tim ke project baru Anda:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
# Interaktif (akan ada pertanyaan)
|
|
22
|
-
npx create-vasvibe my-new-project
|
|
23
|
-
|
|
24
|
-
# Masuk ke direktori kerja
|
|
25
|
-
cd my-new-project
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Struktur yang Ter-scaffold Otomatis:**
|
|
29
|
-
- `codes/`, `specifications/`, `tests/` — folder kerja utama (telah dilindungi oleh aturan `.gitignore` agar tidak berantakan).
|
|
30
|
-
- Kerangka prompt dari seluruh environment (`.agents`, `.claude`, `.opencode`, `.github`, `agent/workflows`).
|
|
31
|
-
- File standard: `project_overview_example.md`, `GIT_STRUCTURE_GUIDE.md`, `skills-lock.json`.
|
|
32
|
-
|
|
33
|
-
**Opsi / Flag Tambahan:**
|
|
34
|
-
| Flag | Deskripsi |
|
|
35
|
-
|------|-----------|
|
|
36
|
-
| `-y, --yes` | Skip semua pertanyaan (gunakan setting default) |
|
|
37
|
-
| `--no-git` | Jangan jalankan `git init` secara otomatis |
|
|
38
|
-
| `--no-opencode` | Abaikan folder `.opencode/` |
|
|
39
|
-
| `--no-claude` | Abaikan folder `.claude/` dan `.agents/` |
|
|
40
|
-
| `--no-github` | Abaikan folder `.github/prompts/` |
|
|
41
|
-
| `--no-workflows` | Abaikan folder `agent/workflows/` |
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## 🤖 Tentang AI Agent
|
|
45
|
-
|
|
46
|
-
**AI Agent** adalah sistem cerdas berbasis Large Language Model (LLM) yang dapat mengeksekusi tugas-tugas kompleks secara mandiri dengan menggunakan **tools** (function calling). Berbeda dengan chatbot biasa yang hanya menjawab pertanyaan, AI Agent dapat:
|
|
47
|
-
|
|
48
|
-
- 🔍 **Membaca & menganalisis** file di workspace
|
|
49
|
-
- ✍️ **Menulis & mengedit** kode berdasarkan spesifikasi
|
|
50
|
-
- 🔧 **Menjalankan command** di terminal (build, test, deploy)
|
|
51
|
-
- 🧠 **Mengambil keputusan** berdasarkan context dan error feedback
|
|
52
|
-
- 📝 **Membuat dokumentasi** otomatis dari perubahan yang dilakukan
|
|
53
|
-
|
|
54
|
-
Dalam workflow ini, kita menggunakan **
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## 🚀 Filosofi (v2.2)
|
|
59
|
-
|
|
60
|
-
1. **4-Phase Model (Fase Gated):** Perencanaan → Pengerjaan → Testing → Hardening. Tiap fase ada **gate** (checkpoint manusia) sebelum lanjut fase berikutnya. Tidak ada yang jalan diam-diam.
|
|
61
|
-
2. **No Silent Changes:** Setiap perubahan yang diminta harus **ditulis ke dokumen acuan** (spec, requirement, ADR) dan di-propagate ke agen terkait. Result: rework minimal, audit trail jelas.
|
|
62
|
-
3. **Context is King:** AI tidak bisa bekerja tanpa konteks. `project_overview.md` + specifications/ adalah otak proyek.
|
|
63
|
-
4. **Work Depth Flexibility:** 3 level kedalaman (`fast`/`standard`/`deep`). Mulai fast untuk validate ide, naik standard saat serius, deep hanya untuk area sensitif.
|
|
64
|
-
5. **Tool-Agnostic Workflow:** Agent berjalan di Claude Code, OpenCode, GitHub Copilot, Antigravity. Source of truth di `agent/workflows/`, propagate ke tool-specific folders.
|
|
65
|
-
6. **Desired-State Architecture (Toolsmith):** `state/workspace-manifest.json` adalah manifest platform-agnostic. Toolsmith: install skills + MCP sesuai tech stack, re-applicable saat ganti tool.
|
|
66
|
-
7. **Role Segregation:** 19 agen specialized dengan tanggung jawab clear. Backend ≠ Frontend ≠ Security ≠ DevOps.
|
|
67
|
-
8. **Log Everything:** Setiap sesi coding, testing, fixing tercatat untuk kontinuitas AI memori.
|
|
68
|
-
9. **Human-in-the-Loop:** Manusia = Decision Maker (bisnis, arch, security, UX). AI = Executor (code, test, doc).
|
|
69
|
-
10. **Git Workflow Compliance:** Agen (Developer, QA, Security, Reliability) mengikuti `_shared/git-branch-management.md` ketat.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## 📂 Struktur Direktori Otomatis
|
|
74
|
-
Workflow ini akan secara otomatis mengelola struktur folder berikut:
|
|
75
|
-
|
|
76
|
-
```text
|
|
77
|
-
root/
|
|
78
|
-
├── .agents/ # [BRAIN] Konfigurasi Google Antigravity & Skills
|
|
79
|
-
│ ├── agents/ # Definisi persona agent (analyst, developer, tester, dll)
|
|
80
|
-
│ └── skills/ # Folder berisi reusable tools/skills yang dapat diakses oleh agent
|
|
81
|
-
│
|
|
82
|
-
├── .claude/ # [BRAIN] Konfigurasi & Prompt Claude Code
|
|
83
|
-
│ └── agents/
|
|
84
|
-
│
|
|
85
|
-
├── .opencode/ # [BRAIN] Konfigurasi & Commands OpenCode
|
|
86
|
-
│ └── commands/
|
|
87
|
-
│
|
|
88
|
-
├── .github/ # [BRAIN] Konfigurasi GitHub Copilot Workspace
|
|
89
|
-
│ └── prompts/
|
|
90
|
-
│
|
|
91
|
-
├── agent/workflows/ # [CORE] Source of Truth untuk semua instruksi agent
|
|
92
|
-
│ ├── analyst.md
|
|
93
|
-
│ ├── developer.md
|
|
94
|
-
│ └── ...
|
|
95
|
-
│
|
|
96
|
-
├── project_overview.md # [MASTER] Definisi produk, tech stack, & UI/UX
|
|
97
|
-
│ # 👤 HUMAN: Review & approve setelah Initiator Agent buat
|
|
98
|
-
│
|
|
99
|
-
├── state/ # [CONFIG] Workspace manifest & knowledge base ⭐ v2.2
|
|
100
|
-
│ ├── workspace-manifest.json # Desired-state: skills[], mcp[], appliedTo platform
|
|
101
|
-
│ └── knowledge_base/ # Living docs: architecture, data-model, design-system, security, ADR/
|
|
102
|
-
│ ├── architecture.md
|
|
103
|
-
│ ├── data-model.md
|
|
104
|
-
│ ├── design-system.md
|
|
105
|
-
│ ├── security-standards.md
|
|
106
|
-
│ └── adr/ # Keputusan teknis (Architecture Decision Records)
|
|
107
|
-
│
|
|
108
|
-
├── specifications/ # [DOCS] Output dari Analyst Agent
|
|
109
|
-
│ ├── README.md # Index semua spesifikasi
|
|
110
|
-
│ ├── 000_spec_environment_setup.md # Infrastruktur (Wajib pertama)
|
|
111
|
-
│ ├── 001_spec_database_schema.md
|
|
112
|
-
│ ├── requirements.md # Hasil Discovery Agent (user story, constraint, scope)
|
|
113
|
-
│ └── api-contract.md # API Contract (final sebelum Fase 2)
|
|
114
|
-
│
|
|
115
|
-
├── task/ # [PROJECT MANAGEMENT] Output dari PM Agent
|
|
116
|
-
│ ├── task_list.md # Central task tracking (priority, status, dependencies)
|
|
117
|
-
│ ├── PROJECT_STATUS_REPORT.md # Progress reports
|
|
118
|
-
│ ├── TASK-001/ # Folder khusus per task
|
|
119
|
-
│ │ ├── plan.md # Rencana kerja & log eksekusi task terkait
|
|
120
|
-
│ │ └── ...
|
|
121
|
-
│ └── TASK-002/ # Setiap task baru akan diisolasi ke dalam sub-folder tersendiri
|
|
122
|
-
│
|
|
123
|
-
├── codes/ # [SRC] Output dari Backend + Frontend atau Fullstack
|
|
124
|
-
│ ├── docker-compose.yml
|
|
125
|
-
│ ├── package.json
|
|
126
|
-
│ ├── app/ # Aplikasi utama
|
|
127
|
-
│ └── ... # 👤 HUMAN: Code review & testing manual
|
|
128
|
-
│
|
|
129
|
-
├── tests/ # [TEST] Output dari Tester Agent
|
|
130
|
-
│ ├── e2e/ # Playwright E2E tests
|
|
131
|
-
│ └── integration/ # Integration tests
|
|
132
|
-
│
|
|
133
|
-
├── logs/ # [TRACKING] Auto-generated logs per phase
|
|
134
|
-
│ ├── development/ # Backend + Frontend + Fullstack logs
|
|
135
|
-
│ ├── testing/ # Tester Agent logs
|
|
136
|
-
│ └── fixing/ # Bug fixing logs
|
|
137
|
-
│
|
|
138
|
-
└── documentation/ # [FINAL] Technical Writer output
|
|
139
|
-
├── FSD_{{projectName}}.md # Functional Specification Document
|
|
140
|
-
└── API_Documentation.md
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**Legend:**
|
|
144
|
-
- 🤖 **Auto-generated:** File dibuat oleh AI Agent
|
|
145
|
-
- 👤 **Human review required:** File perlu di-review manusia sebelum lanjut
|
|
146
|
-
- 📝 **Living document:** File yang terus di-update
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## 📊 Folder `state/` — Workspace State & Knowledge Base
|
|
151
|
-
|
|
152
|
-
Folder ini adalah **jantung kontinuitas project** — menyimpan manifest provisioning, context session, dan knowledge base project.
|
|
153
|
-
|
|
154
|
-
### **Struktur dan Fungsi**
|
|
155
|
-
|
|
156
|
-
```
|
|
157
|
-
state/
|
|
158
|
-
├── workspace-manifest.json # 🤖 Desired-state (platform-agnostic)
|
|
159
|
-
├── context.json # 🤖 Session continuity (agent handoff)
|
|
160
|
-
├── agent_handoff.json # 🤖 Current handoff (agent-to-agent)
|
|
161
|
-
└── knowledge_base/ # 📝 Living docs (architecture, design, decisions)
|
|
162
|
-
├── requirements/ # User stories, scope, constraint dari Discovery
|
|
163
|
-
├── architecture.md # High-level design (system architecture, tech decisions)
|
|
164
|
-
├── data-model.md # Database schema, ERD, relationships
|
|
165
|
-
├── design-system.md # UI/UX guidelines (colors, typography, components)
|
|
166
|
-
├── security-standards.md # Security policies, compliance requirements
|
|
167
|
-
└── decisions/ # ADR (Architecture Decision Records)
|
|
168
|
-
└── adr-001-*.md # Keputusan teknis signifikan (why, trade-offs)
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### **1. workspace-manifest.json** — Agentic Workspace Provisioning
|
|
172
|
-
|
|
173
|
-
**Ditulis oleh:** Toolsmith agent (mode `init`, `switch`, `sync`)
|
|
174
|
-
|
|
175
|
-
**Dibaca oleh:** Toolsmith, Orchestrator (untuk verify readiness)
|
|
176
|
-
|
|
177
|
-
**Fungsi:** Platform-agnostic source of truth untuk workspace setup.
|
|
178
|
-
|
|
179
|
-
```json
|
|
180
|
-
{
|
|
181
|
-
"project": "booking-kapal-wisata",
|
|
182
|
-
"decidedFrom": ["project_overview.md tech stack", "find-skills"],
|
|
183
|
-
"skills": [
|
|
184
|
-
{ "id": "find-skills", "reason": "discover further skills" },
|
|
185
|
-
{ "id": "ui-ux-pro-max", "reason": "Next.js + Tailwind UI" }
|
|
186
|
-
],
|
|
187
|
-
"mcp": [
|
|
188
|
-
{ "id": "filesystem", "reason": "workspace grounding" },
|
|
189
|
-
{ "id": "git", "reason": "code-aware context" }
|
|
190
|
-
],
|
|
191
|
-
"appliedTo": {
|
|
192
|
-
"claude-code": "2025-06-23 09:15",
|
|
193
|
-
"opencode": null,
|
|
194
|
-
"antigravity": null,
|
|
195
|
-
"github-copilot": null
|
|
196
|
-
},
|
|
197
|
-
"revisionHistory": [
|
|
198
|
-
{ "timestamp": "2025-06-23 09:15", "agent": "toolsmith", "change": "initial provisioning" }
|
|
199
|
-
]
|
|
200
|
-
}
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
**Workflow Toolsmith:**
|
|
204
|
-
- **Mode init** (Fase 1 step 3b) — Toolsmith read `project_overview.md` tech stack, konsultasi `schemas/workspace-registry.json`, derive skills + MCP, tulis manifest, apply ke tool aktif
|
|
205
|
-
- **Mode sync** (Fase 2 step 0) — Verify manifest sesuai config aktual, deteksi drift, update jika perlu
|
|
206
|
-
- **Mode switch** (developer pindah tool) — Read manifest lama, apply ke tool baru tanpa re-derive
|
|
207
|
-
|
|
208
|
-
**Aturan:**
|
|
209
|
-
- Manifest adalah keputusan shared — jika ada request ganti skill/MCP, **update dokumen acuan terlebih dahulu** (No Silent Changes)
|
|
210
|
-
- Secrets (API keys, db password) ditulis sebagai `${VAR}` placeholder → developer isi di `.env`
|
|
211
|
-
- Per-tool config files (`.mcp.json`, `opencode.json`, dll) adalah **derived artifacts** — jangan edit manual, biarkan Toolsmith manage
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
### **2. context.json** — Session Continuity
|
|
216
|
-
|
|
217
|
-
**Ditulis oleh:** Setiap agent di **akhir session** (jika ada perubahan)
|
|
218
|
-
|
|
219
|
-
**Dibaca oleh:** Setiap agent di **awal session** (context awareness)
|
|
220
|
-
|
|
221
|
-
**Fungsi:** Menjaga continuity workflow antar-session/antar-developer.
|
|
222
|
-
|
|
223
|
-
```json
|
|
224
|
-
{
|
|
225
|
-
"project_name": "booking-kapal-wisata",
|
|
226
|
-
"last_updated": "2025-06-23 14:30",
|
|
227
|
-
"last_agent": "backend",
|
|
228
|
-
"current_sprint": "Sprint 1 - Auth & Database",
|
|
229
|
-
"active_tasks": ["TASK-001", "TASK-002"],
|
|
230
|
-
"blocked_tasks": [],
|
|
231
|
-
"notes": "TASK-001 (Backend Login) ready for QA. TASK-002 (Frontend Login UI) in progress—waiting for API Contract finalization"
|
|
232
|
-
}
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
**Aturan:**
|
|
236
|
-
- Setiap agent WAJIB baca file ini di awal untuk understand status project
|
|
237
|
-
- Update di akhir dengan status terkini, task active, blocker, dll
|
|
238
|
-
- Format ketat (JSON) — parser automation bergantung pada structure consistent
|
|
239
|
-
|
|
240
|
-
**Contoh flow:**
|
|
241
|
-
```
|
|
242
|
-
Backend Agent (09:00) baca context.json
|
|
243
|
-
→ lanjut TASK-001 dari status "dev"
|
|
244
|
-
→ selesai, update context: active_tasks=[TASK-002], last_agent="backend", notes="ready for QA"
|
|
245
|
-
→ simpan context.json
|
|
246
|
-
|
|
247
|
-
Frontend Agent (10:00) baca context.json
|
|
248
|
-
→ lihat last_agent="backend", notes="ready for QA"
|
|
249
|
-
→ understand Backend sudah selesai, siap kolaborasi via API Contract
|
|
250
|
-
→ lanjut TASK-002
|
|
251
|
-
→ update context di akhir
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
### **3. agent_handoff.json** — Agent-to-Agent Handoff
|
|
257
|
-
|
|
258
|
-
**Ditulis oleh:** Agent yang mengirim task (overwrite setiap handoff)
|
|
259
|
-
|
|
260
|
-
**Dibaca oleh:** Agent penerima (instruction + artifacts)
|
|
261
|
-
|
|
262
|
-
**Fungsi:** Detailed handoff notes + artifact pointers untuk agent berikutnya.
|
|
263
|
-
|
|
264
|
-
```json
|
|
265
|
-
{
|
|
266
|
-
"from_agent": "backend",
|
|
267
|
-
"to_agent": "qa",
|
|
268
|
-
"task_id": "TASK-001",
|
|
269
|
-
"timestamp": "2025-06-23 14:30",
|
|
270
|
-
"status": "ready_to_test",
|
|
271
|
-
"notes": "Login API selesai (POST /api/auth/login, POST /api/auth/refresh). Test case priority: validasi email invalid, password wrong, token refresh expired.",
|
|
272
|
-
"artifacts": [
|
|
273
|
-
"codes/src/app/api/auth/login/route.ts",
|
|
274
|
-
"codes/src/app/api/auth/refresh/route.ts",
|
|
275
|
-
"logs/development/dev_001_login.md"
|
|
276
|
-
]
|
|
277
|
-
}
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
**Aturan:**
|
|
281
|
-
- Hanya menyimpan handoff **terakhir** (overwrite, jangan append)
|
|
282
|
-
- Artifacts path harus relative ke repo root
|
|
283
|
-
- Gunakan saat menyerahkan task antar-agent formal (bukan sekadar update status di task_list.md)
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
### **4. knowledge_base/** — Living Documentation
|
|
288
|
-
|
|
289
|
-
**Ditulis oleh:** Berbagai agen (Discovery, Analyst, Data Architect, UX Designer, Security, PM)
|
|
290
|
-
|
|
291
|
-
**Dibaca oleh:** Semua agen (setiap agen wajib baca acuan sebelum kerja)
|
|
292
|
-
|
|
293
|
-
**Fungsi:** Single source of truth untuk architectural decisions, design, security policies, dll.
|
|
294
|
-
|
|
295
|
-
#### **knowledge_base/requirements/**
|
|
296
|
-
- Ditulis oleh: **Discovery Agent** (Fase 1 awal)
|
|
297
|
-
- Isi: User stories, scope, constraint, acceptance criteria, assumptions
|
|
298
|
-
- Dibaca oleh: Initiator, Analyst, PM
|
|
299
|
-
- Update: Discovery/Analyst saat scope berubah (dengan gate)
|
|
300
|
-
|
|
301
|
-
#### **knowledge_base/architecture.md**
|
|
302
|
-
- Ditulis oleh: **Initiator** → high-level, **Backend/DevOps** → detailed
|
|
303
|
-
- Isi: System design, tech stack rationale, API patterns, deployment strategy
|
|
304
|
-
- Dibaca oleh: Semua agen (terutama Backend, Frontend, DevOps)
|
|
305
|
-
- Update: Saat ada architectural change (ADR required)
|
|
306
|
-
|
|
307
|
-
#### **knowledge_base/data-model.md**
|
|
308
|
-
- Ditulis oleh: **Data Architect** (Fase 1), **Backend** (maintenance)
|
|
309
|
-
- Isi: Database schema, ERD, indexes, relationships, data governance
|
|
310
|
-
- Dibaca oleh: Backend, Frontend (untuk API contract), Analyst
|
|
311
|
-
- Update: Saat ada schema change (migration + dokumentasi)
|
|
312
|
-
|
|
313
|
-
#### **knowledge_base/design-system.md**
|
|
314
|
-
- Ditulis oleh: **UX Designer** (Fase 1), **Frontend** (maintenance)
|
|
315
|
-
- Isi: Color palette, typography, component library, motion, accessibility
|
|
316
|
-
- Dibaca oleh: Frontend, Backend (untuk validation), Design feedback
|
|
317
|
-
- Update: Saat ada design change (dengan gate)
|
|
318
|
-
|
|
319
|
-
#### **knowledge_base/security-standards.md**
|
|
320
|
-
- Ditulis oleh: **Security Expert** (Fase 1 Mode S, atau Fase 4 audit)
|
|
321
|
-
- Isi: Authentication strategy, encryption, data protection, OWASP, compliance
|
|
322
|
-
- Dibaca oleh: Backend, DevOps, QA (untuk security testing)
|
|
323
|
-
- Update: Saat ada security audit findings atau new requirement (dengan gate)
|
|
324
|
-
|
|
325
|
-
#### **knowledge_base/decisions/**
|
|
326
|
-
- ADR (Architecture Decision Records) untuk keputusan signifikan
|
|
327
|
-
- Format: ADR-001-*.md (title-kebab-case)
|
|
328
|
-
- Isi: Decision, context, alternatives considered, rationale, consequences
|
|
329
|
-
- Ditulis oleh: Agent yang propose (dengan human approval)
|
|
330
|
-
- Dibaca oleh: Semua agen (sebelum buat keputusan serupa)
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
### **Aturan Interaksi state/ folder** ⚠️
|
|
335
|
-
|
|
336
|
-
#### **1. Read sebelum action**
|
|
337
|
-
```bash
|
|
338
|
-
# Setiap agent WAJIB baca di awal session:
|
|
339
|
-
1. context.json — understand current status
|
|
340
|
-
2. agent_handoff.json — jika ada handoff yang ditunggu
|
|
341
|
-
3. knowledge_base/* — acuan untuk domain spesifik
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
#### **2. Update dengan disiplin**
|
|
345
|
-
- **context.json** — update hanya di akhir session (jika ada change)
|
|
346
|
-
- **agent_handoff.json** — tulis hanya saat handoff formal antar-agent
|
|
347
|
-
- **knowledge_base/** — update hanya jika change terverifikasi/approved (No Silent Changes)
|
|
348
|
-
|
|
349
|
-
#### **3. Jangan edit manual**
|
|
350
|
-
- `workspace-manifest.json` — Toolsmith yang kelola (jangan diedit manual)
|
|
351
|
-
- `context.json`, `agent_handoff.json` — Agent yang kelola (format ketat untuk parser)
|
|
352
|
-
- `knowledge_base/` — Hanya agen authorized yang edit (Discovery → requirements, Architect → architecture, dll)
|
|
353
|
-
|
|
354
|
-
#### **4. Conflict resolution**
|
|
355
|
-
- Jika ada conflict di `knowledge_base/` (dua agen edit file sama), **winner adalah yang lebih recent** (by timestamp)
|
|
356
|
-
- Jika conflict signifikan, human harus approve di gate
|
|
357
|
-
|
|
358
|
-
#### **5. Tidak ada "hardcoded state"**
|
|
359
|
-
- state/ folder adalah **tentative** (bisa berubah saat gate review)
|
|
360
|
-
- Final truth tetap di dokumen acuan (specifications/, project_overview.md)
|
|
361
|
-
- state/ adalah **convenience cache** untuk agen continuity, bukan single source of truth
|
|
362
|
-
|
|
363
|
-
---
|
|
364
|
-
|
|
365
|
-
### **Contoh Workflow Lengkap**
|
|
366
|
-
|
|
367
|
-
```
|
|
368
|
-
🟦 FASE 1 (Perencanaan)
|
|
369
|
-
|
|
370
|
-
[Discovery] Interview → tulis requirements.md di state/knowledge_base/requirements/
|
|
371
|
-
[Initiator] Baca requirements.md → tulis project_overview.md + architecture.md di knowledge_base/
|
|
372
|
-
[Analyst] Baca project_overview.md → tulis api-contract.md di specifications/
|
|
373
|
-
→ Update context.json: active_tasks=[TASK-001], notes="API Contract finalized, ready for Fase 2"
|
|
374
|
-
[UX Designer] Baca architecture.md → tulis design-system.md di knowledge_base/
|
|
375
|
-
[Data Architect] Baca architecture.md → tulis data-model.md di knowledge_base/
|
|
376
|
-
[Toolsmith] (Mode init) Baca project_overview.md → derive workspace manifest → tulis state/workspace-manifest.json
|
|
377
|
-
→ Apply ke tool aktif (.mcp.json / opencode.json / dll)
|
|
378
|
-
|
|
379
|
-
👤 GATE: Human approve API Contract + workspace setup → Fase 1 done
|
|
380
|
-
|
|
381
|
-
---
|
|
382
|
-
|
|
383
|
-
🟩 FASE 2 (Pengerjaan)
|
|
384
|
-
|
|
385
|
-
[Toolsmith] (Mode sync) Verify manifest sesuai config aktif → detect drift jika ada
|
|
386
|
-
[Backend] Baca context.json → active_tasks=[TASK-001]
|
|
387
|
-
→ Baca api-contract.md di specifications/
|
|
388
|
-
→ Baca data-model.md di knowledge_base/
|
|
389
|
-
→ Implementasi login API
|
|
390
|
-
→ Update context.json: last_agent="backend", notes="Login API ready"
|
|
391
|
-
→ Tulis agent_handoff.json → to_agent="qa", status="ready_to_test"
|
|
392
|
-
|
|
393
|
-
[QA] Baca context.json → lihat last_agent="backend"
|
|
394
|
-
→ Baca agent_handoff.json → understand task & artifacts
|
|
395
|
-
→ Review code, run security checks
|
|
396
|
-
→ Approve atau request fix
|
|
397
|
-
|
|
398
|
-
[Frontend] Paralel dengan Backend
|
|
399
|
-
→ Baca api-contract.md, design-system.md
|
|
400
|
-
→ Implementasi login UI
|
|
401
|
-
→ Update context.json
|
|
402
|
-
|
|
403
|
-
👤 GATE: Human approve kode → Fase 2 done
|
|
404
|
-
|
|
405
|
-
---
|
|
406
|
-
|
|
407
|
-
🟨 FASE 3 (Testing) & 🟧 FASE 4 (Hardening)
|
|
408
|
-
|
|
409
|
-
[Tester] Baca context.json → understand status
|
|
410
|
-
→ Run E2E tests
|
|
411
|
-
→ Report findings
|
|
412
|
-
|
|
413
|
-
[Security] Baca knowledge_base/security-standards.md (jika ada)
|
|
414
|
-
→ Audit code
|
|
415
|
-
→ Propose changes → ADR jika signifikan
|
|
416
|
-
→ Update knowledge_base/decisions/
|
|
417
|
-
|
|
418
|
-
→ Update context.json, agent_handoff.json sesuai handoff
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
---
|
|
422
|
-
|
|
423
|
-
### **Best Practice**
|
|
424
|
-
|
|
425
|
-
1. **Treat state/ as continuity**, not source of truth
|
|
426
|
-
- Source of truth tetap di `specifications/`, `project_overview.md`, `knowledge_base/`
|
|
427
|
-
- state/ adalah **derived convenience** untuk agen awareness
|
|
428
|
-
|
|
429
|
-
2. **Keep context.json brief**
|
|
430
|
-
- Jangan simpan data besar — hanya summary + pointers
|
|
431
|
-
- Detail ada di task/task_list.md, logs/, artifacts
|
|
432
|
-
|
|
433
|
-
3. **Honor handoff protocol**
|
|
434
|
-
- Jangan skip agent_handoff.json saat formal handoff
|
|
435
|
-
- Frontend tunggu Backend siap sebelum mulai (via handoff + API Contract)
|
|
436
|
-
|
|
437
|
-
4. **Document decisions**
|
|
438
|
-
- Keputusan signifikan (architecture, security, data-model) → ADR di decisions/
|
|
439
|
-
- Jangan hanya di chat/notes — harus permanent di KB
|
|
440
|
-
|
|
441
|
-
---
|
|
442
|
-
|
|
443
|
-
## 🤖
|
|
444
|
-
|
|
445
|
-
{{projectName}} v2.
|
|
446
|
-
|
|
447
|
-
**Fase 1 — Perencanaan (Discovery & Blueprint):**
|
|
448
|
-
- **Discovery Agent** — Wawancara kebutuhan → requirements.md
|
|
449
|
-
- **Initiator Agent** — Tulis project_overview.md (tech stack, UI/UX, roadmap)
|
|
450
|
-
- **Data Architect** — Design data model & ERD
|
|
451
|
-
- **UX Designer** — Design system (colors, components, motion)
|
|
452
|
-
- **Analyst Agent** — Spesifikasi & API Contract
|
|
453
|
-
- **Toolsmith Agent** ⭐ NEW — Provisioning workspace agentik (skills + MCP)
|
|
454
|
-
|
|
455
|
-
**Fase 2 — Pengerjaan (Implementation):**
|
|
456
|
-
- **Backend Engineer** — Server-side API & business logic (standard/deep)
|
|
457
|
-
- **Frontend Engineer** — Client-side UI & integration (standard/deep)
|
|
458
|
-
- **Fullstack Developer** — Satu developer untuk dua sisi (fast mode)
|
|
459
|
-
- **QA Agent** — Code review & static analysis
|
|
460
|
-
- **Fixer Agent** — Bug fixing & debugging
|
|
461
|
-
|
|
462
|
-
**Fase 3 — Testing (E2E & Verification):**
|
|
463
|
-
- **Tester Agent** — Playwright automation & QA testing
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
- **
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
-
|
|
471
|
-
- **
|
|
472
|
-
- **
|
|
473
|
-
- **
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
>
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
- **
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
-
|
|
489
|
-
-
|
|
490
|
-
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
- **
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
- **
|
|
501
|
-
- **
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
-
|
|
507
|
-
-
|
|
508
|
-
-
|
|
509
|
-
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
-
|
|
515
|
-
-
|
|
516
|
-
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
-
|
|
547
|
-
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
- `
|
|
563
|
-
- `
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
- [ ]
|
|
598
|
-
- [ ] Check
|
|
599
|
-
- [ ] Check
|
|
600
|
-
- [ ]
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
-
|
|
623
|
-
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
- [ ]
|
|
628
|
-
- [ ]
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
-
|
|
637
|
-
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
- [ ] Check
|
|
659
|
-
- [ ] Check
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
- `codes
|
|
672
|
-
- `codes
|
|
673
|
-
- `
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
docker-compose
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
- [ ]
|
|
689
|
-
- [ ]
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
- [ ] Check
|
|
709
|
-
- [ ] Check
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
- `
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
npx prisma
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
- [ ]
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
- [ ]
|
|
774
|
-
- [ ]
|
|
775
|
-
- [ ]
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
-
|
|
789
|
-
- **
|
|
790
|
-
- **
|
|
791
|
-
- **
|
|
792
|
-
- **
|
|
793
|
-
- **
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
-
|
|
831
|
-
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
- [ ]
|
|
837
|
-
- [ ]
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
- [ ]
|
|
847
|
-
- [ ] Test
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
- [ ]
|
|
888
|
-
- [ ]
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
- [ ]
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
- `
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
- [ ]
|
|
946
|
-
- [ ]
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
- Test
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
-
|
|
993
|
-
|
|
994
|
-
**
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
/
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
-
|
|
1031
|
-
-
|
|
1032
|
-
-
|
|
1033
|
-
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
-
|
|
1047
|
-
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
```
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
-
|
|
1086
|
-
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
- ❌
|
|
1099
|
-
- ❌
|
|
1100
|
-
- ❌ Menentukan
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
- ❌
|
|
1110
|
-
- ❌
|
|
1111
|
-
- ❌
|
|
1112
|
-
|
|
1113
|
-
**👤 Human:**
|
|
1114
|
-
|
|
1115
|
-
**
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
- ❌
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
/
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
/
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
```bash
|
|
1231
|
-
#
|
|
1232
|
-
/developer
|
|
1233
|
-
|
|
1234
|
-
"
|
|
1235
|
-
|
|
1236
|
-
```
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
**
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
-
|
|
1294
|
-
-
|
|
1295
|
-
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
```
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
-
|
|
1400
|
-
-
|
|
1401
|
-
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
-
|
|
1448
|
-
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
**
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
-
|
|
1528
|
-
-
|
|
1529
|
-
-
|
|
1530
|
-
-
|
|
1531
|
-
```
|
|
1532
|
-
|
|
1533
|
-
**Effect:**
|
|
1534
|
-
|
|
1535
|
-
---
|
|
1536
|
-
|
|
1537
|
-
**File:** `.github/prompts/
|
|
1538
|
-
|
|
1539
|
-
**Customize:**
|
|
1540
|
-
```markdown
|
|
1541
|
-
**
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
**
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
**
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
dan
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
**
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
**
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
dan
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
**
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
**
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
dan
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
-
|
|
1850
|
-
-
|
|
1851
|
-
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
-
|
|
1861
|
-
-
|
|
1862
|
-
|
|
1863
|
-
**
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
### **
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
-
|
|
1918
|
-
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
**
|
|
4
|
+
|
|
5
|
+
Selamat datang di ekosistem **Vibe Coding**.
|
|
6
|
+
Ini adalah standar alur kerja pengembangan software berbasis **AI Agent** yang mengutamakan struktur, dokumentasi otomatis, dan validasi berjenjang.
|
|
7
|
+
Template ini telah berevolusi dan secara *native* mendukung integrasi untuk berbagai AI agent environment mutakhir:
|
|
8
|
+
- **Google Antigravity** (`.agents/`)
|
|
9
|
+
- **Claude Code** (`.claude/`)
|
|
10
|
+
- **OpenCode** (`.opencode/`)
|
|
11
|
+
- **GitHub Copilot Workspace** (`.github/prompts/`)
|
|
12
|
+
- Serta dilengkapi **Shared Agent Workflows** (`agent/workflows/`) sebagai *source of truth* agar perilaku agen konsisten di seluruh platform.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## ⚡ Quick start (untuk tim baru)
|
|
17
|
+
|
|
18
|
+
Gunakan *command* CLI resmi untuk melakukan scaffolding project baru. Proses ini akan meng-copy seluruh konfigurasi agent, prompt, skills, serta kerangka direktori standar tim ke project baru Anda:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Interaktif (akan ada pertanyaan)
|
|
22
|
+
npx create-vasvibe my-new-project
|
|
23
|
+
|
|
24
|
+
# Masuk ke direktori kerja
|
|
25
|
+
cd my-new-project
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Struktur yang Ter-scaffold Otomatis:**
|
|
29
|
+
- `codes/`, `specifications/`, `tests/` — folder kerja utama (telah dilindungi oleh aturan `.gitignore` agar tidak berantakan).
|
|
30
|
+
- Kerangka prompt dari seluruh environment (`.agents`, `.claude`, `.opencode`, `.github`, `agent/workflows`).
|
|
31
|
+
- File standard: `project_overview_example.md`, `GIT_STRUCTURE_GUIDE.md`, `skills-lock.json`.
|
|
32
|
+
|
|
33
|
+
**Opsi / Flag Tambahan:**
|
|
34
|
+
| Flag | Deskripsi |
|
|
35
|
+
|------|-----------|
|
|
36
|
+
| `-y, --yes` | Skip semua pertanyaan (gunakan setting default) |
|
|
37
|
+
| `--no-git` | Jangan jalankan `git init` secara otomatis |
|
|
38
|
+
| `--no-opencode` | Abaikan folder `.opencode/` |
|
|
39
|
+
| `--no-claude` | Abaikan folder `.claude/` dan `.agents/` |
|
|
40
|
+
| `--no-github` | Abaikan folder `.github/prompts/` |
|
|
41
|
+
| `--no-workflows` | Abaikan folder `agent/workflows/` |
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## 🤖 Tentang AI Agent
|
|
45
|
+
|
|
46
|
+
**AI Agent** adalah sistem cerdas berbasis Large Language Model (LLM) yang dapat mengeksekusi tugas-tugas kompleks secara mandiri dengan menggunakan **tools** (function calling). Berbeda dengan chatbot biasa yang hanya menjawab pertanyaan, AI Agent dapat:
|
|
47
|
+
|
|
48
|
+
- 🔍 **Membaca & menganalisis** file di workspace
|
|
49
|
+
- ✍️ **Menulis & mengedit** kode berdasarkan spesifikasi
|
|
50
|
+
- 🔧 **Menjalankan command** di terminal (build, test, deploy)
|
|
51
|
+
- 🧠 **Mengambil keputusan** berdasarkan context dan error feedback
|
|
52
|
+
- 📝 **Membuat dokumentasi** otomatis dari perubahan yang dilakukan
|
|
53
|
+
|
|
54
|
+
Dalam workflow ini, kita menggunakan **20 AI Agent persona** yang bekerja secara terspesialisasi (mirip tim development sesungguhnya) di dalam **4-fase model**: Perencanaan → Pengerjaan → Testing → Hardening.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 🚀 Filosofi (v2.2)
|
|
59
|
+
|
|
60
|
+
1. **4-Phase Model (Fase Gated):** Perencanaan → Pengerjaan → Testing → Hardening. Tiap fase ada **gate** (checkpoint manusia) sebelum lanjut fase berikutnya. Tidak ada yang jalan diam-diam.
|
|
61
|
+
2. **No Silent Changes:** Setiap perubahan yang diminta harus **ditulis ke dokumen acuan** (spec, requirement, ADR) dan di-propagate ke agen terkait. Result: rework minimal, audit trail jelas.
|
|
62
|
+
3. **Context is King:** AI tidak bisa bekerja tanpa konteks. `project_overview.md` + specifications/ adalah otak proyek.
|
|
63
|
+
4. **Work Depth Flexibility:** 3 level kedalaman (`fast`/`standard`/`deep`). Mulai fast untuk validate ide, naik standard saat serius, deep hanya untuk area sensitif.
|
|
64
|
+
5. **Tool-Agnostic Workflow:** Agent berjalan di Claude Code, OpenCode, GitHub Copilot, Antigravity. Source of truth di `agent/workflows/`, propagate ke tool-specific folders.
|
|
65
|
+
6. **Desired-State Architecture (Toolsmith):** `state/workspace-manifest.json` adalah manifest platform-agnostic. Toolsmith: install skills + MCP sesuai tech stack, re-applicable saat ganti tool.
|
|
66
|
+
7. **Role Segregation:** 19 agen specialized dengan tanggung jawab clear. Backend ≠ Frontend ≠ Security ≠ DevOps.
|
|
67
|
+
8. **Log Everything:** Setiap sesi coding, testing, fixing tercatat untuk kontinuitas AI memori.
|
|
68
|
+
9. **Human-in-the-Loop:** Manusia = Decision Maker (bisnis, arch, security, UX). AI = Executor (code, test, doc).
|
|
69
|
+
10. **Git Workflow Compliance:** Agen (Developer, QA, Security, Reliability) mengikuti `_shared/git-branch-management.md` ketat.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 📂 Struktur Direktori Otomatis
|
|
74
|
+
Workflow ini akan secara otomatis mengelola struktur folder berikut:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
root/
|
|
78
|
+
├── .agents/ # [BRAIN] Konfigurasi Google Antigravity & Skills
|
|
79
|
+
│ ├── agents/ # Definisi persona agent (analyst, developer, tester, dll)
|
|
80
|
+
│ └── skills/ # Folder berisi reusable tools/skills yang dapat diakses oleh agent
|
|
81
|
+
│
|
|
82
|
+
├── .claude/ # [BRAIN] Konfigurasi & Prompt Claude Code
|
|
83
|
+
│ └── agents/
|
|
84
|
+
│
|
|
85
|
+
├── .opencode/ # [BRAIN] Konfigurasi & Commands OpenCode
|
|
86
|
+
│ └── commands/
|
|
87
|
+
│
|
|
88
|
+
├── .github/ # [BRAIN] Konfigurasi GitHub Copilot Workspace
|
|
89
|
+
│ └── prompts/
|
|
90
|
+
│
|
|
91
|
+
├── agent/workflows/ # [CORE] Source of Truth untuk semua instruksi agent
|
|
92
|
+
│ ├── analyst.md
|
|
93
|
+
│ ├── developer.md
|
|
94
|
+
│ └── ...
|
|
95
|
+
│
|
|
96
|
+
├── project_overview.md # [MASTER] Definisi produk, tech stack, & UI/UX
|
|
97
|
+
│ # 👤 HUMAN: Review & approve setelah Initiator Agent buat
|
|
98
|
+
│
|
|
99
|
+
├── state/ # [CONFIG] Workspace manifest & knowledge base ⭐ v2.2
|
|
100
|
+
│ ├── workspace-manifest.json # Desired-state: skills[], mcp[], appliedTo platform
|
|
101
|
+
│ └── knowledge_base/ # Living docs: architecture, data-model, design-system, security, ADR/
|
|
102
|
+
│ ├── architecture.md
|
|
103
|
+
│ ├── data-model.md
|
|
104
|
+
│ ├── design-system.md
|
|
105
|
+
│ ├── security-standards.md
|
|
106
|
+
│ └── adr/ # Keputusan teknis (Architecture Decision Records)
|
|
107
|
+
│
|
|
108
|
+
├── specifications/ # [DOCS] Output dari Analyst Agent
|
|
109
|
+
│ ├── README.md # Index semua spesifikasi
|
|
110
|
+
│ ├── 000_spec_environment_setup.md # Infrastruktur (Wajib pertama)
|
|
111
|
+
│ ├── 001_spec_database_schema.md
|
|
112
|
+
│ ├── requirements.md # Hasil Discovery Agent (user story, constraint, scope)
|
|
113
|
+
│ └── api-contract.md # API Contract (final sebelum Fase 2)
|
|
114
|
+
│
|
|
115
|
+
├── task/ # [PROJECT MANAGEMENT] Output dari PM Agent
|
|
116
|
+
│ ├── task_list.md # Central task tracking (priority, status, dependencies)
|
|
117
|
+
│ ├── PROJECT_STATUS_REPORT.md # Progress reports
|
|
118
|
+
│ ├── TASK-001/ # Folder khusus per task
|
|
119
|
+
│ │ ├── plan.md # Rencana kerja & log eksekusi task terkait
|
|
120
|
+
│ │ └── ...
|
|
121
|
+
│ └── TASK-002/ # Setiap task baru akan diisolasi ke dalam sub-folder tersendiri
|
|
122
|
+
│
|
|
123
|
+
├── codes/ # [SRC] Output dari Backend + Frontend atau Fullstack
|
|
124
|
+
│ ├── docker-compose.yml
|
|
125
|
+
│ ├── package.json
|
|
126
|
+
│ ├── app/ # Aplikasi utama
|
|
127
|
+
│ └── ... # 👤 HUMAN: Code review & testing manual
|
|
128
|
+
│
|
|
129
|
+
├── tests/ # [TEST] Output dari Tester Agent
|
|
130
|
+
│ ├── e2e/ # Playwright E2E tests
|
|
131
|
+
│ └── integration/ # Integration tests
|
|
132
|
+
│
|
|
133
|
+
├── logs/ # [TRACKING] Auto-generated logs per phase
|
|
134
|
+
│ ├── development/ # Backend + Frontend + Fullstack logs
|
|
135
|
+
│ ├── testing/ # Tester Agent logs
|
|
136
|
+
│ └── fixing/ # Bug fixing logs
|
|
137
|
+
│
|
|
138
|
+
└── documentation/ # [FINAL] Technical Writer output
|
|
139
|
+
├── FSD_{{projectName}}.md # Functional Specification Document
|
|
140
|
+
└── API_Documentation.md
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Legend:**
|
|
144
|
+
- 🤖 **Auto-generated:** File dibuat oleh AI Agent
|
|
145
|
+
- 👤 **Human review required:** File perlu di-review manusia sebelum lanjut
|
|
146
|
+
- 📝 **Living document:** File yang terus di-update
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 📊 Folder `state/` — Workspace State & Knowledge Base
|
|
151
|
+
|
|
152
|
+
Folder ini adalah **jantung kontinuitas project** — menyimpan manifest provisioning, context session, dan knowledge base project.
|
|
153
|
+
|
|
154
|
+
### **Struktur dan Fungsi**
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
state/
|
|
158
|
+
├── workspace-manifest.json # 🤖 Desired-state (platform-agnostic)
|
|
159
|
+
├── context.json # 🤖 Session continuity (agent handoff)
|
|
160
|
+
├── agent_handoff.json # 🤖 Current handoff (agent-to-agent)
|
|
161
|
+
└── knowledge_base/ # 📝 Living docs (architecture, design, decisions)
|
|
162
|
+
├── requirements/ # User stories, scope, constraint dari Discovery
|
|
163
|
+
├── architecture.md # High-level design (system architecture, tech decisions)
|
|
164
|
+
├── data-model.md # Database schema, ERD, relationships
|
|
165
|
+
├── design-system.md # UI/UX guidelines (colors, typography, components)
|
|
166
|
+
├── security-standards.md # Security policies, compliance requirements
|
|
167
|
+
└── decisions/ # ADR (Architecture Decision Records)
|
|
168
|
+
└── adr-001-*.md # Keputusan teknis signifikan (why, trade-offs)
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### **1. workspace-manifest.json** — Agentic Workspace Provisioning
|
|
172
|
+
|
|
173
|
+
**Ditulis oleh:** Toolsmith agent (mode `init`, `switch`, `sync`)
|
|
174
|
+
|
|
175
|
+
**Dibaca oleh:** Toolsmith, Orchestrator (untuk verify readiness)
|
|
176
|
+
|
|
177
|
+
**Fungsi:** Platform-agnostic source of truth untuk workspace setup.
|
|
178
|
+
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"project": "booking-kapal-wisata",
|
|
182
|
+
"decidedFrom": ["project_overview.md tech stack", "find-skills"],
|
|
183
|
+
"skills": [
|
|
184
|
+
{ "id": "find-skills", "reason": "discover further skills" },
|
|
185
|
+
{ "id": "ui-ux-pro-max", "reason": "Next.js + Tailwind UI" }
|
|
186
|
+
],
|
|
187
|
+
"mcp": [
|
|
188
|
+
{ "id": "filesystem", "reason": "workspace grounding" },
|
|
189
|
+
{ "id": "git", "reason": "code-aware context" }
|
|
190
|
+
],
|
|
191
|
+
"appliedTo": {
|
|
192
|
+
"claude-code": "2025-06-23 09:15",
|
|
193
|
+
"opencode": null,
|
|
194
|
+
"antigravity": null,
|
|
195
|
+
"github-copilot": null
|
|
196
|
+
},
|
|
197
|
+
"revisionHistory": [
|
|
198
|
+
{ "timestamp": "2025-06-23 09:15", "agent": "toolsmith", "change": "initial provisioning" }
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Workflow Toolsmith:**
|
|
204
|
+
- **Mode init** (Fase 1 step 3b) — Toolsmith read `project_overview.md` tech stack, konsultasi `schemas/workspace-registry.json`, derive skills + MCP, tulis manifest, apply ke tool aktif
|
|
205
|
+
- **Mode sync** (Fase 2 step 0) — Verify manifest sesuai config aktual, deteksi drift, update jika perlu
|
|
206
|
+
- **Mode switch** (developer pindah tool) — Read manifest lama, apply ke tool baru tanpa re-derive
|
|
207
|
+
|
|
208
|
+
**Aturan:**
|
|
209
|
+
- Manifest adalah keputusan shared — jika ada request ganti skill/MCP, **update dokumen acuan terlebih dahulu** (No Silent Changes)
|
|
210
|
+
- Secrets (API keys, db password) ditulis sebagai `${VAR}` placeholder → developer isi di `.env`
|
|
211
|
+
- Per-tool config files (`.mcp.json`, `opencode.json`, dll) adalah **derived artifacts** — jangan edit manual, biarkan Toolsmith manage
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
### **2. context.json** — Session Continuity
|
|
216
|
+
|
|
217
|
+
**Ditulis oleh:** Setiap agent di **akhir session** (jika ada perubahan)
|
|
218
|
+
|
|
219
|
+
**Dibaca oleh:** Setiap agent di **awal session** (context awareness)
|
|
220
|
+
|
|
221
|
+
**Fungsi:** Menjaga continuity workflow antar-session/antar-developer.
|
|
222
|
+
|
|
223
|
+
```json
|
|
224
|
+
{
|
|
225
|
+
"project_name": "booking-kapal-wisata",
|
|
226
|
+
"last_updated": "2025-06-23 14:30",
|
|
227
|
+
"last_agent": "backend",
|
|
228
|
+
"current_sprint": "Sprint 1 - Auth & Database",
|
|
229
|
+
"active_tasks": ["TASK-001", "TASK-002"],
|
|
230
|
+
"blocked_tasks": [],
|
|
231
|
+
"notes": "TASK-001 (Backend Login) ready for QA. TASK-002 (Frontend Login UI) in progress—waiting for API Contract finalization"
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Aturan:**
|
|
236
|
+
- Setiap agent WAJIB baca file ini di awal untuk understand status project
|
|
237
|
+
- Update di akhir dengan status terkini, task active, blocker, dll
|
|
238
|
+
- Format ketat (JSON) — parser automation bergantung pada structure consistent
|
|
239
|
+
|
|
240
|
+
**Contoh flow:**
|
|
241
|
+
```
|
|
242
|
+
Backend Agent (09:00) baca context.json
|
|
243
|
+
→ lanjut TASK-001 dari status "dev"
|
|
244
|
+
→ selesai, update context: active_tasks=[TASK-002], last_agent="backend", notes="ready for QA"
|
|
245
|
+
→ simpan context.json
|
|
246
|
+
|
|
247
|
+
Frontend Agent (10:00) baca context.json
|
|
248
|
+
→ lihat last_agent="backend", notes="ready for QA"
|
|
249
|
+
→ understand Backend sudah selesai, siap kolaborasi via API Contract
|
|
250
|
+
→ lanjut TASK-002
|
|
251
|
+
→ update context di akhir
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
### **3. agent_handoff.json** — Agent-to-Agent Handoff
|
|
257
|
+
|
|
258
|
+
**Ditulis oleh:** Agent yang mengirim task (overwrite setiap handoff)
|
|
259
|
+
|
|
260
|
+
**Dibaca oleh:** Agent penerima (instruction + artifacts)
|
|
261
|
+
|
|
262
|
+
**Fungsi:** Detailed handoff notes + artifact pointers untuk agent berikutnya.
|
|
263
|
+
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"from_agent": "backend",
|
|
267
|
+
"to_agent": "qa",
|
|
268
|
+
"task_id": "TASK-001",
|
|
269
|
+
"timestamp": "2025-06-23 14:30",
|
|
270
|
+
"status": "ready_to_test",
|
|
271
|
+
"notes": "Login API selesai (POST /api/auth/login, POST /api/auth/refresh). Test case priority: validasi email invalid, password wrong, token refresh expired.",
|
|
272
|
+
"artifacts": [
|
|
273
|
+
"codes/src/app/api/auth/login/route.ts",
|
|
274
|
+
"codes/src/app/api/auth/refresh/route.ts",
|
|
275
|
+
"logs/development/dev_001_login.md"
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Aturan:**
|
|
281
|
+
- Hanya menyimpan handoff **terakhir** (overwrite, jangan append)
|
|
282
|
+
- Artifacts path harus relative ke repo root
|
|
283
|
+
- Gunakan saat menyerahkan task antar-agent formal (bukan sekadar update status di task_list.md)
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
### **4. knowledge_base/** — Living Documentation
|
|
288
|
+
|
|
289
|
+
**Ditulis oleh:** Berbagai agen (Discovery, Analyst, Data Architect, UX Designer, Security, PM)
|
|
290
|
+
|
|
291
|
+
**Dibaca oleh:** Semua agen (setiap agen wajib baca acuan sebelum kerja)
|
|
292
|
+
|
|
293
|
+
**Fungsi:** Single source of truth untuk architectural decisions, design, security policies, dll.
|
|
294
|
+
|
|
295
|
+
#### **knowledge_base/requirements/**
|
|
296
|
+
- Ditulis oleh: **Discovery Agent** (Fase 1 awal)
|
|
297
|
+
- Isi: User stories, scope, constraint, acceptance criteria, assumptions
|
|
298
|
+
- Dibaca oleh: Initiator, Analyst, PM
|
|
299
|
+
- Update: Discovery/Analyst saat scope berubah (dengan gate)
|
|
300
|
+
|
|
301
|
+
#### **knowledge_base/architecture.md**
|
|
302
|
+
- Ditulis oleh: **Initiator** → high-level, **Backend/DevOps** → detailed
|
|
303
|
+
- Isi: System design, tech stack rationale, API patterns, deployment strategy
|
|
304
|
+
- Dibaca oleh: Semua agen (terutama Backend, Frontend, DevOps)
|
|
305
|
+
- Update: Saat ada architectural change (ADR required)
|
|
306
|
+
|
|
307
|
+
#### **knowledge_base/data-model.md**
|
|
308
|
+
- Ditulis oleh: **Data Architect** (Fase 1), **Backend** (maintenance)
|
|
309
|
+
- Isi: Database schema, ERD, indexes, relationships, data governance
|
|
310
|
+
- Dibaca oleh: Backend, Frontend (untuk API contract), Analyst
|
|
311
|
+
- Update: Saat ada schema change (migration + dokumentasi)
|
|
312
|
+
|
|
313
|
+
#### **knowledge_base/design-system.md**
|
|
314
|
+
- Ditulis oleh: **UX Designer** (Fase 1), **Frontend** (maintenance)
|
|
315
|
+
- Isi: Color palette, typography, component library, motion, accessibility
|
|
316
|
+
- Dibaca oleh: Frontend, Backend (untuk validation), Design feedback
|
|
317
|
+
- Update: Saat ada design change (dengan gate)
|
|
318
|
+
|
|
319
|
+
#### **knowledge_base/security-standards.md**
|
|
320
|
+
- Ditulis oleh: **Security Expert** (Fase 1 Mode S, atau Fase 4 audit)
|
|
321
|
+
- Isi: Authentication strategy, encryption, data protection, OWASP, compliance
|
|
322
|
+
- Dibaca oleh: Backend, DevOps, QA (untuk security testing)
|
|
323
|
+
- Update: Saat ada security audit findings atau new requirement (dengan gate)
|
|
324
|
+
|
|
325
|
+
#### **knowledge_base/decisions/**
|
|
326
|
+
- ADR (Architecture Decision Records) untuk keputusan signifikan
|
|
327
|
+
- Format: ADR-001-*.md (title-kebab-case)
|
|
328
|
+
- Isi: Decision, context, alternatives considered, rationale, consequences
|
|
329
|
+
- Ditulis oleh: Agent yang propose (dengan human approval)
|
|
330
|
+
- Dibaca oleh: Semua agen (sebelum buat keputusan serupa)
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
### **Aturan Interaksi state/ folder** ⚠️
|
|
335
|
+
|
|
336
|
+
#### **1. Read sebelum action**
|
|
337
|
+
```bash
|
|
338
|
+
# Setiap agent WAJIB baca di awal session:
|
|
339
|
+
1. context.json — understand current status
|
|
340
|
+
2. agent_handoff.json — jika ada handoff yang ditunggu
|
|
341
|
+
3. knowledge_base/* — acuan untuk domain spesifik
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
#### **2. Update dengan disiplin**
|
|
345
|
+
- **context.json** — update hanya di akhir session (jika ada change)
|
|
346
|
+
- **agent_handoff.json** — tulis hanya saat handoff formal antar-agent
|
|
347
|
+
- **knowledge_base/** — update hanya jika change terverifikasi/approved (No Silent Changes)
|
|
348
|
+
|
|
349
|
+
#### **3. Jangan edit manual**
|
|
350
|
+
- `workspace-manifest.json` — Toolsmith yang kelola (jangan diedit manual)
|
|
351
|
+
- `context.json`, `agent_handoff.json` — Agent yang kelola (format ketat untuk parser)
|
|
352
|
+
- `knowledge_base/` — Hanya agen authorized yang edit (Discovery → requirements, Architect → architecture, dll)
|
|
353
|
+
|
|
354
|
+
#### **4. Conflict resolution**
|
|
355
|
+
- Jika ada conflict di `knowledge_base/` (dua agen edit file sama), **winner adalah yang lebih recent** (by timestamp)
|
|
356
|
+
- Jika conflict signifikan, human harus approve di gate
|
|
357
|
+
|
|
358
|
+
#### **5. Tidak ada "hardcoded state"**
|
|
359
|
+
- state/ folder adalah **tentative** (bisa berubah saat gate review)
|
|
360
|
+
- Final truth tetap di dokumen acuan (specifications/, project_overview.md)
|
|
361
|
+
- state/ adalah **convenience cache** untuk agen continuity, bukan single source of truth
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
### **Contoh Workflow Lengkap**
|
|
366
|
+
|
|
367
|
+
```
|
|
368
|
+
🟦 FASE 1 (Perencanaan)
|
|
369
|
+
|
|
370
|
+
[Discovery] Interview → tulis requirements.md di state/knowledge_base/requirements/
|
|
371
|
+
[Initiator] Baca requirements.md → tulis project_overview.md + architecture.md di knowledge_base/
|
|
372
|
+
[Analyst] Baca project_overview.md → tulis api-contract.md di specifications/
|
|
373
|
+
→ Update context.json: active_tasks=[TASK-001], notes="API Contract finalized, ready for Fase 2"
|
|
374
|
+
[UX Designer] Baca architecture.md → tulis design-system.md di knowledge_base/
|
|
375
|
+
[Data Architect] Baca architecture.md → tulis data-model.md di knowledge_base/
|
|
376
|
+
[Toolsmith] (Mode init) Baca project_overview.md → derive workspace manifest → tulis state/workspace-manifest.json
|
|
377
|
+
→ Apply ke tool aktif (.mcp.json / opencode.json / dll)
|
|
378
|
+
|
|
379
|
+
👤 GATE: Human approve API Contract + workspace setup → Fase 1 done
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
🟩 FASE 2 (Pengerjaan)
|
|
384
|
+
|
|
385
|
+
[Toolsmith] (Mode sync) Verify manifest sesuai config aktif → detect drift jika ada
|
|
386
|
+
[Backend] Baca context.json → active_tasks=[TASK-001]
|
|
387
|
+
→ Baca api-contract.md di specifications/
|
|
388
|
+
→ Baca data-model.md di knowledge_base/
|
|
389
|
+
→ Implementasi login API
|
|
390
|
+
→ Update context.json: last_agent="backend", notes="Login API ready"
|
|
391
|
+
→ Tulis agent_handoff.json → to_agent="qa", status="ready_to_test"
|
|
392
|
+
|
|
393
|
+
[QA] Baca context.json → lihat last_agent="backend"
|
|
394
|
+
→ Baca agent_handoff.json → understand task & artifacts
|
|
395
|
+
→ Review code, run security checks
|
|
396
|
+
→ Approve atau request fix
|
|
397
|
+
|
|
398
|
+
[Frontend] Paralel dengan Backend
|
|
399
|
+
→ Baca api-contract.md, design-system.md
|
|
400
|
+
→ Implementasi login UI
|
|
401
|
+
→ Update context.json
|
|
402
|
+
|
|
403
|
+
👤 GATE: Human approve kode → Fase 2 done
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
🟨 FASE 3 (Testing) & 🟧 FASE 4 (Hardening)
|
|
408
|
+
|
|
409
|
+
[Tester] Baca context.json → understand status
|
|
410
|
+
→ Run E2E tests
|
|
411
|
+
→ Report findings
|
|
412
|
+
|
|
413
|
+
[Security] Baca knowledge_base/security-standards.md (jika ada)
|
|
414
|
+
→ Audit code
|
|
415
|
+
→ Propose changes → ADR jika signifikan
|
|
416
|
+
→ Update knowledge_base/decisions/
|
|
417
|
+
|
|
418
|
+
→ Update context.json, agent_handoff.json sesuai handoff
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
### **Best Practice**
|
|
424
|
+
|
|
425
|
+
1. **Treat state/ as continuity**, not source of truth
|
|
426
|
+
- Source of truth tetap di `specifications/`, `project_overview.md`, `knowledge_base/`
|
|
427
|
+
- state/ adalah **derived convenience** untuk agen awareness
|
|
428
|
+
|
|
429
|
+
2. **Keep context.json brief**
|
|
430
|
+
- Jangan simpan data besar — hanya summary + pointers
|
|
431
|
+
- Detail ada di task/task_list.md, logs/, artifacts
|
|
432
|
+
|
|
433
|
+
3. **Honor handoff protocol**
|
|
434
|
+
- Jangan skip agent_handoff.json saat formal handoff
|
|
435
|
+
- Frontend tunggu Backend siap sebelum mulai (via handoff + API Contract)
|
|
436
|
+
|
|
437
|
+
4. **Document decisions**
|
|
438
|
+
- Keputusan signifikan (architecture, security, data-model) → ADR di decisions/
|
|
439
|
+
- Jangan hanya di chat/notes — harus permanent di KB
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## 🤖 20 AI Agent Personas & Capabilities
|
|
444
|
+
|
|
445
|
+
{{projectName}} v2.3 menggunakan **20 agent terspesialisasi** di 4 fase:
|
|
446
|
+
|
|
447
|
+
**Fase 1 — Perencanaan (Discovery & Blueprint):**
|
|
448
|
+
- **Discovery Agent** — Wawancara kebutuhan → requirements.md
|
|
449
|
+
- **Initiator Agent** — Tulis project_overview.md (tech stack, UI/UX, roadmap)
|
|
450
|
+
- **Data Architect** — Design data model & ERD
|
|
451
|
+
- **UX Designer** — Design system (colors, components, motion)
|
|
452
|
+
- **Analyst Agent** — Spesifikasi & API Contract
|
|
453
|
+
- **Toolsmith Agent** ⭐ NEW — Provisioning workspace agentik (skills + MCP)
|
|
454
|
+
|
|
455
|
+
**Fase 2 — Pengerjaan (Implementation):**
|
|
456
|
+
- **Backend Engineer** — Server-side API & business logic (standard/deep)
|
|
457
|
+
- **Frontend Engineer** — Client-side UI & integration (standard/deep)
|
|
458
|
+
- **Fullstack Developer** — Satu developer untuk dua sisi (fast mode)
|
|
459
|
+
- **QA Agent** — Code review & static analysis
|
|
460
|
+
- **Fixer Agent** — Bug fixing & debugging
|
|
461
|
+
|
|
462
|
+
**Fase 3 — Testing (E2E & Verification):**
|
|
463
|
+
- **Tester Agent** — Playwright automation & QA testing
|
|
464
|
+
- **Manual Tester Agent** ⭐ NEW — Headful UAT: scenario matrix (Normal/Abnormal), screenshot evidence, Major/Minor defect triage, retest iteration (opsional, berdampingan dengan Tester)
|
|
465
|
+
|
|
466
|
+
**Fase 4 — Hardening (Release Readiness):**
|
|
467
|
+
- **Security Expert** — Threat modeling & OWASP audit
|
|
468
|
+
- **Reliability Engineer** — Performance & load testing
|
|
469
|
+
|
|
470
|
+
**Cross-Phase (Coordination & Documentation):**
|
|
471
|
+
- **Orchestrator** — Pipeline coordinator (/plan-project, /build-feature, /test-feature, /release, dll)
|
|
472
|
+
- **PM Agent** — Task management & progress tracking
|
|
473
|
+
- **DevOps Agent** — Infrastructure & CI/CD setup
|
|
474
|
+
- **Document Agent** — Technical documentation
|
|
475
|
+
|
|
476
|
+
> 🔗 **Detail lengkap** mengenai cara kerja, rules, integrasi alur tugas, serta kemampuan (*capabilities*) dari tiap-tiap agen dapat dibaca di panduan terpisah:
|
|
477
|
+
> 👉 **[BACA: Panduan Persona & Kemampuan Agen (AGENT_PERSONAS.md)](./AGENT_PERSONAS.md)**
|
|
478
|
+
|
|
479
|
+
---
|
|
480
|
+
|
|
481
|
+
## ✨ Perubahan Utama v2.2
|
|
482
|
+
|
|
483
|
+
### **1. Toolsmith Agent — Workspace Provisioning Agentik** ⭐
|
|
484
|
+
Agen baru (ke-19) yang mengotomatisasi setup AI tool. Membedakan:
|
|
485
|
+
- **Toolsmith** → Setup tool AI (skills + MCP) untuk agent bekerja optimal
|
|
486
|
+
- **DevOps** → Setup runtime produk (Docker, infrastructure)
|
|
487
|
+
|
|
488
|
+
**Desired-State Architecture:**
|
|
489
|
+
- `state/workspace-manifest.json` — Single source of truth (platform-agnostic)
|
|
490
|
+
- Per-tool config (`.mcp.json`, `opencode.json`, `.vscode/mcp.json`) — Derived artifacts
|
|
491
|
+
- `/setup-workspace [init|switch|sync]` — Otomatis detect tool aktif, apply manifest
|
|
492
|
+
|
|
493
|
+
**Benefit:** Ganti tool (Claude Code → OpenCode) tanpa re-derive requirements. Just run `/setup-workspace switch tool=opencode`.
|
|
494
|
+
|
|
495
|
+
### **2. Developer → Fullstack (v2.0 contd.)**
|
|
496
|
+
- **Fast mode** (`depth=fast`) → Satu **Fullstack** developer
|
|
497
|
+
- **Standard/Deep** (`depth=standard|deep`) → **Backend + Frontend paralel** via API Contract
|
|
498
|
+
|
|
499
|
+
### **3. Multi-Tool Support Sync** ⭐ v2.2
|
|
500
|
+
- **GitHub Copilot prompt files** → `.github/prompts/*.prompt.md` (19 agents synced)
|
|
501
|
+
- **Source of truth** → `agent/workflows/` (auto-propagate ke `.claude/`, `.opencode/`, `.agents/`, `.github/prompts/`)
|
|
502
|
+
- **Template sync** → `npm run sync-template` (create-vasvibe template always up-to-date)
|
|
503
|
+
|
|
504
|
+
### **4. Git Workflow Audit** ⭐ v2.2
|
|
505
|
+
- **4 agen** ditambahkan pointer ke `_shared/git-branch-management.md`:
|
|
506
|
+
- DevOps (sebelum menulis infrastructure code)
|
|
507
|
+
- QA (code review checkpoint)
|
|
508
|
+
- Security (vulnerability fix phase)
|
|
509
|
+
- Reliability (hardening phase)
|
|
510
|
+
- **Kenapa:** Consistency git workflow di semua agen, prevent merge conflicts
|
|
511
|
+
|
|
512
|
+
### **5. No Silent Changes Protocol** ⭐ v2.0
|
|
513
|
+
Setiap perubahan yang diminta **harus ditulis ke dokumen acuan**:
|
|
514
|
+
- Request change → Analyst (atau agen terkait) update spec/requirement/design-system
|
|
515
|
+
- Dokumen di-review & approve
|
|
516
|
+
- Agen downstream di-notify
|
|
517
|
+
- Result: No rework, clear audit trail
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
521
|
+
## 🛠️ Cara Memulai (Step-by-Step)
|
|
522
|
+
|
|
523
|
+
### **4-Phase Model Ringkas**
|
|
524
|
+
|
|
525
|
+
Workflow ini diorganisir dalam **4 fase**, tiap fase diakhiri **gate** (approval manusia):
|
|
526
|
+
|
|
527
|
+
```
|
|
528
|
+
🟦 FASE 1: Perencanaan
|
|
529
|
+
Discovery → Requirements → project_overview.md → Tech stack + Design system → Spesifikasi → API Contract
|
|
530
|
+
↓ GATE: Approve API Contract
|
|
531
|
+
|
|
532
|
+
🟩 FASE 2: Pengerjaan
|
|
533
|
+
Analyst spec-lock → Backend + Frontend coding paralel (atau Fullstack fast) → QA review
|
|
534
|
+
↓ GATE: Approve kode
|
|
535
|
+
|
|
536
|
+
🟨 FASE 3: Testing
|
|
537
|
+
E2E Playwright tests → Fixer fixes bugs sampai hijau
|
|
538
|
+
↓ GATE: Approve test results
|
|
539
|
+
|
|
540
|
+
🟧 FASE 4: Hardening
|
|
541
|
+
Security audit + Reliability test → CHANGELOG → Git tag
|
|
542
|
+
↓ GATE: Approve rilis
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
**Aturan:**
|
|
546
|
+
- Tidak boleh lanjut fase tanpa approval di gate
|
|
547
|
+
- Setiap perubahan dicatat ke dokumen acuan (No Silent Changes)
|
|
548
|
+
- Jika ada blocker → discuss & document, jangan skip
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
### **Phase 1: Perencanaan** 👤🤖
|
|
553
|
+
|
|
554
|
+
**Step 0: Tentukan Work Depth**
|
|
555
|
+
|
|
556
|
+
Buka `project_overview.md` (atau buat baru), set:
|
|
557
|
+
```yaml
|
|
558
|
+
WORK_DEPTH: standard # fast | standard | deep
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
**Kapan:**
|
|
562
|
+
- `fast` — MVP, prototype, eksplorasi ide (Fullstack 1 agen)
|
|
563
|
+
- `standard` — Produksi normal (Backend + Frontend terpisah) **← DEFAULT**
|
|
564
|
+
- `deep` — Fintech, auth, data sensitif (+ Security + Reliability)
|
|
565
|
+
|
|
566
|
+
---
|
|
567
|
+
|
|
568
|
+
### **Phase 1a: Project Initialization** 👤🤖
|
|
569
|
+
|
|
570
|
+
**👤 Human Decision:**
|
|
571
|
+
1. Tentukan ide proyek (apa yang ingin dibuat?)
|
|
572
|
+
2. Tentukan scope minimal (MVP) vs future features
|
|
573
|
+
3. Tentukan deadline & budget constraints
|
|
574
|
+
|
|
575
|
+
**🤖 AI Execution:**
|
|
576
|
+
|
|
577
|
+
**Step 1: Inisialisasi Proyek**
|
|
578
|
+
|
|
579
|
+
```bash
|
|
580
|
+
# Di VS Code, panggil Initiator Agent
|
|
581
|
+
/initiator
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
**Input ke Agent:**
|
|
585
|
+
```
|
|
586
|
+
"Aplikasi manajemen booking kapal wisata Labuan Bajo.
|
|
587
|
+
Customer bisa booking online, admin bisa manage booking
|
|
588
|
+
& pricing, kru bisa lihat jadwal.
|
|
589
|
+
Pakai Next.js, PostgreSQL, payment gateway Midtrans.
|
|
590
|
+
Target launch April 2025."
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
**Output:**
|
|
594
|
+
- File `project_overview.md` akan dibuat dengan lengkap
|
|
595
|
+
|
|
596
|
+
**👤 Human Review (CRITICAL):**
|
|
597
|
+
- [ ] Baca `project_overview.md` dari awal sampai akhir
|
|
598
|
+
- [ ] Check tech stack (sudah sesuai kebutuhan?)
|
|
599
|
+
- [ ] Check UI/UX guidelines (warna, font, component library)
|
|
600
|
+
- [ ] Check development roadmap (realistis tidak?)
|
|
601
|
+
- [ ] **APPROVE** atau minta revisi ke Agent
|
|
602
|
+
|
|
603
|
+
**⚠️ Jangan lanjut jika belum approve project_overview.md!**
|
|
604
|
+
|
|
605
|
+
---
|
|
606
|
+
|
|
607
|
+
### **Phase 1b: Workspace Provisioning** 🤖 ⭐ v2.2
|
|
608
|
+
|
|
609
|
+
**Setelah tech stack diketahui (di project_overview.md), setup workspace agentik:**
|
|
610
|
+
|
|
611
|
+
```bash
|
|
612
|
+
/setup-workspace init
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
**Toolsmith Agent akan:**
|
|
616
|
+
1. Detect tool aktif (Claude Code? OpenCode? GitHub Copilot?)
|
|
617
|
+
2. Baca `project_overview.md` → extract tech stack
|
|
618
|
+
3. Konsultasi `schemas/workspace-registry.json` → recommend skills + MCP
|
|
619
|
+
4. Present manifest untuk approval
|
|
620
|
+
|
|
621
|
+
**Output:**
|
|
622
|
+
- `state/workspace-manifest.json` — Desired state (platform-agnostic)
|
|
623
|
+
- `.mcp.json` (Claude) / `opencode.json` (OpenCode) / `.vscode/mcp.json` (Copilot) / `.agents/mcp.json` (Antigravity)
|
|
624
|
+
- Secrets sebagai `${VAR}` placeholder → developer isi di `.env`
|
|
625
|
+
|
|
626
|
+
**👤 Human:**
|
|
627
|
+
- [ ] Review manifest (skills + MCP sesuai tech stack?)
|
|
628
|
+
- [ ] Fill `.env` dengan secrets
|
|
629
|
+
- [ ] Verify MCP servers functional
|
|
630
|
+
|
|
631
|
+
---
|
|
632
|
+
|
|
633
|
+
### **Phase 1c: Infrastructure Setup** 👤🤖
|
|
634
|
+
|
|
635
|
+
**👤 Human Decision:**
|
|
636
|
+
- Hosting: Local Docker? Cloud (Vercel + Supabase)? VPS?
|
|
637
|
+
- Database size estimate?
|
|
638
|
+
- Backup strategy?
|
|
639
|
+
|
|
640
|
+
**🤖 AI Execution:**
|
|
641
|
+
|
|
642
|
+
**Step 2: Spesifikasi Infrastruktur**
|
|
643
|
+
|
|
644
|
+
```bash
|
|
645
|
+
/analyst
|
|
646
|
+
|
|
647
|
+
"Buat spesifikasi environment setup"
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
**Agent Logic:**
|
|
651
|
+
- Agent akan deteksi `000_spec_environment_setup.md` belum ada
|
|
652
|
+
- Otomatis membuat spec infrastruktur (Docker, DB, Redis, dll)
|
|
653
|
+
|
|
654
|
+
**Output:**
|
|
655
|
+
- `specifications/000_spec_environment_setup.md`
|
|
656
|
+
|
|
657
|
+
**👤 Human Review:**
|
|
658
|
+
- [ ] Check Docker services (App, DB, Redis - perlu semua?)
|
|
659
|
+
- [ ] Check environment variables (API keys, secrets)
|
|
660
|
+
- [ ] Check port configuration (conflict dengan app lain?)
|
|
661
|
+
|
|
662
|
+
**Step 3: Implementasi Infrastructure**
|
|
663
|
+
|
|
664
|
+
```bash
|
|
665
|
+
/developer
|
|
666
|
+
|
|
667
|
+
"Implementasikan SPEC-000 (Environment Setup)"
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
**Output:**
|
|
671
|
+
- `codes/docker-compose.yml`
|
|
672
|
+
- `codes/.env.example`
|
|
673
|
+
- `codes/Dockerfile`
|
|
674
|
+
- `logs/development/dev_000_environment_setup.md`
|
|
675
|
+
|
|
676
|
+
**👤 Human Execution:**
|
|
677
|
+
```bash
|
|
678
|
+
# Jalankan Docker manually
|
|
679
|
+
cd codes
|
|
680
|
+
cp .env.example .env
|
|
681
|
+
# Edit .env sesuai kebutuhan (database password, etc.)
|
|
682
|
+
|
|
683
|
+
docker-compose up -d
|
|
684
|
+
docker-compose logs -f
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
**Verify:**
|
|
688
|
+
- [ ] Database running? (`docker ps`)
|
|
689
|
+
- [ ] App accessible? (`http://localhost:3000`)
|
|
690
|
+
- [ ] No errors di logs?
|
|
691
|
+
|
|
692
|
+
---
|
|
693
|
+
|
|
694
|
+
### **Phase 2: Database Design** 👤🤖
|
|
695
|
+
|
|
696
|
+
**Step 4: Database Schema Specification**
|
|
697
|
+
|
|
698
|
+
```bash
|
|
699
|
+
/analyst
|
|
700
|
+
|
|
701
|
+
"Buat spesifikasi database schema"
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
**Output:**
|
|
705
|
+
- `specifications/001_spec_database_schema.md`
|
|
706
|
+
|
|
707
|
+
**👤 Human Review:**
|
|
708
|
+
- [ ] Check ERD (relasi antar table masuk akal?)
|
|
709
|
+
- [ ] Check field types (JSONB vs separate table?)
|
|
710
|
+
- [ ] Check indexes (performance critical fields?)
|
|
711
|
+
|
|
712
|
+
**Step 5: Prisma Migration**
|
|
713
|
+
|
|
714
|
+
```bash
|
|
715
|
+
/developer
|
|
716
|
+
|
|
717
|
+
"Implementasikan SPEC-001 (Database Schema)"
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
**Output:**
|
|
721
|
+
- `codes/prisma/schema.prisma`
|
|
722
|
+
- `logs/development/dev_001_database_schema.md`
|
|
723
|
+
|
|
724
|
+
**👤 Human Execution:**
|
|
725
|
+
```bash
|
|
726
|
+
cd codes
|
|
727
|
+
npm install
|
|
728
|
+
npx prisma migrate dev --name init
|
|
729
|
+
npx prisma generate
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
**Verify:**
|
|
733
|
+
- [ ] Migration success?
|
|
734
|
+
- [ ] Tables created? (check via Prisma Studio: `npx prisma studio`)
|
|
735
|
+
|
|
736
|
+
---
|
|
737
|
+
|
|
738
|
+
### **Phase 2: Pengerjaan** 👤🤖
|
|
739
|
+
|
|
740
|
+
**Step 0: Sync Workspace** ⭐ v2.2
|
|
741
|
+
|
|
742
|
+
Sebelum build feature, pastikan workspace sync (special jika ganti tool):
|
|
743
|
+
|
|
744
|
+
```bash
|
|
745
|
+
/setup-workspace sync
|
|
746
|
+
# atau jika switch tool:
|
|
747
|
+
/setup-workspace switch tool=opencode
|
|
748
|
+
```
|
|
749
|
+
|
|
750
|
+
**Tujuan:** Verifikasi manifest sesuai config aktual, deteksi drift, update jika ada perubahan tech stack.
|
|
751
|
+
|
|
752
|
+
---
|
|
753
|
+
|
|
754
|
+
### **Step 1: Feature Development Loop** 🔄 👤🤖
|
|
755
|
+
|
|
756
|
+
Ulangi siklus ini untuk **setiap fitur**:
|
|
757
|
+
|
|
758
|
+
#### **Step 1.1: Specification (Analyst)**
|
|
759
|
+
|
|
760
|
+
**👤 Human:** Tentukan fitur mana yang dikerjakan duluan (prioritas)
|
|
761
|
+
|
|
762
|
+
```bash
|
|
763
|
+
/analyst
|
|
764
|
+
|
|
765
|
+
"Buat spesifikasi untuk fitur Booking Management"
|
|
766
|
+
```
|
|
767
|
+
|
|
768
|
+
**🤖 Agent Output:**
|
|
769
|
+
- `specifications/003_spec_booking_management.md`
|
|
770
|
+
- Atau breakdown menjadi atomic specs (003-001, 003-002, dll)
|
|
771
|
+
|
|
772
|
+
**👤 Human Review:**
|
|
773
|
+
- [ ] User stories jelas?
|
|
774
|
+
- [ ] API contracts lengkap?
|
|
775
|
+
- [ ] UI mockups sesuai design system?
|
|
776
|
+
- [ ] Validation rules masuk akal?
|
|
777
|
+
|
|
778
|
+
**⚠️ Approve spec → Then create task:**
|
|
779
|
+
```bash
|
|
780
|
+
/pm
|
|
781
|
+
|
|
782
|
+
"Buat task di task_list.md berdasarkan SPEC-003 (Booking Management)"
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
**🤖 PM Agent Output:**
|
|
786
|
+
- New task entry di `task/task_list.md`:
|
|
787
|
+
```
|
|
788
|
+
### TASK-003: Booking Management
|
|
789
|
+
- **Priority:** P0 (Critical)
|
|
790
|
+
- **Status:** not_started
|
|
791
|
+
- **Spec:** specifications/003_spec_booking_management.md
|
|
792
|
+
- **Dependencies:** TASK-001 (Database Schema), TASK-002 (Authentication)
|
|
793
|
+
- **Assigned To:** -
|
|
794
|
+
- **Description:** Implement booking CRUD operations with DP calculation
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
#### **Step 1.2: Implementation**
|
|
798
|
+
|
|
799
|
+
**Jika depth=fast:**
|
|
800
|
+
```bash
|
|
801
|
+
/fullstack
|
|
802
|
+
|
|
803
|
+
"Implementasikan SPEC-003 (Booking Management)"
|
|
804
|
+
```
|
|
805
|
+
→ Satu Fullstack agent koding dua sisi
|
|
806
|
+
|
|
807
|
+
**Jika depth=standard atau depth=deep:**
|
|
808
|
+
```bash
|
|
809
|
+
/backend
|
|
810
|
+
|
|
811
|
+
"Implementasikan backend SPEC-003 (Booking Management)"
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
```bash
|
|
815
|
+
/frontend
|
|
816
|
+
|
|
817
|
+
"Implementasikan frontend SPEC-003 (Booking Management)"
|
|
818
|
+
```
|
|
819
|
+
→ Backend + Frontend jalankan paralel via API Contract
|
|
820
|
+
|
|
821
|
+
**🤖 Agent akan:**
|
|
822
|
+
1. Read `task/task_list.md` → Find TASK-003
|
|
823
|
+
2. **Update status:** `not_started` → `dev`
|
|
824
|
+
3. **Set Assigned To:** [Backend/Frontend/Fullstack] Agent
|
|
825
|
+
4. Implement code sesuai spec + API Contract
|
|
826
|
+
5. Create development log
|
|
827
|
+
6. **Update status:** `dev` → `ready_to_test`
|
|
828
|
+
|
|
829
|
+
**🤖 Agent Output:**
|
|
830
|
+
- Backend: API routes, business logic, DB queries
|
|
831
|
+
- Frontend: UI components, API integration, styling
|
|
832
|
+
- Log: `logs/development/dev_003_booking_management.md`
|
|
833
|
+
|
|
834
|
+
**👤 Human Tasks:**
|
|
835
|
+
1. **Code Review:**
|
|
836
|
+
- [ ] Logic benar? (hitung DP 50%, validasi tanggal, dll)
|
|
837
|
+
- [ ] Security OK? (authentication, authorization)
|
|
838
|
+
- [ ] Performance? (N+1 query problem?)
|
|
839
|
+
|
|
840
|
+
2. **Manual Testing:**
|
|
841
|
+
```bash
|
|
842
|
+
# Start dev server
|
|
843
|
+
cd codes
|
|
844
|
+
npm run dev
|
|
845
|
+
```
|
|
846
|
+
- [ ] Buka browser → Test create booking
|
|
847
|
+
- [ ] Test validation (input invalid data)
|
|
848
|
+
- [ ] Test edge cases (booking di tanggal yang sudah full)
|
|
849
|
+
|
|
850
|
+
3. **Check Errors:**
|
|
851
|
+
```bash
|
|
852
|
+
# Lihat TypeScript errors
|
|
853
|
+
npm run type-check
|
|
854
|
+
|
|
855
|
+
# Lihat lint errors
|
|
856
|
+
npm run lint
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
**Jika ada bugs di testing:**
|
|
860
|
+
```bash
|
|
861
|
+
/fixer
|
|
862
|
+
|
|
863
|
+
"Ada bug di create booking: DP amount tidak ter-kalkulasi.
|
|
864
|
+
Error: totalPrice is undefined di line 45
|
|
865
|
+
Stack trace: [paste error dari terminal]
|
|
866
|
+
|
|
867
|
+
Reproduce steps:
|
|
868
|
+
1. Buka form create booking
|
|
869
|
+
2. Isi pax = 15
|
|
870
|
+
3. Click Submit
|
|
871
|
+
4. Error muncul"
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
**🤖 Fixer Agent akan:**
|
|
875
|
+
1. Read `task/task_list.md` → Find TASK-003 with status "failed"
|
|
876
|
+
2. **Update status:** `failed` → `fixing`
|
|
877
|
+
3. Analyze error & stack trace
|
|
878
|
+
4. Read related code files
|
|
879
|
+
5. Identify root cause
|
|
880
|
+
6. Apply fix
|
|
881
|
+
7. **PENTING:** Update dokumen spesifikasi (`specifications/`) jika scope fixing melebihi bug kecil
|
|
882
|
+
8. Run tests untuk verify fix
|
|
883
|
+
9. **Update status:** `fixing` → `ready_to_test` (back to Tester)
|
|
884
|
+
10. Create fixing log di `logs/fixing/fixing_003_booking_dp_bug.md`
|
|
885
|
+
|
|
886
|
+
**👤 Human verify:**
|
|
887
|
+
- [ ] Bug fix works? (test manually)
|
|
888
|
+
- [ ] No side effects? (test related features)
|
|
889
|
+
- [ ] Root cause addressed? (bukan just symptom fix)
|
|
890
|
+
|
|
891
|
+
---
|
|
892
|
+
|
|
893
|
+
#### **Step 2.2: Re-test (Tester)**
|
|
894
|
+
|
|
895
|
+
Setelah Fixer fix bugs, Tester run tests ulang sampai hijau.
|
|
896
|
+
|
|
897
|
+
**Gate: Approve saat semua test hijau ✅**
|
|
898
|
+
|
|
899
|
+
#### **Step 1.3: Code Review (QA Agent)**
|
|
900
|
+
|
|
901
|
+
```bash
|
|
902
|
+
/qa
|
|
903
|
+
|
|
904
|
+
"Review SPEC-003 implementation code untuk correctness, security, performance"
|
|
905
|
+
```
|
|
906
|
+
|
|
907
|
+
**🤖 QA Agent akan:**
|
|
908
|
+
1. Static code analysis (TypeScript, linting)
|
|
909
|
+
2. Security checks (OWASP top 10, input validation)
|
|
910
|
+
3. Performance review (N+1 queries, unnecessary re-renders)
|
|
911
|
+
4. Report findings
|
|
912
|
+
|
|
913
|
+
**Output:**
|
|
914
|
+
- Code review comments
|
|
915
|
+
- Pass/Fail status
|
|
916
|
+
|
|
917
|
+
**👤 Human:**
|
|
918
|
+
- [ ] Review QA findings
|
|
919
|
+
- [ ] Approve jika OK, atau minta developer fix
|
|
920
|
+
|
|
921
|
+
---
|
|
922
|
+
|
|
923
|
+
### **Step 2: Testing** 👤🤖
|
|
924
|
+
|
|
925
|
+
**Step 2.1: Testing (Tester)**
|
|
926
|
+
|
|
927
|
+
```bash
|
|
928
|
+
/tester
|
|
929
|
+
|
|
930
|
+
"Buat dan jalankan E2E test untuk Booking Management API"
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
**🤖 Agent akan:**
|
|
934
|
+
1. Read `task/task_list.md` → Find TASK-003 with status "ready_to_test"
|
|
935
|
+
2. Create test scenarios (Playwright) → **Update status:** `ready_to_test` → `testing_ready`
|
|
936
|
+
3. Run tests → **Update status:** `testing_ready` → `testing`
|
|
937
|
+
4. Analyze results → **Update status:** `testing` → `passed` (or `failed`)
|
|
938
|
+
|
|
939
|
+
**🤖 Agent Output:**
|
|
940
|
+
- `tests/e2e/booking.test.ts`
|
|
941
|
+
- `logs/testing/test_003_booking_management.md`
|
|
942
|
+
|
|
943
|
+
**👤 Human Tasks:**
|
|
944
|
+
1. **Verify Test Coverage:**
|
|
945
|
+
- [ ] Happy path tested?
|
|
946
|
+
- [ ] Error cases tested?
|
|
947
|
+
- [ ] Edge cases tested?
|
|
948
|
+
|
|
949
|
+
2. **Run Tests Manually:**
|
|
950
|
+
```bash
|
|
951
|
+
cd codes
|
|
952
|
+
npm test
|
|
953
|
+
```
|
|
954
|
+
|
|
955
|
+
3. **Exploratory Testing:**
|
|
956
|
+
- Test scenario yang tidak tercakup automated test
|
|
957
|
+
- Test dengan real user behavior (random input, rapid clicking, dll)
|
|
958
|
+
|
|
959
|
+
---
|
|
960
|
+
|
|
961
|
+
### **Step 2.1b: Manual/Headful UAT Testing (Manual Tester)** ⭐ NEW — Opsional
|
|
962
|
+
|
|
963
|
+
Selain `/tester` (scripted E2E), tersedia `/manual-test` untuk pengujian bergaya manusia dengan bukti visual — **independen**, bisa dijalankan kapan saja, tidak mengubah gate Fase 3:
|
|
964
|
+
|
|
965
|
+
```bash
|
|
966
|
+
/manual-test
|
|
967
|
+
|
|
968
|
+
"Buat dan jalankan manual UAT test untuk fitur Booking Management"
|
|
969
|
+
```
|
|
970
|
+
|
|
971
|
+
**🤖 Manual Tester Agent akan:**
|
|
972
|
+
1. Susun scenario matrix (minimal 1 Normal + 1 Abnormal per fitur/fungsi)
|
|
973
|
+
2. Eksekusi headful Playwright (browser terlihat), screenshot tiap skenario
|
|
974
|
+
3. Update Pass/Fail, dan untuk yang Fail: deskripsi temuan + Severity (Major/Minor)
|
|
975
|
+
4. Tulis laporan `task/[TASK-ID]_[nama-task]/manual_test_report.md` — berisi sheet **Summary** (agregat: total skenario, pass, fail, major, minor) dan sheet **Scenario Detail** (langkah, ekspektasi, aktual, path screenshot, catatan)
|
|
976
|
+
|
|
977
|
+
**👤 Human:**
|
|
978
|
+
- Review temuan Major → kirim ke `/fixer`
|
|
979
|
+
- Setelah fix, jalankan ulang `/manual-test` untuk retest — iterasi baru otomatis tercatat, histori iterasi sebelumnya tetap tersimpan di laporan yang sama
|
|
980
|
+
|
|
981
|
+
---
|
|
982
|
+
|
|
983
|
+
### **Step 3: Hardening** 👤🤖 (Per-Release)
|
|
984
|
+
|
|
985
|
+
Setelah 3-5 fitur selesai & siap rilis, jalankan hardening:
|
|
986
|
+
|
|
987
|
+
```bash
|
|
988
|
+
/harden-release "1.0.0"
|
|
989
|
+
```
|
|
990
|
+
|
|
991
|
+
**Agents yang jalan:**
|
|
992
|
+
- **Security Agent** — OWASP audit, threat modeling, vulnerability scan
|
|
993
|
+
- **Reliability Agent** — Load testing, performance optimization
|
|
994
|
+
- **Document Agent** — CHANGELOG generation
|
|
995
|
+
|
|
996
|
+
**Output:**
|
|
997
|
+
- `logs/hardening/security_audit_1.0.0.md`
|
|
998
|
+
- `logs/hardening/reliability_test_1.0.0.md`
|
|
999
|
+
- Updated `CHANGELOG.md`
|
|
1000
|
+
- `git tag v1.0.0`
|
|
1001
|
+
|
|
1002
|
+
**👤 Human:**
|
|
1003
|
+
- [ ] Review security findings
|
|
1004
|
+
- [ ] Review performance metrics
|
|
1005
|
+
- [ ] Approve release
|
|
1006
|
+
|
|
1007
|
+
---
|
|
1008
|
+
|
|
1009
|
+
### **Step 4 (Optional): Production Deployment** 👤🤖
|
|
1010
|
+
|
|
1011
|
+
**When to do this:**
|
|
1012
|
+
- Setelah hardening disetujui
|
|
1013
|
+
- Sebelum deployment ke production
|
|
1014
|
+
- Saat merencanakan scaling atau cost optimization
|
|
1015
|
+
- Saat ada infrastructure review perlu
|
|
1016
|
+
|
|
1017
|
+
**Step 4.1: Infrastructure Analysis**
|
|
1018
|
+
|
|
1019
|
+
```bash
|
|
1020
|
+
/sysarch
|
|
1021
|
+
|
|
1022
|
+
"Analyze current application and design server specifications
|
|
1023
|
+
for production deployment. Create deployment plan."
|
|
1024
|
+
```
|
|
1025
|
+
|
|
1026
|
+
**🤖 SysArch Agent akan:**
|
|
1027
|
+
1. Read `project_overview.md`, `specifications/*.md`, codebase
|
|
1028
|
+
2. Analyze database schema, API endpoints, file storage needs
|
|
1029
|
+
3. **ASK critical questions** tentang:
|
|
1030
|
+
- User load (concurrent users, growth rate)
|
|
1031
|
+
- Transaction volume (bookings/day, payments/day)
|
|
1032
|
+
- Data & storage (file uploads, backup requirements)
|
|
1033
|
+
- Performance targets (response time, page load)
|
|
1034
|
+
- Availability (uptime, HA requirements)
|
|
1035
|
+
- Budget & deployment preferences
|
|
1036
|
+
- Security & compliance needs
|
|
1037
|
+
|
|
1038
|
+
**👤 Human:**
|
|
1039
|
+
- [ ] Answer all questions accurately
|
|
1040
|
+
- [ ] Provide conservative estimates
|
|
1041
|
+
|
|
1042
|
+
**Output:**
|
|
1043
|
+
- `architecture/current_state.md`
|
|
1044
|
+
- `architecture/server_specifications.md`
|
|
1045
|
+
- `architecture/deployment_plan.md`
|
|
1046
|
+
- `architecture/cost_analysis.md`
|
|
1047
|
+
- `architecture/monitoring_plan.md`
|
|
1048
|
+
|
|
1049
|
+
**Step 4.2: Review & Approve**
|
|
1050
|
+
|
|
1051
|
+
**👤 Human Review:**
|
|
1052
|
+
- [ ] Server specs sufficient?
|
|
1053
|
+
- [ ] Cost sesuai budget?
|
|
1054
|
+
- [ ] Deployment plan clear?
|
|
1055
|
+
- [ ] Monitoring comprehensive?
|
|
1056
|
+
- [ ] Backup & disaster recovery OK?
|
|
1057
|
+
|
|
1058
|
+
**If cost too high:**
|
|
1059
|
+
```bash
|
|
1060
|
+
/sysarch
|
|
1061
|
+
|
|
1062
|
+
"Cost $500/month, budget $200/month.
|
|
1063
|
+
Provide 2-3 cost optimization scenarios dengan trade-offs."
|
|
1064
|
+
```
|
|
1065
|
+
|
|
1066
|
+
**Step 4.3: Deploy**
|
|
1067
|
+
|
|
1068
|
+
**👤 Human:**
|
|
1069
|
+
- [ ] Follow deployment_plan.md step-by-step
|
|
1070
|
+
- [ ] Setup infrastructure (VPS, Docker, PostgreSQL, monitoring, SSL, backups)
|
|
1071
|
+
- [ ] Verify deployment (app accessible, SSL valid, monitoring alerts OK, backup running)
|
|
1072
|
+
- [ ] Performance check (page load < 3s)
|
|
1073
|
+
|
|
1074
|
+
---
|
|
1075
|
+
|
|
1076
|
+
### **Step 5: Final Documentation** 👤🤖 (Per-Release)
|
|
1077
|
+
|
|
1078
|
+
```bash
|
|
1079
|
+
/document
|
|
1080
|
+
|
|
1081
|
+
"Generate FSD + API documentation dari semua specifications"
|
|
1082
|
+
```
|
|
1083
|
+
|
|
1084
|
+
**Output:**
|
|
1085
|
+
- `documentation/FSD_{{projectName}}.md`
|
|
1086
|
+
- `documentation/API_Documentation.md`
|
|
1087
|
+
|
|
1088
|
+
**👤 Human:**
|
|
1089
|
+
- [ ] Documentation complete & clear?
|
|
1090
|
+
|
|
1091
|
+
---
|
|
1092
|
+
|
|
1093
|
+
## 👤 Tanggung Jawab Manusia (Human-in-the-Loop)
|
|
1094
|
+
|
|
1095
|
+
AI Agent **TIDAK DAPAT** dan **TIDAK BOLEH** mengambil keputusan untuk hal-hal berikut:
|
|
1096
|
+
|
|
1097
|
+
### **1. Business Decisions** 🎯
|
|
1098
|
+
- ❌ Menentukan prioritas fitur (mana yang dikerjakan duluan?)
|
|
1099
|
+
- ❌ Menentukan pricing strategy (berapa harga produk?)
|
|
1100
|
+
- ❌ Menentukan target market (siapa user kita?)
|
|
1101
|
+
- ❌ Approve budget & timeline
|
|
1102
|
+
|
|
1103
|
+
**👤 Human:** Product Owner / Business Stakeholder
|
|
1104
|
+
|
|
1105
|
+
---
|
|
1106
|
+
|
|
1107
|
+
### **2. Architecture Decisions** 🏗️
|
|
1108
|
+
- ❌ Pilih monolith vs microservices?
|
|
1109
|
+
- ❌ Pilih SQL vs NoSQL?
|
|
1110
|
+
- ❌ Pilih cloud provider (AWS vs GCP vs Azure)?
|
|
1111
|
+
- ❌ Approve tech stack yang diusulkan Agent
|
|
1112
|
+
|
|
1113
|
+
**👤 Human:** Tech Lead / Solution Architect
|
|
1114
|
+
|
|
1115
|
+
**✅ Agent:** Memberikan **rekomendasi** + pros/cons, tapi **final decision** tetap di manusia
|
|
1116
|
+
|
|
1117
|
+
---
|
|
1118
|
+
|
|
1119
|
+
### **3. Security & Compliance** 🔒
|
|
1120
|
+
- ❌ Approve deployment ke production
|
|
1121
|
+
- ❌ Approve perubahan database schema di production
|
|
1122
|
+
- ❌ Approve akses ke production secrets/API keys
|
|
1123
|
+
- ❌ Menentukan data retention policy (GDPR, UU PDP)
|
|
1124
|
+
|
|
1125
|
+
**👤 Human:** Security Engineer / Compliance Officer
|
|
1126
|
+
|
|
1127
|
+
**⚠️ Warning:** Agent **DAPAT** menjalankan command berbahaya (`rm -rf`, `DROP TABLE`, dll) jika tidak diawasi!
|
|
1128
|
+
|
|
1129
|
+
---
|
|
1130
|
+
|
|
1131
|
+
### **4. Code Quality Gates** ✅
|
|
1132
|
+
- ❌ Approve merge ke `main` branch
|
|
1133
|
+
- ❌ Approve deployment ke staging/production
|
|
1134
|
+
- ❌ Skip failing tests (NEVER!)
|
|
1135
|
+
|
|
1136
|
+
**👤 Human:** Senior Developer / Team Lead
|
|
1137
|
+
|
|
1138
|
+
**Process:**
|
|
1139
|
+
1. Agent creates code → Human reviews
|
|
1140
|
+
2. If OK → Human approves (via Git PR)
|
|
1141
|
+
3. If NOT OK → Human provides feedback → Agent fixes
|
|
1142
|
+
|
|
1143
|
+
---
|
|
1144
|
+
|
|
1145
|
+
### **5. User Experience Decisions** 🎨
|
|
1146
|
+
- ❌ Final approval untuk UI/UX design
|
|
1147
|
+
- ❌ Menentukan user flow (apakah flow ini intuitif?)
|
|
1148
|
+
- ❌ Approve wording (error messages, button labels, dll)
|
|
1149
|
+
|
|
1150
|
+
**👤 Human:** UX Designer / Product Manager
|
|
1151
|
+
|
|
1152
|
+
**✅ Agent:** Generate UI berdasarkan guidelines, tapi **final polish** tetap perlu human touch
|
|
1153
|
+
|
|
1154
|
+
---
|
|
1155
|
+
|
|
1156
|
+
## 📋 Daily Workflow Checklist
|
|
1157
|
+
|
|
1158
|
+
### **Morning Routine** ☀️
|
|
1159
|
+
|
|
1160
|
+
```bash
|
|
1161
|
+
# 1. Check project progress
|
|
1162
|
+
/pm
|
|
1163
|
+
|
|
1164
|
+
"Tampilkan status project saat ini dari task_list.md"
|
|
1165
|
+
```
|
|
1166
|
+
|
|
1167
|
+
```bash
|
|
1168
|
+
# 2. Sync context dengan Agent
|
|
1169
|
+
/developer
|
|
1170
|
+
|
|
1171
|
+
"Baca logs/development/dev_*.md, apa progres terakhir?"
|
|
1172
|
+
```
|
|
1173
|
+
|
|
1174
|
+
**👤 Human:**
|
|
1175
|
+
- [ ] Review task progress dari task_list.md
|
|
1176
|
+
- [ ] Review semua changes semalam (git diff)
|
|
1177
|
+
- [ ] Check error logs (jika ada background process)
|
|
1178
|
+
- [ ] Prioritize tasks hari ini (based on task_list.md priorities)
|
|
1179
|
+
|
|
1180
|
+
---
|
|
1181
|
+
|
|
1182
|
+
### **Development Cycle** 🔄
|
|
1183
|
+
|
|
1184
|
+
```
|
|
1185
|
+
[Analyst] → [👤 Review] → [PM] → [Developer] → [👤 Test] → [Fixer (if bugs)] → [Tester] → [👤 Approve]
|
|
1186
|
+
↓
|
|
1187
|
+
(Create task in
|
|
1188
|
+
task_list.md) ↓
|
|
1189
|
+
(After MVP)
|
|
1190
|
+
↓
|
|
1191
|
+
[SysArch] → [👤 Review] → [Deploy] → [Monitor]
|
|
1192
|
+
```
|
|
1193
|
+
|
|
1194
|
+
**Per Feature (2-4 hours):**
|
|
1195
|
+
1. **Analyst:** Create spec (30 min)
|
|
1196
|
+
2. **👤 Human:** Review & approve spec (15 min)
|
|
1197
|
+
3. **PM:** Create task in task_list.md (5 min) ⭐ NEW
|
|
1198
|
+
4. **Developer:** Implement code + update task status (1-2 hours)
|
|
1199
|
+
5. **👤 Human:** Code review + manual test (30 min)
|
|
1200
|
+
6. **Fixer:** Fix bugs if found + update task status (15-30 min) ← **OPTIONAL**
|
|
1201
|
+
7. **Tester:** Create & run tests + update task status (30 min)
|
|
1202
|
+
8. **👤 Human:** Verify test results (15 min)
|
|
1203
|
+
|
|
1204
|
+
**Repeat** untuk fitur berikutnya
|
|
1205
|
+
|
|
1206
|
+
**Before Production Deploy (after MVP complete):**
|
|
1207
|
+
1. **SysArch:** Analyze app & create infrastructure plan (2-3 hours)
|
|
1208
|
+
2. **👤 Human:** Answer requirements questions & review plan (1 hour)
|
|
1209
|
+
3. **SysArch/Developer:** Deploy to production (2-4 hours)
|
|
1210
|
+
4. **SysArch:** Setup monitoring & alerts (1 hour)
|
|
1211
|
+
5. **👤 Human:** Verify deployment & monitor metrics (ongoing)
|
|
1212
|
+
|
|
1213
|
+
---
|
|
1214
|
+
|
|
1215
|
+
### **Evening Routine** 🌙
|
|
1216
|
+
|
|
1217
|
+
**👤 Human:**
|
|
1218
|
+
- [ ] Review semua development logs hari ini
|
|
1219
|
+
- [ ] Commit & push changes ke Git
|
|
1220
|
+
- [ ] Update project board (Trello/Jira/Linear)
|
|
1221
|
+
- [ ] Note blocker untuk besok
|
|
1222
|
+
|
|
1223
|
+
```bash
|
|
1224
|
+
# Optional: Update task status based on logs
|
|
1225
|
+
/pm
|
|
1226
|
+
|
|
1227
|
+
"Update task_list.md berdasarkan development logs hari ini"
|
|
1228
|
+
```
|
|
1229
|
+
|
|
1230
|
+
```bash
|
|
1231
|
+
# Optional: Minta Agent summarize hari ini
|
|
1232
|
+
/developer
|
|
1233
|
+
|
|
1234
|
+
"Summarize semua development logs hari ini,
|
|
1235
|
+
apa saja yang sudah selesai dan apa yang masih pending?"
|
|
1236
|
+
```
|
|
1237
|
+
|
|
1238
|
+
```bash
|
|
1239
|
+
# Optional: Generate status report
|
|
1240
|
+
/pm
|
|
1241
|
+
|
|
1242
|
+
"Generate project status report untuk hari ini"
|
|
1243
|
+
```
|
|
1244
|
+
|
|
1245
|
+
---
|
|
1246
|
+
|
|
1247
|
+
## ⚠️ Common Pitfalls & How to Avoid
|
|
1248
|
+
|
|
1249
|
+
### **1. Agent Tidak Punya Context** 🤔
|
|
1250
|
+
**Symptom:** Agent buat code yang tidak sesuai project
|
|
1251
|
+
|
|
1252
|
+
**Fix:**
|
|
1253
|
+
```bash
|
|
1254
|
+
# Selalu arahkan Agent untuk baca context dulu
|
|
1255
|
+
/developer
|
|
1256
|
+
|
|
1257
|
+
"Baca project_overview.md dan specification/003_*.md
|
|
1258
|
+
sebelum implementasi fitur Booking"
|
|
1259
|
+
```
|
|
1260
|
+
|
|
1261
|
+
---
|
|
1262
|
+
|
|
1263
|
+
### **2. Agent Menjalankan Command Berbahaya** ⚠️
|
|
1264
|
+
**Symptom:** Agent suggest `rm -rf` atau `DROP DATABASE`
|
|
1265
|
+
|
|
1266
|
+
**Fix:**
|
|
1267
|
+
- **👤 Human:** ALWAYS review command sebelum execute
|
|
1268
|
+
- Use Git (semua changes bisa di-rollback)
|
|
1269
|
+
- Backup database sebelum migration
|
|
1270
|
+
|
|
1271
|
+
---
|
|
1272
|
+
|
|
1273
|
+
### **3. Spec Tidak Jelas → Code Salah** 📝
|
|
1274
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec ambiguous
|
|
1275
|
+
|
|
1276
|
+
**Fix:**
|
|
1277
|
+
- **👤 Human:** Review spec dari Analyst dengan detail
|
|
1278
|
+
- Minta Analyst revisi jika ada yang unclear
|
|
1279
|
+
- Jangan approve spec yang setengah-setengah
|
|
1280
|
+
|
|
1281
|
+
---
|
|
1282
|
+
|
|
1283
|
+
### **4. Infrastructure Planning & Deployment** ⚙️ ⭐ NEW
|
|
1284
|
+
**Symptom:** Aplikasi sudah siap, tapi bingung deploy dimana dan butuh server apa
|
|
1285
|
+
|
|
1286
|
+
**Solution:**
|
|
1287
|
+
```bash
|
|
1288
|
+
/sysarch
|
|
1289
|
+
|
|
1290
|
+
"Analyze current application ({{projectName}} Reservation System).
|
|
1291
|
+
|
|
1292
|
+
Context:
|
|
1293
|
+
- Next.js 14 App Router
|
|
1294
|
+
- PostgreSQL database with 15 tables
|
|
1295
|
+
- File uploads: 10-20 photos/day (~5MB each)
|
|
1296
|
+
- Target: 100 concurrent users, 50 bookings/day
|
|
1297
|
+
- Budget: $200/month
|
|
1298
|
+
- Location: Indonesia users only
|
|
1299
|
+
- Required: 99% uptime, daily backups
|
|
1300
|
+
|
|
1301
|
+
Design server specifications and deployment plan."
|
|
1302
|
+
```
|
|
1303
|
+
|
|
1304
|
+
**SysArch Agent akan:**
|
|
1305
|
+
1. Analyze codebase & database schema
|
|
1306
|
+
2. Ask clarifying questions tentang load, growth, budget
|
|
1307
|
+
3. Create server specifications (CPU, RAM, Storage)
|
|
1308
|
+
4. Design deployment architecture (1-server, 2-server, or cloud)
|
|
1309
|
+
5. Estimate monthly costs
|
|
1310
|
+
6. Provide deployment step-by-step guide
|
|
1311
|
+
7. Setup monitoring plan
|
|
1312
|
+
|
|
1313
|
+
**👤 Human:**
|
|
1314
|
+
- [ ] Answer all requirements questions dengan data akurat
|
|
1315
|
+
- [ ] Review cost analysis (sesuai budget?)
|
|
1316
|
+
- [ ] Review server specs (cukup untuk load?)
|
|
1317
|
+
- [ ] Approve deployment plan
|
|
1318
|
+
- [ ] Execute deployment following the guide
|
|
1319
|
+
|
|
1320
|
+
---
|
|
1321
|
+
|
|
1322
|
+
### **5. Performance Issues in Production** 🐌
|
|
1323
|
+
**Symptom:** Aplikasi lambat, page load > 5 seconds, API timeout
|
|
1324
|
+
|
|
1325
|
+
**Solution:**
|
|
1326
|
+
```bash
|
|
1327
|
+
/sysarch
|
|
1328
|
+
|
|
1329
|
+
"Performance analysis request.
|
|
1330
|
+
|
|
1331
|
+
Current metrics:
|
|
1332
|
+
- Page load time: 8 seconds (target: < 3s)
|
|
1333
|
+
- API response time: 3-5 seconds (target: < 500ms)
|
|
1334
|
+
- Database query time: 2-4 seconds per request
|
|
1335
|
+
- Server CPU: 85% average
|
|
1336
|
+
- Server RAM: 90% usage
|
|
1337
|
+
|
|
1338
|
+
Analyze bottlenecks and provide optimization recommendations.
|
|
1339
|
+
Consider: database indexing, query optimization, caching, CDN, server upgrade."
|
|
1340
|
+
```
|
|
1341
|
+
|
|
1342
|
+
**SysArch Agent akan:**
|
|
1343
|
+
1. Analyze performance metrics
|
|
1344
|
+
2. Identify bottlenecks (database, server resources, network)
|
|
1345
|
+
3. Recommend optimizations
|
|
1346
|
+
4. Estimate performance improvement & costs
|
|
1347
|
+
5. Provide implementation plan
|
|
1348
|
+
|
|
1349
|
+
---
|
|
1350
|
+
|
|
1351
|
+
### **6. Test Coverage Rendah** 🧪
|
|
1352
|
+
**Symptom:** Production bug yang seharusnya ketahuan di test
|
|
1353
|
+
|
|
1354
|
+
**Fix:**
|
|
1355
|
+
```bash
|
|
1356
|
+
/tester
|
|
1357
|
+
|
|
1358
|
+
"Test coverage untuk Booking API masih 60%,
|
|
1359
|
+
tambahkan test untuk edge cases:
|
|
1360
|
+
- Booking di tanggal yang sudah penuh
|
|
1361
|
+
- Booking dengan pax > 22
|
|
1362
|
+
- Booking dengan tanggal di masa lalu"
|
|
1363
|
+
```
|
|
1364
|
+
|
|
1365
|
+
### **7. Bugs di Production** 🐛
|
|
1366
|
+
**Symptom:** User report bug di production, perlu hotfix cepat
|
|
1367
|
+
|
|
1368
|
+
**Fix:**
|
|
1369
|
+
```bash
|
|
1370
|
+
/fixer
|
|
1371
|
+
|
|
1372
|
+
"URGENT: Production bug reported.
|
|
1373
|
+
|
|
1374
|
+
Issue: User tidak bisa cancel booking yang sudah DP_PAID
|
|
1375
|
+
Error: 500 Internal Server Error
|
|
1376
|
+
Endpoint: POST /api/backoffice/bookings/:id/cancel
|
|
1377
|
+
|
|
1378
|
+
Expected: Booking bisa di-cancel dengan refund policy
|
|
1379
|
+
Actual: Server error, booking tidak ter-cancel
|
|
1380
|
+
|
|
1381
|
+
Reproduce:
|
|
1382
|
+
1. Login as admin
|
|
1383
|
+
2. Open booking detail (status: DP_PAID)
|
|
1384
|
+
3. Click Cancel button
|
|
1385
|
+
4. Error 500 muncul
|
|
1386
|
+
|
|
1387
|
+
Logs: [paste error logs dari production]"
|
|
1388
|
+
```
|
|
1389
|
+
|
|
1390
|
+
**Fixer Agent akan:**
|
|
1391
|
+
1. Analyze production logs
|
|
1392
|
+
2. Reproduce locally
|
|
1393
|
+
3. Fix bug dengan minimal changes (hotfix approach)
|
|
1394
|
+
4. Update dokumen spesifikasi terkait fitur yang difixing sesuai dengan scope fixing yang diberikan oleh user
|
|
1395
|
+
4. Run regression tests
|
|
1396
|
+
5. Create fixing log dengan deployment notes
|
|
1397
|
+
|
|
1398
|
+
**👤 Human:**
|
|
1399
|
+
- [ ] Test fix di staging
|
|
1400
|
+
- [ ] Approve deployment ke production
|
|
1401
|
+
- [ ] Monitor production logs setelah deploy
|
|
1402
|
+
- [ ] Notify users bug sudah fixed
|
|
1403
|
+
|
|
1404
|
+
---
|
|
1405
|
+
|
|
1406
|
+
## 🎯 Success Metrics
|
|
1407
|
+
|
|
1408
|
+
**Project dianggap berhasil jika:**
|
|
1409
|
+
- ✅ Semua spesifikasi di-review & approve manusia
|
|
1410
|
+
- ✅ Test coverage > 80%
|
|
1411
|
+
- ✅ Zero critical bugs di production
|
|
1412
|
+
- ✅ Development logs lengkap (easy onboarding developer baru)
|
|
1413
|
+
- ✅ Documentation up-to-date
|
|
1414
|
+
- ✅ Infrastructure well-planned & cost-optimized ⭐ NEW
|
|
1415
|
+
- ✅ Production deployment smooth dengan monitoring active ⭐ NEW
|
|
1416
|
+
- ✅ Performance meets SLA (response time, uptime) ⭐ NEW
|
|
1417
|
+
|
|
1418
|
+
**AI Agent membantu achieve ini dengan:**
|
|
1419
|
+
- 🤖 Konsistensi code quality (follow standards)
|
|
1420
|
+
- 🤖 Dokumentasi otomatis (never outdated)
|
|
1421
|
+
- 🤖 Fast iteration (spec → code → test dalam 1 hari)
|
|
1422
|
+
- 🤖 Infrastructure planning data-driven (SysArch Agent) ⭐ NEW
|
|
1423
|
+
- 🤖 Cost optimization recommendations ⭐ NEW
|
|
1424
|
+
- 🤖 Performance monitoring & alerting setup ⭐ NEW
|
|
1425
|
+
|
|
1426
|
+
**Tapi final quality tetap tanggung jawab Human!** 👤
|
|
1427
|
+
|
|
1428
|
+
|
|
1429
|
+
|
|
1430
|
+
---
|
|
1431
|
+
|
|
1432
|
+
## 📝 Aturan Main (Rules of Engagement)
|
|
1433
|
+
|
|
1434
|
+
### **For AI Agents** 🤖
|
|
1435
|
+
1. **Always Read Context First:**
|
|
1436
|
+
- Baca `project_overview.md` sebelum mulai task
|
|
1437
|
+
- Baca specification terkait sebelum coding
|
|
1438
|
+
- Baca logs terakhir untuk tahu progres
|
|
1439
|
+
|
|
1440
|
+
2. **Never Assume:**
|
|
1441
|
+
- Jika spec tidak jelas → ASK human clarification
|
|
1442
|
+
- Jika ada breaking change → WARN human terlebih dahulu
|
|
1443
|
+
- Jika perlu run destructive command → CONFIRM dulu
|
|
1444
|
+
|
|
1445
|
+
3. **Document Everything:**
|
|
1446
|
+
- Setiap code change harus ada di development log
|
|
1447
|
+
- Setiap test run harus ada di testing log
|
|
1448
|
+
- Setiap bug fix harus ada di fixing log
|
|
1449
|
+
|
|
1450
|
+
### **For Humans** 👤
|
|
1451
|
+
1. **Don't Edit Logs Manually:**
|
|
1452
|
+
- Biarkan Agent yang menulis `logs/development/*.md` dan `logs/testing/*.md`
|
|
1453
|
+
- Format konsisten, easy to parse untuk Agent
|
|
1454
|
+
|
|
1455
|
+
2. **Always Review Before Approve:**
|
|
1456
|
+
- Specifications (apakah sesuai bisnis requirement?)
|
|
1457
|
+
- Code (apakah logic benar & secure?)
|
|
1458
|
+
- Tests (apakah coverage cukup?)
|
|
1459
|
+
|
|
1460
|
+
3. **Read Logs After Break:**
|
|
1461
|
+
```bash
|
|
1462
|
+
# Jika baru buka VS Code setelah istirahat
|
|
1463
|
+
/developer
|
|
1464
|
+
|
|
1465
|
+
"Baca semua logs/development/dev_*.md,
|
|
1466
|
+
summarize progres terakhir dan apa yang pending"
|
|
1467
|
+
```
|
|
1468
|
+
|
|
1469
|
+
4. **Terminal Safety:**
|
|
1470
|
+
- **⚠️ NEVER** auto-approve terminal commands tanpa review
|
|
1471
|
+
- Especially: `rm`, `DROP`, `DELETE`, deployment commands
|
|
1472
|
+
- Use Git (easy rollback jika ada masalah)
|
|
1473
|
+
|
|
1474
|
+
5. **UI/UX Consistency:**
|
|
1475
|
+
- Jika hasil UI jelek/tidak konsisten:
|
|
1476
|
+
```bash
|
|
1477
|
+
/analyst
|
|
1478
|
+
|
|
1479
|
+
"Update UI/UX Guidelines di project_overview.md.
|
|
1480
|
+
Warna button inconsistent, seharusnya pakai Ocean Teal (#0E7490)
|
|
1481
|
+
untuk primary button, Sunset Coral (#F97316) untuk CTA"
|
|
1482
|
+
```
|
|
1483
|
+
|
|
1484
|
+
6. **Infrastructure Planning:** ⭐ NEW
|
|
1485
|
+
- Before production deployment, always consult SysArch Agent
|
|
1486
|
+
- Provide accurate data (realistic estimates, not best-case scenario)
|
|
1487
|
+
- Consider growth: plan for 6-12 months, not just current needs
|
|
1488
|
+
- Budget for monitoring & backups (non-negotiable)
|
|
1489
|
+
```bash
|
|
1490
|
+
/sysarch
|
|
1491
|
+
|
|
1492
|
+
"Analyze app and design production infrastructure.
|
|
1493
|
+
Be conservative with estimates, include 50% growth buffer.
|
|
1494
|
+
Budget: $200/month (strict), prioritize reliability over features."
|
|
1495
|
+
```
|
|
1496
|
+
|
|
1497
|
+
---
|
|
1498
|
+
|
|
1499
|
+
## ⚙️ Customizing Agent Behavior
|
|
1500
|
+
|
|
1501
|
+
Jika ingin mengubah cara kerja Agent (misal: Developer pakai TDD strict, atau Analyst harus bikin ERD diagram), edit file di `.github/prompts/`:
|
|
1502
|
+
|
|
1503
|
+
### **File Structure:**
|
|
1504
|
+
```
|
|
1505
|
+
.github/prompts/
|
|
1506
|
+
├── initiator.prompt.md # Aturan buat project_overview.md
|
|
1507
|
+
├── analyst.prompt.md # Aturan buat specifications
|
|
1508
|
+
├── developer.prompt.md # Coding standards & logging format
|
|
1509
|
+
├── fixer.prompt.md # Bug fixing strategy & debugging approach
|
|
1510
|
+
├── tester.prompt.md # Testing strategy & coverage requirements
|
|
1511
|
+
├── sysarch.prompt.md # Infrastructure planning & deployment ⭐ NEW
|
|
1512
|
+
└── document.prompt.md # Documentation format
|
|
1513
|
+
```
|
|
1514
|
+
|
|
1515
|
+
### **Example Modification:**
|
|
1516
|
+
|
|
1517
|
+
**File:** `.github/prompts/developer.prompt.md`
|
|
1518
|
+
|
|
1519
|
+
**Before:**
|
|
1520
|
+
```markdown
|
|
1521
|
+
**CODING STYLE:** Follow Next.js App Router best practices
|
|
1522
|
+
```
|
|
1523
|
+
|
|
1524
|
+
**After:**
|
|
1525
|
+
```markdown
|
|
1526
|
+
**CODING STYLE:**
|
|
1527
|
+
- Follow Next.js App Router best practices
|
|
1528
|
+
- MUST use Test-Driven Development (TDD)
|
|
1529
|
+
- Write test first before implementation
|
|
1530
|
+
- Minimum test coverage: 90%
|
|
1531
|
+
```
|
|
1532
|
+
|
|
1533
|
+
**Effect:** Developer Agent akan selalu bikin test dulu sebelum coding
|
|
1534
|
+
|
|
1535
|
+
---
|
|
1536
|
+
|
|
1537
|
+
**File:** `.github/prompts/fixer.prompt.md`
|
|
1538
|
+
|
|
1539
|
+
**Customize:**
|
|
1540
|
+
```markdown
|
|
1541
|
+
**BUG FIXING PRIORITY:**
|
|
1542
|
+
1. Security vulnerabilities (CRITICAL - fix within 2 hours)
|
|
1543
|
+
2. Data loss bugs (HIGH - fix within 4 hours)
|
|
1544
|
+
3. Payment/financial bugs (HIGH - fix within 4 hours)
|
|
1545
|
+
4. UI/UX bugs (MEDIUM - fix within 24 hours)
|
|
1546
|
+
5. Performance issues (LOW - fix within 1 week)
|
|
1547
|
+
|
|
1548
|
+
**DEBUGGING APPROACH:**
|
|
1549
|
+
- Always reproduce bug locally first
|
|
1550
|
+
- Use git bisect to find regression commit
|
|
1551
|
+
- Write test case that fails before fix
|
|
1552
|
+
- Verify test passes after fix
|
|
1553
|
+
- Check for similar bugs in codebase
|
|
1554
|
+
```
|
|
1555
|
+
|
|
1556
|
+
**Effect:** Fixer Agent akan prioritize bugs berdasarkan severity
|
|
1557
|
+
|
|
1558
|
+
---
|
|
1559
|
+
|
|
1560
|
+
**File:** `.github/prompts/sysarch.prompt.md` ⭐ NEW
|
|
1561
|
+
|
|
1562
|
+
**Customize:**
|
|
1563
|
+
```markdown
|
|
1564
|
+
**INFRASTRUCTURE PREFERENCES:**
|
|
1565
|
+
- Default cloud provider: DigitalOcean (cost-effective for startups)
|
|
1566
|
+
- Minimum server specs: 2 vCPU, 4GB RAM (never go below this)
|
|
1567
|
+
- Database: Always use managed database (Supabase/AWS RDS)
|
|
1568
|
+
- Backups: Daily automated backups, 30 days retention (non-negotiable)
|
|
1569
|
+
- Monitoring: Free tier tools only (UptimeRobot, Sentry, Papertrail)
|
|
1570
|
+
- CDN: Optional for MVP, required when traffic > 10k users/month
|
|
1571
|
+
|
|
1572
|
+
**COST OPTIMIZATION PRIORITIES:**
|
|
1573
|
+
1. Data integrity & backups (non-negotiable)
|
|
1574
|
+
2. Acceptable performance (2-3s page load OK for MVP)
|
|
1575
|
+
3. 99% uptime (99.9% nice to have)
|
|
1576
|
+
4. CDN (add later when needed)
|
|
1577
|
+
|
|
1578
|
+
**SCALING TRIGGERS:**
|
|
1579
|
+
- CPU > 70% for 24 hours → Vertical scaling
|
|
1580
|
+
- RAM > 80% for 24 hours → Vertical scaling
|
|
1581
|
+
- Response time > 3s → Add caching layer
|
|
1582
|
+
- Traffic > 1000 concurrent users → Horizontal scaling
|
|
1583
|
+
```
|
|
1584
|
+
|
|
1585
|
+
**Effect:** SysArch Agent akan always recommend cost-effective solutions untuk startup
|
|
1586
|
+
|
|
1587
|
+
---
|
|
1588
|
+
|
|
1589
|
+
## 🚨 Troubleshooting
|
|
1590
|
+
|
|
1591
|
+
### **Problem: Agent Lupa Context**
|
|
1592
|
+
**Symptom:** Agent buat code yang tidak sesuai dengan project
|
|
1593
|
+
|
|
1594
|
+
**Solution:**
|
|
1595
|
+
```bash
|
|
1596
|
+
/developer
|
|
1597
|
+
|
|
1598
|
+
"STOP. Baca ulang:
|
|
1599
|
+
1. project_overview.md (tech stack & UI guidelines)
|
|
1600
|
+
2. specifications/004_spec_pricing.md (requirement)
|
|
1601
|
+
3. logs/development/dev_003_*.md (code yang sudah ada)
|
|
1602
|
+
|
|
1603
|
+
Lalu implementasi ulang dengan benar"
|
|
1604
|
+
```
|
|
1605
|
+
|
|
1606
|
+
---
|
|
1607
|
+
|
|
1608
|
+
### **Problem: Specification Terlalu Umum**
|
|
1609
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec tidak detail
|
|
1610
|
+
|
|
1611
|
+
**Solution:**
|
|
1612
|
+
```bash
|
|
1613
|
+
/analyst
|
|
1614
|
+
|
|
1615
|
+
"SPEC-005 terlalu general. Breakdown menjadi atomic specifications:
|
|
1616
|
+
- 005-001: Revenue Summary Card
|
|
1617
|
+
- 005-002: Profit Trend Chart
|
|
1618
|
+
- 005-003: Upcoming Trips Timeline
|
|
1619
|
+
|
|
1620
|
+
Setiap spec harus punya:
|
|
1621
|
+
- User story jelas
|
|
1622
|
+
- API contract lengkap
|
|
1623
|
+
- UI mockup dengan Tailwind classes"
|
|
1624
|
+
```
|
|
1625
|
+
|
|
1626
|
+
---
|
|
1627
|
+
|
|
1628
|
+
### **Problem: Task Status Out of Sync** ⭐ NEW
|
|
1629
|
+
**Symptom:** task_list.md status tidak sesuai dengan development logs atau test results
|
|
1630
|
+
|
|
1631
|
+
**Solution:**
|
|
1632
|
+
```bash
|
|
1633
|
+
/pm
|
|
1634
|
+
|
|
1635
|
+
"Update task_list.md berdasarkan logs di logs/development/ dan logs/testing/.
|
|
1636
|
+
Check semua task status dan pastikan sinkron dengan actual progress"
|
|
1637
|
+
```
|
|
1638
|
+
|
|
1639
|
+
**PM Agent akan:**
|
|
1640
|
+
1. Read all logs di logs/development/ dan logs/testing/
|
|
1641
|
+
2. Identify completed tasks
|
|
1642
|
+
3. Update task status accordingly
|
|
1643
|
+
4. Update "Last Updated" timestamps
|
|
1644
|
+
5. Generate summary of changes
|
|
1645
|
+
|
|
1646
|
+
**Manual Fix (if needed):**
|
|
1647
|
+
- Edit `task/task_list.md` langsung
|
|
1648
|
+
- Update status field: `not_started`, `dev`, `ready_to_test`, `testing_ready`, `testing`, `passed`, `failed`
|
|
1649
|
+
- Update "Last Updated" timestamp: `[YYYY-MM-DD HH:MM]`
|
|
1650
|
+
- Update "Assigned To" field if task handed off
|
|
1651
|
+
|
|
1652
|
+
---
|
|
1653
|
+
|
|
1654
|
+
### **Problem: Too Many Tasks, Tidak Tahu Prioritas** ⭐ NEW
|
|
1655
|
+
**Symptom:** Bingung mau kerjakan task mana dulu
|
|
1656
|
+
|
|
1657
|
+
**Solution:**
|
|
1658
|
+
```bash
|
|
1659
|
+
/pm
|
|
1660
|
+
|
|
1661
|
+
"Tampilkan semua task dengan status 'not_started',
|
|
1662
|
+
sort by priority (P0 → P1 → P2 → P3),
|
|
1663
|
+
dan cek dependencies"
|
|
1664
|
+
```
|
|
1665
|
+
|
|
1666
|
+
**PM Agent akan:**
|
|
1667
|
+
1. List all not_started tasks
|
|
1668
|
+
2. Sort by priority level
|
|
1669
|
+
3. Show dependencies for each task
|
|
1670
|
+
4. Recommend next task to work on (no blockers, highest priority)
|
|
1671
|
+
|
|
1672
|
+
**👤 Human Decision:**
|
|
1673
|
+
- Focus on P0 (Critical) tasks first
|
|
1674
|
+
- Check dependencies (don't start task if dependency not done)
|
|
1675
|
+
- Consider business impact vs technical complexity
|
|
1676
|
+
|
|
1677
|
+
---
|
|
1678
|
+
|
|
1679
|
+
### **Problem: Agent Lupa Context**
|
|
1680
|
+
**Symptom:** Agent buat code yang tidak sesuai dengan project
|
|
1681
|
+
|
|
1682
|
+
**Solution:**
|
|
1683
|
+
```bash
|
|
1684
|
+
/developer
|
|
1685
|
+
|
|
1686
|
+
"STOP. Baca ulang:
|
|
1687
|
+
1. project_overview.md (tech stack & UI guidelines)
|
|
1688
|
+
2. specifications/004_spec_pricing.md (requirement)
|
|
1689
|
+
3. logs/development/dev_003_*.md (code yang sudah ada)
|
|
1690
|
+
|
|
1691
|
+
Lalu implementasi ulang dengan benar"
|
|
1692
|
+
```
|
|
1693
|
+
|
|
1694
|
+
---
|
|
1695
|
+
|
|
1696
|
+
### **Problem: Specification Terlalu Umum**
|
|
1697
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec tidak detail
|
|
1698
|
+
|
|
1699
|
+
**Solution:**
|
|
1700
|
+
```bash
|
|
1701
|
+
/analyst
|
|
1702
|
+
|
|
1703
|
+
"SPEC-005 terlalu general. Breakdown menjadi atomic specifications:
|
|
1704
|
+
- 005-001: Revenue Summary Card
|
|
1705
|
+
- 005-002: Profit Trend Chart
|
|
1706
|
+
- 005-003: Upcoming Trips Timeline
|
|
1707
|
+
|
|
1708
|
+
Setiap spec harus punya:
|
|
1709
|
+
- User story jelas
|
|
1710
|
+
- API contract lengkap
|
|
1711
|
+
- UI mockup dengan Tailwind classes"
|
|
1712
|
+
```
|
|
1713
|
+
|
|
1714
|
+
---
|
|
1715
|
+
|
|
1716
|
+
### **Problem: Task Status Out of Sync** ⭐ NEW
|
|
1717
|
+
**Symptom:** task_list.md status tidak sesuai dengan development logs atau test results
|
|
1718
|
+
|
|
1719
|
+
**Solution:**
|
|
1720
|
+
```bash
|
|
1721
|
+
/pm
|
|
1722
|
+
|
|
1723
|
+
"Update task_list.md berdasarkan logs di logs/development/ dan logs/testing/.
|
|
1724
|
+
Check semua task status dan pastikan sinkron dengan actual progress"
|
|
1725
|
+
```
|
|
1726
|
+
|
|
1727
|
+
**PM Agent akan:**
|
|
1728
|
+
1. Read all logs di logs/development/ dan logs/testing/
|
|
1729
|
+
2. Identify completed tasks
|
|
1730
|
+
3. Update task status accordingly
|
|
1731
|
+
4. Update "Last Updated" timestamps
|
|
1732
|
+
5. Generate summary of changes
|
|
1733
|
+
|
|
1734
|
+
**Manual Fix (if needed):**
|
|
1735
|
+
- Edit `task/task_list.md` langsung
|
|
1736
|
+
- Update status field: `not_started`, `dev`, `ready_to_test`, `testing_ready`, `testing`, `passed`, `failed`
|
|
1737
|
+
- Update "Last Updated" timestamp: `[YYYY-MM-DD HH:MM]`
|
|
1738
|
+
- Update "Assigned To" field if task handed off
|
|
1739
|
+
|
|
1740
|
+
---
|
|
1741
|
+
|
|
1742
|
+
### **Problem: Too Many Tasks, Tidak Tahu Prioritas** ⭐ NEW
|
|
1743
|
+
**Symptom:** Bingung mau kerjakan task mana dulu
|
|
1744
|
+
|
|
1745
|
+
**Solution:**
|
|
1746
|
+
```bash
|
|
1747
|
+
/pm
|
|
1748
|
+
|
|
1749
|
+
"Tampilkan semua task dengan status 'not_started',
|
|
1750
|
+
sort by priority (P0 → P1 → P2 → P3),
|
|
1751
|
+
dan cek dependencies"
|
|
1752
|
+
```
|
|
1753
|
+
|
|
1754
|
+
**PM Agent akan:**
|
|
1755
|
+
1. List all not_started tasks
|
|
1756
|
+
2. Sort by priority level
|
|
1757
|
+
3. Show dependencies for each task
|
|
1758
|
+
4. Recommend next task to work on (no blockers, highest priority)
|
|
1759
|
+
|
|
1760
|
+
**👤 Human Decision:**
|
|
1761
|
+
- Focus on P0 (Critical) tasks first
|
|
1762
|
+
- Check dependencies (don't start task if dependency not done)
|
|
1763
|
+
- Consider business impact vs technical complexity
|
|
1764
|
+
|
|
1765
|
+
---
|
|
1766
|
+
|
|
1767
|
+
### **Problem: Agent Lupa Context**
|
|
1768
|
+
**Symptom:** Agent buat code yang tidak sesuai dengan project
|
|
1769
|
+
|
|
1770
|
+
**Solution:**
|
|
1771
|
+
```bash
|
|
1772
|
+
/developer
|
|
1773
|
+
|
|
1774
|
+
"STOP. Baca ulang:
|
|
1775
|
+
1. project_overview.md (tech stack & UI guidelines)
|
|
1776
|
+
2. specifications/004_spec_pricing.md (requirement)
|
|
1777
|
+
3. logs/development/dev_003_*.md (code yang sudah ada)
|
|
1778
|
+
|
|
1779
|
+
Lalu implementasi ulang dengan benar"
|
|
1780
|
+
```
|
|
1781
|
+
|
|
1782
|
+
---
|
|
1783
|
+
|
|
1784
|
+
### **Problem: Specification Terlalu Umum**
|
|
1785
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec tidak detail
|
|
1786
|
+
|
|
1787
|
+
**Solution:**
|
|
1788
|
+
```bash
|
|
1789
|
+
/analyst
|
|
1790
|
+
|
|
1791
|
+
"SPEC-005 terlalu general. Breakdown menjadi atomic specifications:
|
|
1792
|
+
- 005-001: Revenue Summary Card
|
|
1793
|
+
- 005-002: Profit Trend Chart
|
|
1794
|
+
- 005-003: Upcoming Trips Timeline
|
|
1795
|
+
|
|
1796
|
+
Setiap spec harus punya:
|
|
1797
|
+
- User story jelas
|
|
1798
|
+
- API contract lengkap
|
|
1799
|
+
- UI mockup dengan Tailwind classes"
|
|
1800
|
+
```
|
|
1801
|
+
|
|
1802
|
+
---
|
|
1803
|
+
|
|
1804
|
+
### **Problem: Task Status Out of Sync** ⭐ NEW
|
|
1805
|
+
**Symptom:** task_list.md status tidak sesuai dengan development logs atau test results
|
|
1806
|
+
|
|
1807
|
+
**Solution:**
|
|
1808
|
+
```bash
|
|
1809
|
+
/pm
|
|
1810
|
+
|
|
1811
|
+
"Update task_list.md berdasarkan logs di logs/development/ dan logs/testing/.
|
|
1812
|
+
Check semua task status dan pastikan sinkron dengan actual progress"
|
|
1813
|
+
```
|
|
1814
|
+
|
|
1815
|
+
**PM Agent akan:**
|
|
1816
|
+
1. Read all logs di logs/development/ dan logs/testing/
|
|
1817
|
+
2. Identify completed tasks
|
|
1818
|
+
3. Update task status accordingly
|
|
1819
|
+
4. Update "Last Updated" timestamps
|
|
1820
|
+
5. Generate summary of changes
|
|
1821
|
+
|
|
1822
|
+
**Manual Fix (if needed):**
|
|
1823
|
+
- Edit `task/task_list.md` langsung
|
|
1824
|
+
- Update status field: `not_started`, `dev`, `ready_to_test`, `testing_ready`, `testing`, `passed`, `failed`
|
|
1825
|
+
- Update "Last Updated" timestamp: `[YYYY-MM-DD HH:MM]`
|
|
1826
|
+
- Update "Assigned To" field if task handed off
|
|
1827
|
+
|
|
1828
|
+
---
|
|
1829
|
+
|
|
1830
|
+
### **Problem: Too Many Tasks, Tidak Tahu Prioritas** ⭐ NEW
|
|
1831
|
+
**Symptom:** Bingung mau kerjakan task mana dulu
|
|
1832
|
+
|
|
1833
|
+
**Solution:**
|
|
1834
|
+
```bash
|
|
1835
|
+
/pm
|
|
1836
|
+
|
|
1837
|
+
"Tampilkan semua task dengan status 'not_started',
|
|
1838
|
+
sort by priority (P0 → P1 → P2 → P3),
|
|
1839
|
+
dan cek dependencies"
|
|
1840
|
+
```
|
|
1841
|
+
|
|
1842
|
+
**PM Agent akan:**
|
|
1843
|
+
1. List all not_started tasks
|
|
1844
|
+
2. Sort by priority level
|
|
1845
|
+
3. Show dependencies for each task
|
|
1846
|
+
4. Recommend next task to work on (no blockers, highest priority)
|
|
1847
|
+
|
|
1848
|
+
**👤 Human Decision:**
|
|
1849
|
+
- Focus on P0 (Critical) tasks first
|
|
1850
|
+
- Check dependencies (don't start task if dependency not done)
|
|
1851
|
+
- Consider business impact vs technical complexity
|
|
1852
|
+
|
|
1853
|
+
---
|
|
1854
|
+
|
|
1855
|
+
## 🎓 Learning Resources
|
|
1856
|
+
|
|
1857
|
+
**Untuk memahami lebih dalam cara kerja AI Agent:**
|
|
1858
|
+
|
|
1859
|
+
1. **Function Calling / Tool Use:**
|
|
1860
|
+
- [OpenAI Function Calling Guide](https://platform.openai.com/docs/guides/function-calling)
|
|
1861
|
+
- [Anthropic Claude Tool Use](https://docs.anthropic.com/claude/docs/tool-use)
|
|
1862
|
+
|
|
1863
|
+
2. **Prompt Engineering:**
|
|
1864
|
+
- [Prompt Engineering Guide](https://www.promptingguide.ai/)
|
|
1865
|
+
- [Anthropic Prompt Library](https://docs.anthropic.com/claude/prompt-library)
|
|
1866
|
+
|
|
1867
|
+
3. **Agent Frameworks:**
|
|
1868
|
+
- [LangChain Agents](https://python.langchain.com/docs/modules/agents/)
|
|
1869
|
+
- [AutoGPT](https://github.com/Significant-Gravitas/AutoGPT)
|
|
1870
|
+
|
|
1871
|
+
**Best Practice untuk System Instructions:**
|
|
1872
|
+
- Be specific (jangan ambiguous)
|
|
1873
|
+
- Give examples (few-shot learning)
|
|
1874
|
+
- Set constraints (what NOT to do)
|
|
1875
|
+
- Define success criteria (how to verify output)
|
|
1876
|
+
|
|
1877
|
+
---
|
|
1878
|
+
|
|
1879
|
+
## 📊 Project Progress Tracking
|
|
1880
|
+
|
|
1881
|
+
**Recommended Tools:**
|
|
1882
|
+
- **Linear / Jira:** Task management (link ke SPEC-xxx)
|
|
1883
|
+
- **GitHub Projects:** Kanban board per sprint
|
|
1884
|
+
- **Notion:** Knowledge base (meeting notes, decisions)
|
|
1885
|
+
|
|
1886
|
+
**Integration dengan AI Workflow:**
|
|
1887
|
+
```
|
|
1888
|
+
GitHub Issue #45: Implement Pricing Module
|
|
1889
|
+
↓
|
|
1890
|
+
Analyst creates: SPEC-004
|
|
1891
|
+
↓
|
|
1892
|
+
Developer implements: codes/app/api/pricing/
|
|
1893
|
+
↓
|
|
1894
|
+
Tester creates: tests/integration/pricing.test.ts
|
|
1895
|
+
↓
|
|
1896
|
+
Close issue with link to dev log & test results
|
|
1897
|
+
```
|
|
1898
|
+
|
|
1899
|
+
---
|
|
1900
|
+
|
|
1901
|
+
## 🤝 Team Collaboration
|
|
1902
|
+
|
|
1903
|
+
**Jika tim > 1 person:**
|
|
1904
|
+
|
|
1905
|
+
### **Developer Onboarding:**
|
|
1906
|
+
```bash
|
|
1907
|
+
# New developer joins team
|
|
1908
|
+
/developer
|
|
1909
|
+
|
|
1910
|
+
"Summarize project_overview.md dan semua specifications
|
|
1911
|
+
dalam bentuk onboarding guide untuk new developer.
|
|
1912
|
+
|
|
1913
|
+
Include:
|
|
1914
|
+
- Tech stack & why we choose it
|
|
1915
|
+
- Folder structure explanation
|
|
1916
|
+
- How to run project locally
|
|
1917
|
+
- Common commands
|
|
1918
|
+
- Where to find documentation"
|
|
1919
|
+
```
|
|
1920
|
+
|
|
1921
|
+
### **Code Review Process:**
|
|
1922
|
+
1. Developer A → Bikin feature dengan Developer Agent
|
|
1923
|
+
2. Developer A → Create PR di GitHub
|
|
1924
|
+
3. Developer B → Review PR (manual)
|
|
1925
|
+
4. If OK → Merge
|
|
1926
|
+
5. If NOT → Developer A ask Developer Agent to fix
|
|
1927
|
+
|
|
1928
|
+
### **Knowledge Sharing:**
|
|
1929
|
+
- **Weekly:** Tester Agent generate test coverage report
|
|
1930
|
+
- **Monthly:** Document Agent generate changelog dari semua dev logs
|
|
1931
|
+
- **Quarterly:**
|
|
1932
|
+
- Analyst Agent review & update project_overview.md
|
|
1933
|
+
- SysArch Agent review infrastructure costs & optimization opportunities ⭐ NEW
|
|
1934
|
+
|
|
1935
|
+
---
|
|
1936
|
+
|
|
1937
|
+
*Happy Vibe Coding!* 🚀✨
|
|
1938
|
+
|
|
1939
|
+
**Remember:**
|
|
1940
|
+
- AI Agent = **Accelerator** (makes you 10x faster)
|
|
1941
|
+
- Human = **Navigator** (makes sure direction is correct)
|
|
1942
|
+
- SysArch Agent = **Infrastructure Guardian** (keeps costs low, performance high) ⭐ NEW
|
|
1943
|
+
|
|
1944
|
+
**Together = Unstoppable** 💪🤖👤
|