create-vasvibe 0.1.0 → 0.2.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/template/README.md
CHANGED
|
@@ -1,52 +1,1844 @@
|
|
|
1
|
-
#
|
|
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
4
|
|
|
5
|
-
|
|
5
|
+
Selamat datang di ekosistem **Vibe Coding**.
|
|
6
|
+
Ini adalah standar alur kerja pengembangan software berbasis **AI Agent** (GitHub Copilot + Claude Sonnet) yang mengutamakan struktur, dokumentasi otomatis, dan validasi berjenjang.
|
|
6
7
|
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ⚡ Quick start (untuk tim baru)
|
|
11
|
+
|
|
12
|
+
Scaffold project baru lengkap dengan semua agent prompts, skills, dan struktur folder kerja standar tim:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx create-vasvibe my-new-project
|
|
16
|
+
cd my-new-project
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Yang akan ter-scaffold otomatis:
|
|
20
|
+
- `.agents/`, `.claude/`, `.opencode/`, `.github/prompts/`, `agent/workflows/` — semua agent prompts & skills
|
|
21
|
+
- `codes/`, `specifications/`, `tests/` — folder kerja dengan `.gitignore` rules
|
|
22
|
+
- `project_overview_example.md`, `GIT_STRUCTURE_GUIDE.md`, `README.md`, `skills-lock.json`
|
|
23
|
+
|
|
24
|
+
Flag yang tersedia:
|
|
25
|
+
- `--yes` skip semua prompt
|
|
26
|
+
- `--no-git` skip git init
|
|
27
|
+
- `--no-claude` / `--no-opencode` / `--no-github` / `--no-workflows` untuk exclude toolchain tertentu
|
|
28
|
+
|
|
29
|
+
Source CLI: [`packages/create-vasvibe/`](./packages/create-vasvibe).
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 🤖 Tentang AI Agent
|
|
34
|
+
|
|
35
|
+
**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:
|
|
36
|
+
|
|
37
|
+
- 🔍 **Membaca & menganalisis** file di workspace
|
|
38
|
+
- ✍️ **Menulis & mengedit** kode berdasarkan spesifikasi
|
|
39
|
+
- 🔧 **Menjalankan command** di terminal (build, test, deploy)
|
|
40
|
+
- 🧠 **Mengambil keputusan** berdasarkan context dan error feedback
|
|
41
|
+
- 📝 **Membuat dokumentasi** otomatis dari perubahan yang dilakukan
|
|
42
|
+
|
|
43
|
+
Dalam workflow ini, kita menggunakan **8 AI Agent persona** yang bekerja secara terspesialisasi (mirip tim development sesungguhnya).
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 🚀 Filosofi
|
|
48
|
+
1. **Context is King:** AI tidak bisa bekerja tanpa konteks. `project_overview.md` adalah otak proyek ini.
|
|
49
|
+
2. **Infrastructure First:** Jangan menulis kode fitur sebelum environment (Docker) siap.
|
|
50
|
+
3. **Role Segregation:** Analis, Developer, dan QA adalah persona berbeda dengan tanggung jawab spesifik.
|
|
51
|
+
4. **Log Everything:** Setiap sesi coding dan testing dicatat untuk menjaga kontinuitas memori AI.
|
|
52
|
+
5. **Human-in-the-Loop:** Manusia sebagai Decision Maker, AI sebagai Executor.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 📂 Struktur Direktori Otomatis
|
|
57
|
+
Workflow ini akan secara otomatis mengelola struktur folder berikut:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
root/
|
|
61
|
+
├── .github/
|
|
62
|
+
│ └── prompts/ # [BRAIN] System Instructions untuk AI Agent
|
|
63
|
+
│ ├── initiator.prompt.md # Agent: Project Initiator
|
|
64
|
+
│ ├── analyst.prompt.md # Agent: System Analyst
|
|
65
|
+
│ ├── developer.prompt.md # Agent: Software Developer
|
|
66
|
+
│ ├── fixer.prompt.md # Agent: Bug Fixer & Debugger
|
|
67
|
+
│ ├── developer.prompt.md # Agent: Developer
|
|
68
|
+
│ ├── tester.prompt.md # Agent: QA Tester
|
|
69
|
+
│ ├── fixer.prompt.md # Agent: Bug Fixer
|
|
70
|
+
│ ├── pm.prompt.md # Agent: Project Manager ⭐ NEW
|
|
71
|
+
│ ├── sysarch.prompt.md # Agent: System Architect
|
|
72
|
+
│ └── document.prompt.md # Agent: Technical Writer
|
|
73
|
+
│
|
|
74
|
+
├── project_overview.md # [MASTER] Definisi produk, tech stack, & UI/UX
|
|
75
|
+
│ # 👤 HUMAN: Review & approve setelah Initiator Agent buat
|
|
76
|
+
│
|
|
77
|
+
├── specifications/ # [DOCS] Output dari Analyst Agent
|
|
78
|
+
│ ├── README.md # Index semua spesifikasi
|
|
79
|
+
│ ├── 000_spec_environment_setup.md # Infrastruktur (Wajib pertama)
|
|
80
|
+
│ ├── 001_spec_database_schema.md
|
|
81
|
+
│ ├── 002_spec_authentication.md
|
|
82
|
+
│ ├── 003_spec_booking_management.md
|
|
83
|
+
│ └── ... # 👤 HUMAN: Review setiap spec sebelum dev
|
|
84
|
+
│
|
|
85
|
+
├── task/ # [PROJECT MANAGEMENT] Output dari PM Agent ⭐ NEW
|
|
86
|
+
│ ├── task_list.md # Central task tracking (priority, status, dependencies)
|
|
87
|
+
│ └── PROJECT_STATUS_REPORT.md # Progress reports
|
|
88
|
+
│
|
|
89
|
+
├── architecture/ # [INFRA] Output dari SysArch Agent
|
|
90
|
+
│ ├── current_state.md # Application analysis
|
|
91
|
+
│ ├── server_specifications.md # Server specs (CPU, RAM, Storage)
|
|
92
|
+
│ ├── deployment_plan.md # Deployment strategy & steps
|
|
93
|
+
│ ├── cost_analysis.md # Infrastructure cost breakdown
|
|
94
|
+
│ └── monitoring_plan.md # Observability & alerting
|
|
95
|
+
│
|
|
96
|
+
├── codes/ # [SRC] Output dari Developer Agent
|
|
97
|
+
│ ├── docker-compose.yml
|
|
98
|
+
│ ├── package.json
|
|
99
|
+
│ ├── prisma/
|
|
100
|
+
│ ├── app/ # Next.js App Router
|
|
101
|
+
│ ├── components/
|
|
102
|
+
│ └── ... # 👤 HUMAN: Code review & testing manual
|
|
103
|
+
│
|
|
104
|
+
├── tests/ # [TEST] Output dari Tester Agent
|
|
105
|
+
│ ├── unit/
|
|
106
|
+
│ ├── integration/
|
|
107
|
+
│ └── e2e/ # 👤 HUMAN: Verify test results
|
|
108
|
+
│
|
|
109
|
+
├── logs/ # [TRACKING] Auto-generated logs
|
|
110
|
+
│ ├── development/ # Developer Agent logs
|
|
111
|
+
│ │ ├── dev_001_database_schema.md
|
|
112
|
+
│ │ ├── dev_002_auth_system.md
|
|
113
|
+
│ │ └── ...
|
|
114
|
+
│ ├── testing/ # Tester Agent logs
|
|
115
|
+
│ │ └── test_*.md
|
|
116
|
+
│ └── fixing/ # Bug fixing logs
|
|
117
|
+
│ └── fixing_*.md
|
|
118
|
+
│
|
|
119
|
+
└── documentation/ # [FINAL] Technical Writer output
|
|
120
|
+
└── FSD_{{projectName}}.md # Functional Specification Document
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Legend:**
|
|
124
|
+
- 🤖 **Auto-generated:** File dibuat oleh AI Agent
|
|
125
|
+
- 👤 **Human review required:** File perlu di-review manusia sebelum lanjut
|
|
126
|
+
- 📝 **Living document:** File yang terus di-update
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 🤖 AI Agent Personas & Capabilities
|
|
131
|
+
|
|
132
|
+
Setiap Agent memiliki **system instruction** yang tersimpan di `.github/prompts/` dan dapat dipanggil via slash command.
|
|
133
|
+
|
|
134
|
+
**Total: 8 Specialized Agents**
|
|
135
|
+
|
|
136
|
+
### 1. **Initiator Agent** (`/initiator`)
|
|
137
|
+
**Role:** Project Initiator & Product Manager
|
|
138
|
+
|
|
139
|
+
**Capabilities:**
|
|
140
|
+
- ✅ Mengubah ide kasar menjadi `project_overview.md` yang terstruktur
|
|
141
|
+
- ✅ Menentukan tech stack berdasarkan kebutuhan
|
|
142
|
+
- ✅ Mendefinisikan UI/UX guidelines (color palette, typography, component library)
|
|
143
|
+
- ✅ Membuat development roadmap & timeline
|
|
144
|
+
|
|
145
|
+
**Input Example:**
|
|
146
|
+
```
|
|
147
|
+
/initiator
|
|
148
|
+
|
|
149
|
+
"Aplikasi manajemen booking kapal wisata Labuan Bajo,
|
|
150
|
+
pakai Next.js, harus ada payment gateway dan backoffice
|
|
151
|
+
untuk admin."
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Output:**
|
|
155
|
+
- `project_overview.md` (complete dengan target audience, tech stack, roadmap)
|
|
156
|
+
|
|
157
|
+
**👤 Human Task:**
|
|
158
|
+
- Review `project_overview.md`
|
|
159
|
+
- Approve atau minta revisi (tech stack, UI guidelines, timeline)
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
### 2. **PM Agent** (`/pm`) ⭐ NEW
|
|
164
|
+
**Role:** Project Manager & Task Coordinator
|
|
165
|
+
|
|
166
|
+
**Capabilities:**
|
|
167
|
+
- ✅ Membuat dan mengelola task list di `task/task_list.md`
|
|
168
|
+
- ✅ Memecah specifications menjadi actionable tasks dengan priority (P0-P3)
|
|
169
|
+
- ✅ Tracking status setiap task (not_started → dev → testing → passed)
|
|
170
|
+
- ✅ Mengelola dependencies antar task
|
|
171
|
+
- ✅ Generate project status reports
|
|
172
|
+
- ✅ Monitoring progress dari development logs
|
|
173
|
+
- ✅ Mengidentifikasi blockers dan bottlenecks
|
|
174
|
+
|
|
175
|
+
**When to Use:**
|
|
176
|
+
- Setelah Analyst membuat specifications (untuk create task list)
|
|
177
|
+
- Saat ingin cek project progress
|
|
178
|
+
- Saat perlu update task status setelah development/testing
|
|
179
|
+
- Saat planning sprint atau prioritization
|
|
180
|
+
|
|
181
|
+
**Input Example:**
|
|
182
|
+
```
|
|
183
|
+
/pm
|
|
184
|
+
|
|
185
|
+
"Buat task list berdasarkan semua specifications yang sudah ada"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Output:**
|
|
189
|
+
- `task/task_list.md` dengan struktur:
|
|
190
|
+
- Priority sections (P0: Critical → P3: Low)
|
|
191
|
+
- Task format: TASK-XXX dengan spec reference, status, dependencies
|
|
192
|
+
- Summary: Total tasks, completed, in progress, blocked
|
|
193
|
+
- `task/PROJECT_STATUS_REPORT.md` (jika diminta generate report)
|
|
194
|
+
|
|
195
|
+
**Task Status Flow:**
|
|
196
|
+
```
|
|
197
|
+
not_started → dev (Developer working) → ready_to_test (Dev complete)
|
|
198
|
+
→ testing_ready (Test scenarios created) → testing (Tester running)
|
|
199
|
+
→ passed/failed → human_validated
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Priority Levels:**
|
|
203
|
+
- **P0 (Critical):** Blockers, production bugs, foundational features
|
|
204
|
+
- **P1 (High):** Core features, important bugs
|
|
205
|
+
- - **P2 (Medium):** Enhancement, minor features
|
|
206
|
+
- **P3 (Low):** Nice-to-have, future improvements
|
|
207
|
+
|
|
208
|
+
**👤 Human Task:**
|
|
209
|
+
- Review task priorities (sesuai bisnis priority?)
|
|
210
|
+
- Validate task breakdown (granularity OK?)
|
|
211
|
+
- Approve task assignments
|
|
212
|
+
- Manual validation setelah task passed (human_validated status)
|
|
213
|
+
|
|
214
|
+
**Workflow Integration:**
|
|
215
|
+
```
|
|
216
|
+
[Analyst] Create specs → [PM] Generate task list
|
|
217
|
+
↓
|
|
218
|
+
[Developer] Pick task → Update status: dev → ready_to_test
|
|
219
|
+
↓
|
|
220
|
+
[Tester] Create tests → Update status: testing_ready → testing → passed
|
|
221
|
+
↓
|
|
222
|
+
[PM] Monitor progress → Generate status reports
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
### 3. **Analyst Agent** (`/analyst`)
|
|
228
|
+
**Role:** Lead System Analyst & DevOps Architect
|
|
229
|
+
|
|
230
|
+
**Capabilities:**
|
|
231
|
+
- ✅ Membaca `project_overview.md` untuk context
|
|
232
|
+
- ✅ Membuat spesifikasi infrastruktur (Docker, database schema)
|
|
233
|
+
- ✅ Membuat spesifikasi fitur (user stories, API contracts, UI mockups)
|
|
234
|
+
- ✅ Memecah fitur besar menjadi atomic specifications (1 file = 1 user story)
|
|
235
|
+
- ✅ Validasi tech stack sudah terisi sebelum lanjut
|
|
236
|
+
|
|
237
|
+
**Critical Rule:**
|
|
238
|
+
- **WAJIB** membuat `000_spec_environment_setup.md` terlebih dahulu sebelum spec fitur
|
|
239
|
+
|
|
240
|
+
**Input Example:**
|
|
241
|
+
```
|
|
242
|
+
/analyst
|
|
243
|
+
|
|
244
|
+
"Buat spesifikasi untuk fitur Booking Management"
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Output:**
|
|
248
|
+
- `specifications/004_spec_booking_management.md`
|
|
249
|
+
- Atau breakdown menjadi multiple atomic specs jika fitur terlalu besar
|
|
250
|
+
|
|
251
|
+
**👤 Human Task:**
|
|
252
|
+
- Review spesifikasi (apakah sesuai kebutuhan bisnis?)
|
|
253
|
+
- Check API contracts & database schema
|
|
254
|
+
- Approve sebelum Developer mulai coding
|
|
255
|
+
|
|
256
|
+
**Workflow Integration:**
|
|
257
|
+
```
|
|
258
|
+
[Analyst] Create specification
|
|
259
|
+
↓
|
|
260
|
+
[PM] Create task from spec → Add to task/task_list.md
|
|
261
|
+
↓
|
|
262
|
+
[Developer] Pick task and implement
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
### 4. **Developer Agent** (`/developer`)
|
|
268
|
+
**Role:** Senior Full-Stack Developer
|
|
269
|
+
|
|
270
|
+
**Capabilities:**
|
|
271
|
+
- ✅ Membaca spesifikasi dari Analyst
|
|
272
|
+
- ✅ Menulis kode (frontend, backend, database migration)
|
|
273
|
+
- ✅ Mengikuti coding standards & best practices
|
|
274
|
+
- ✅ Membuat development log otomatis (`logs/development/dev_*.md`)
|
|
275
|
+
- ✅ Menjalankan build & check errors
|
|
276
|
+
- ✅ Fixing bugs berdasarkan error feedback
|
|
277
|
+
- ✅ **Update task status** di `task/task_list.md` (not_started → dev → ready_to_test)
|
|
278
|
+
|
|
279
|
+
**Input Example:**
|
|
280
|
+
```
|
|
281
|
+
/developer
|
|
282
|
+
|
|
283
|
+
"Implementasikan SPEC-004 (Pricing Configuration Module)"
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Output:**
|
|
287
|
+
- Kode di `codes/` (API routes, components, database schema)
|
|
288
|
+
- `logs/development/dev_004_pricing_module.md` (log perubahan)
|
|
289
|
+
|
|
290
|
+
**👤 Human Task:**
|
|
291
|
+
- Code review (check logic, security, performance)
|
|
292
|
+
- Manual testing di browser/Postman
|
|
293
|
+
- Approve atau minta fixing
|
|
294
|
+
|
|
295
|
+
**Task Management Workflow:**
|
|
296
|
+
```
|
|
297
|
+
[Developer] Read task/task_list.md → Find task with status "not_started"
|
|
298
|
+
↓
|
|
299
|
+
[Developer] Update status: not_started → dev (set "Assigned To: Developer Agent")
|
|
300
|
+
↓
|
|
301
|
+
[Developer] Implement feature → Create development log
|
|
302
|
+
↓
|
|
303
|
+
[Developer] Update status: dev → ready_to_test (with timestamp)
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
### 5. **Tester Agent** (`/tester`)
|
|
309
|
+
**Role:** QA Engineer & Test Automation Specialist
|
|
310
|
+
|
|
311
|
+
**Capabilities:**
|
|
312
|
+
- ✅ Membuat unit tests, integration tests, E2E tests
|
|
313
|
+
- ✅ Menjalankan tests di terminal
|
|
314
|
+
- ✅ Menganalisis test failures & memberikan fixing recommendation
|
|
315
|
+
- ✅ Membuat testing log (`logs/testing/test_*.md`)
|
|
316
|
+
- ✅ Self-healing: Memperbaiki tests yang broken karena code changes
|
|
317
|
+
- ✅ **Update task status** di `task/task_list.md` (ready_to_test → testing_ready → testing → passed/failed)
|
|
318
|
+
|
|
319
|
+
**Input Example:**
|
|
320
|
+
```
|
|
321
|
+
/tester
|
|
322
|
+
|
|
323
|
+
"Buat dan jalankan test untuk Pricing Configuration API"
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
**Output:**
|
|
327
|
+
- Test files di `tests/`
|
|
328
|
+
- Terminal execution results
|
|
329
|
+
- `logs/testing/test_004_pricing.md`
|
|
330
|
+
|
|
331
|
+
**👤 Human Task:**
|
|
332
|
+
- Verify test coverage (apakah sudah lengkap?)
|
|
333
|
+
- Check test results (all green?)
|
|
334
|
+
- Manual exploratory testing untuk edge cases
|
|
335
|
+
|
|
336
|
+
**Task Management Workflow:**
|
|
337
|
+
```
|
|
338
|
+
[Tester] Read task/task_list.md → Find task with status "ready_to_test"
|
|
339
|
+
↓
|
|
340
|
+
[Tester] Create test scenarios → Update status: ready_to_test → testing_ready
|
|
341
|
+
↓
|
|
342
|
+
[Tester] Run tests → Update status: testing_ready → testing
|
|
343
|
+
↓
|
|
344
|
+
[Tester] Check results → Update status: testing → passed (or failed)
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
### 6. **Fixer Agent** (`/fixer`)
|
|
350
|
+
**Role:** Bug Hunter & Debugging Specialist
|
|
351
|
+
|
|
352
|
+
**Capabilities:**
|
|
353
|
+
- ✅ Menganalisis error messages (compile errors, runtime errors, test failures)
|
|
354
|
+
- ✅ Membaca stack trace dan pinpoint root cause
|
|
355
|
+
- ✅ Memperbaiki bugs dengan minimal side effects
|
|
356
|
+
- ✅ Membuat fixing log (`logs/fixing/fixing_*.md`)
|
|
357
|
+
- ✅ Validasi fix dengan menjalankan tests
|
|
358
|
+
- ✅ Regression testing (pastikan fix tidak break fitur lain)
|
|
359
|
+
- ✅ **Update task status** di `task/task_list.md` (failed → fixing → ready_to_test)
|
|
360
|
+
|
|
361
|
+
**When to Use:**
|
|
362
|
+
- Setelah Developer bikin code tapi ada errors
|
|
363
|
+
- Setelah Tester report bugs
|
|
364
|
+
- Production bugs yang perlu hotfix
|
|
365
|
+
- Build failures di CI/CD
|
|
366
|
+
|
|
367
|
+
**Input Example:**
|
|
368
|
+
```
|
|
369
|
+
/fixer
|
|
370
|
+
|
|
371
|
+
"Ada bug di create booking: DP amount tidak ter-kalkulasi.
|
|
372
|
+
Error: Cannot read property 'totalPrice' of undefined
|
|
373
|
+
File: app/api/backoffice/bookings/route.ts:45
|
|
374
|
+
|
|
375
|
+
Error terjadi saat user submit booking form dengan pax > 10"
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
**Output:**
|
|
379
|
+
- Fixed code di `codes/`
|
|
380
|
+
- `logs/fixing/fixing_003_booking_dp_calculation.md` (detailed analysis + solution)
|
|
381
|
+
- Test execution result (verify fix works)
|
|
382
|
+
|
|
383
|
+
**👤 Human Task:**
|
|
384
|
+
- Verify fix logic (apakah benar-benar solve root cause?)
|
|
385
|
+
- Check for side effects (fitur lain masih jalan?)
|
|
386
|
+
- Manual testing dengan scenario yang sama
|
|
387
|
+
- Approve atau minta alternative solution
|
|
388
|
+
|
|
389
|
+
**Workflow Integration:**
|
|
390
|
+
```
|
|
391
|
+
Developer creates code → Error found
|
|
392
|
+
↓
|
|
393
|
+
Fixer analyzes → Fix bug → Run tests
|
|
394
|
+
↓
|
|
395
|
+
All green? → Done ✅
|
|
396
|
+
Not green? → Iterate fix
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
**Task Management Workflow:**
|
|
400
|
+
```
|
|
401
|
+
[Tester] Find bugs → Update task status: passed → failed
|
|
402
|
+
↓
|
|
403
|
+
[Fixer] Read task/task_list.md → Find task with status "failed"
|
|
404
|
+
↓
|
|
405
|
+
[Fixer] Update status: failed → fixing (set "Assigned To: Fixer Agent")
|
|
406
|
+
↓
|
|
407
|
+
[Fixer] Fix bugs → Create fixing log
|
|
408
|
+
↓
|
|
409
|
+
[Fixer] Update status: fixing → ready_to_test (back to Tester)
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
### 7. **SysArch Agent** (`/sysarch`)
|
|
415
|
+
**Role:** System Architecture & Operations Specialist
|
|
416
|
+
|
|
417
|
+
**Capabilities:**
|
|
418
|
+
- ✅ Menganalisis application requirements dari codebase dan specifications
|
|
419
|
+
- ✅ Mendesain server specifications (CPU, RAM, Storage, Bandwidth)
|
|
420
|
+
- ✅ Merencanakan infrastructure architecture (dev, staging, production)
|
|
421
|
+
- ✅ Mengestimasi resource requirements & costs
|
|
422
|
+
- ✅ Merekomendasikan deployment strategies (VPS, cloud, containerized)
|
|
423
|
+
- ✅ Membuat operational guidelines (monitoring, backup, scaling, disaster recovery)
|
|
424
|
+
- ✅ Mengoptimasi biaya infrastruktur
|
|
425
|
+
|
|
426
|
+
**When to Use:**
|
|
427
|
+
- Sebelum deployment ke production (infrastructure planning)
|
|
428
|
+
- Saat aplikasi mulai lambat (performance analysis & scaling recommendation)
|
|
429
|
+
- Saat budget review (cost optimization analysis)
|
|
430
|
+
- Saat planning capacity untuk high season
|
|
431
|
+
|
|
432
|
+
**Input Example:**
|
|
433
|
+
```
|
|
434
|
+
/sysarch
|
|
435
|
+
|
|
436
|
+
"Analyze current codebase and design server specifications
|
|
437
|
+
for production deployment. Target: 100 concurrent users,
|
|
438
|
+
50 bookings/day, 99.9% uptime."
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**Output:**
|
|
442
|
+
- `architecture/current_state.md` - Application analysis
|
|
443
|
+
- `architecture/server_specifications.md` - Detailed server specs
|
|
444
|
+
- `architecture/deployment_plan.md` - Step-by-step deployment guide
|
|
445
|
+
- `architecture/cost_analysis.md` - Infrastructure cost breakdown
|
|
446
|
+
- `architecture/monitoring_plan.md` - Observability & alerting setup
|
|
447
|
+
|
|
448
|
+
**👤 Human Task:**
|
|
449
|
+
- Jawab questions tentang load requirements (concurrent users, transactions, etc.)
|
|
450
|
+
- Review server specifications (sesuai budget?)
|
|
451
|
+
- Approve deployment plan
|
|
452
|
+
- Check cost estimates (sustainable?)
|
|
453
|
+
- Decide cloud provider preference
|
|
454
|
+
|
|
455
|
+
**Critical Questions SysArch Will Ask:**
|
|
456
|
+
1. **User Load:** Concurrent users, growth rate, peak season multiplier
|
|
457
|
+
2. **Transaction Volume:** Bookings/day, payments/day, API requests/min
|
|
458
|
+
3. **Data & Storage:** File uploads, data retention, backup requirements
|
|
459
|
+
4. **Performance:** API response time, page load time, CDN needs
|
|
460
|
+
5. **Availability:** Uptime target (99%, 99.9%, 99.99%), HA requirements
|
|
461
|
+
6. **Budget:** Monthly infrastructure budget, cloud provider preference
|
|
462
|
+
7. **Security:** SSL, WAF, DDoS protection, compliance (PCI-DSS, GDPR, UU PDP)
|
|
463
|
+
|
|
464
|
+
**Example Workflow:**
|
|
465
|
+
```
|
|
466
|
+
[SysArch] Ask requirements → [👤 Human] Answer questions
|
|
467
|
+
↓
|
|
468
|
+
[SysArch] Analyze codebase → Design architecture
|
|
469
|
+
↓
|
|
470
|
+
[SysArch] Create specs & deployment plan → [👤 Human] Review & Approve
|
|
471
|
+
↓
|
|
472
|
+
[Developer/SysArch] Deploy to production
|
|
473
|
+
↓
|
|
474
|
+
[SysArch] Setup monitoring → [👤 Human] Monitor metrics
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
### 8. **Document Agent** (`/document`)
|
|
480
|
+
**Role:** Technical Writer
|
|
481
|
+
|
|
482
|
+
**Capabilities:**
|
|
483
|
+
- ✅ Menggabungkan semua specifications menjadi FSD (Functional Specification Document)
|
|
484
|
+
- ✅ Generate API documentation
|
|
485
|
+
- ✅ Membuat user manual / deployment guide
|
|
486
|
+
- ✅ Format markdown yang professional & readable
|
|
487
|
+
|
|
488
|
+
**Input Example:**
|
|
489
|
+
```
|
|
490
|
+
/document
|
|
491
|
+
|
|
492
|
+
"Generate FSD lengkap dari semua specifications"
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
**Output:**
|
|
496
|
+
- `documentation/FSD_{{projectName}}.md`
|
|
497
|
+
- `documentation/API_Documentation.md`
|
|
498
|
+
|
|
499
|
+
**👤 Human Task:**
|
|
500
|
+
- Final review dokumentasi
|
|
501
|
+
- Share ke stakeholder (investor, klien)
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## 🤖 Peran & Perintah (Slash Commands)
|
|
506
|
+
|
|
507
|
+
| Agent | Command | Primary Function | Output | Human Review |
|
|
508
|
+
| --- | --- | --- | --- | --- |
|
|
509
|
+
| **Initiator** | `/initiator` | Project kickoff & overview | `project_overview.md` | ⚠️ **CRITICAL** |
|
|
510
|
+
| **PM** | `/pm` | Task management & coordination | `task/task_list.md`, `task/PROJECT_STATUS_REPORT.md` | ✅ **MEDIUM** |
|
|
511
|
+
| **Analyst** | `/analyst` | Technical specifications | `specifications/*.md` | ⚠️ **HIGH** |
|
|
512
|
+
| **Developer** | `/developer` | Code implementation | `codes/*`, `logs/development/` | ⚠️ **HIGH** |
|
|
513
|
+
| **Tester** | `/tester` | Test automation & QA | `tests/*`, `logs/testing/` | ✅ **MEDIUM** |
|
|
514
|
+
| **Fixer** | `/fixer` | Bug fixing & debugging | `codes/*`, `logs/fixing/` | ⚠️ **HIGH** |
|
|
515
|
+
| **SysArch** | `/sysarch` | Infrastructure & deployment planning | `architecture/*` | ⚠️ **CRITICAL** |
|
|
516
|
+
| **Document** | `/document` | Final documentation | `documentation/*.md` | ✅ **LOW** |
|
|
517
|
+
|
|
518
|
+
---
|
|
519
|
+
|
|
520
|
+
## 🛠️ Cara Memulai (Step-by-Step)
|
|
521
|
+
|
|
522
|
+
### **Phase 0: Project Initialization** 👤🤖
|
|
523
|
+
|
|
524
|
+
**👤 Human Decision:**
|
|
525
|
+
1. Tentukan ide proyek (apa yang ingin dibuat?)
|
|
526
|
+
2. Tentukan scope minimal (MVP) vs future features
|
|
527
|
+
3. Tentukan deadline & budget constraints
|
|
528
|
+
|
|
529
|
+
**🤖 AI Execution:**
|
|
530
|
+
|
|
531
|
+
**Step 1: Inisialisasi Proyek**
|
|
532
|
+
|
|
533
|
+
```bash
|
|
534
|
+
# Di VS Code, panggil Initiator Agent
|
|
535
|
+
/initiator
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
**Input ke Agent:**
|
|
539
|
+
```
|
|
540
|
+
"Aplikasi manajemen booking kapal wisata Labuan Bajo.
|
|
541
|
+
Customer bisa booking online, admin bisa manage booking
|
|
542
|
+
& pricing, kru bisa lihat jadwal.
|
|
543
|
+
Pakai Next.js, PostgreSQL, payment gateway Midtrans.
|
|
544
|
+
Target launch April 2025."
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
**Output:**
|
|
548
|
+
- File `project_overview.md` akan dibuat dengan lengkap
|
|
549
|
+
|
|
550
|
+
**👤 Human Review (CRITICAL):**
|
|
551
|
+
- [ ] Baca `project_overview.md` dari awal sampai akhir
|
|
552
|
+
- [ ] Check tech stack (sudah sesuai kebutuhan?)
|
|
553
|
+
- [ ] Check UI/UX guidelines (warna, font, component library)
|
|
554
|
+
- [ ] Check development roadmap (realistis tidak?)
|
|
555
|
+
- [ ] **APPROVE** atau minta revisi ke Agent
|
|
556
|
+
|
|
557
|
+
**⚠️ Jangan lanjut ke Phase 1 jika belum approve!**
|
|
558
|
+
|
|
559
|
+
---
|
|
560
|
+
|
|
561
|
+
### **Phase 1: Infrastructure Setup** 👤🤖
|
|
562
|
+
|
|
563
|
+
**👤 Human Decision:**
|
|
564
|
+
- Hosting: Local Docker? Cloud (Vercel + Supabase)? VPS?
|
|
565
|
+
- Database size estimate?
|
|
566
|
+
- Backup strategy?
|
|
567
|
+
|
|
568
|
+
**🤖 AI Execution:**
|
|
569
|
+
|
|
570
|
+
**Step 2: Spesifikasi Infrastruktur**
|
|
571
|
+
|
|
572
|
+
```bash
|
|
573
|
+
/analyst
|
|
574
|
+
|
|
575
|
+
"Buat spesifikasi environment setup"
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
**Agent Logic:**
|
|
579
|
+
- Agent akan deteksi `000_spec_environment_setup.md` belum ada
|
|
580
|
+
- Otomatis membuat spec infrastruktur (Docker, DB, Redis, dll)
|
|
581
|
+
|
|
582
|
+
**Output:**
|
|
583
|
+
- `specifications/000_spec_environment_setup.md`
|
|
584
|
+
|
|
585
|
+
**👤 Human Review:**
|
|
586
|
+
- [ ] Check Docker services (App, DB, Redis - perlu semua?)
|
|
587
|
+
- [ ] Check environment variables (API keys, secrets)
|
|
588
|
+
- [ ] Check port configuration (conflict dengan app lain?)
|
|
589
|
+
|
|
590
|
+
**Step 3: Implementasi Infrastructure**
|
|
591
|
+
|
|
592
|
+
```bash
|
|
593
|
+
/developer
|
|
594
|
+
|
|
595
|
+
"Implementasikan SPEC-000 (Environment Setup)"
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
**Output:**
|
|
599
|
+
- `codes/docker-compose.yml`
|
|
600
|
+
- `codes/.env.example`
|
|
601
|
+
- `codes/Dockerfile`
|
|
602
|
+
- `logs/development/dev_000_environment_setup.md`
|
|
603
|
+
|
|
604
|
+
**👤 Human Execution:**
|
|
605
|
+
```bash
|
|
606
|
+
# Jalankan Docker manually
|
|
607
|
+
cd codes
|
|
608
|
+
cp .env.example .env
|
|
609
|
+
# Edit .env sesuai kebutuhan (database password, etc.)
|
|
610
|
+
|
|
611
|
+
docker-compose up -d
|
|
612
|
+
docker-compose logs -f
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
**Verify:**
|
|
616
|
+
- [ ] Database running? (`docker ps`)
|
|
617
|
+
- [ ] App accessible? (`http://localhost:3000`)
|
|
618
|
+
- [ ] No errors di logs?
|
|
619
|
+
|
|
620
|
+
---
|
|
621
|
+
|
|
622
|
+
### **Phase 2: Database Design** 👤🤖
|
|
623
|
+
|
|
624
|
+
**Step 4: Database Schema Specification**
|
|
625
|
+
|
|
626
|
+
```bash
|
|
627
|
+
/analyst
|
|
628
|
+
|
|
629
|
+
"Buat spesifikasi database schema"
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
**Output:**
|
|
633
|
+
- `specifications/001_spec_database_schema.md`
|
|
634
|
+
|
|
635
|
+
**👤 Human Review:**
|
|
636
|
+
- [ ] Check ERD (relasi antar table masuk akal?)
|
|
637
|
+
- [ ] Check field types (JSONB vs separate table?)
|
|
638
|
+
- [ ] Check indexes (performance critical fields?)
|
|
639
|
+
|
|
640
|
+
**Step 5: Prisma Migration**
|
|
641
|
+
|
|
642
|
+
```bash
|
|
643
|
+
/developer
|
|
644
|
+
|
|
645
|
+
"Implementasikan SPEC-001 (Database Schema)"
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**Output:**
|
|
649
|
+
- `codes/prisma/schema.prisma`
|
|
650
|
+
- `logs/development/dev_001_database_schema.md`
|
|
651
|
+
|
|
652
|
+
**👤 Human Execution:**
|
|
653
|
+
```bash
|
|
654
|
+
cd codes
|
|
655
|
+
npm install
|
|
656
|
+
npx prisma migrate dev --name init
|
|
657
|
+
npx prisma generate
|
|
658
|
+
```
|
|
659
|
+
|
|
660
|
+
**Verify:**
|
|
661
|
+
- [ ] Migration success?
|
|
662
|
+
- [ ] Tables created? (check via Prisma Studio: `npx prisma studio`)
|
|
663
|
+
|
|
664
|
+
---
|
|
665
|
+
|
|
666
|
+
### **Phase 3: Feature Development Loop** 🔄 👤🤖
|
|
667
|
+
|
|
668
|
+
Ulangi siklus ini untuk **setiap fitur**:
|
|
669
|
+
|
|
670
|
+
#### **Step 3.1: Specification (Analyst)**
|
|
671
|
+
|
|
672
|
+
**👤 Human:** Tentukan fitur mana yang dikerjakan duluan (prioritas)
|
|
673
|
+
|
|
674
|
+
```bash
|
|
675
|
+
/analyst
|
|
676
|
+
|
|
677
|
+
"Buat spesifikasi untuk fitur Booking Management"
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
**🤖 Agent Output:**
|
|
681
|
+
- `specifications/003_spec_booking_management.md`
|
|
682
|
+
- Atau breakdown menjadi atomic specs (003-001, 003-002, dll)
|
|
683
|
+
|
|
684
|
+
**👤 Human Review:**
|
|
685
|
+
- [ ] User stories jelas?
|
|
686
|
+
- [ ] API contracts lengkap?
|
|
687
|
+
- [ ] UI mockups sesuai design system?
|
|
688
|
+
- [ ] Validation rules masuk akal?
|
|
689
|
+
|
|
690
|
+
**⚠️ Approve spec → Then create task:**
|
|
691
|
+
```bash
|
|
692
|
+
/pm
|
|
693
|
+
|
|
694
|
+
"Buat task di task_list.md berdasarkan SPEC-003 (Booking Management)"
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
**🤖 PM Agent Output:**
|
|
698
|
+
- New task entry di `task/task_list.md`:
|
|
699
|
+
```
|
|
700
|
+
### TASK-003: Booking Management
|
|
701
|
+
- **Priority:** P0 (Critical)
|
|
702
|
+
- **Status:** not_started
|
|
703
|
+
- **Spec:** specifications/003_spec_booking_management.md
|
|
704
|
+
- **Dependencies:** TASK-001 (Database Schema), TASK-002 (Authentication)
|
|
705
|
+
- **Assigned To:** -
|
|
706
|
+
- **Description:** Implement booking CRUD operations with DP calculation
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
#### **Step 3.2: Implementation (Developer)**
|
|
710
|
+
|
|
711
|
+
```bash
|
|
712
|
+
/developer
|
|
713
|
+
|
|
714
|
+
"Implementasikan SPEC-003 (Booking Management)"
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
**🤖 Agent akan:**
|
|
718
|
+
1. Read `task/task_list.md` → Find TASK-003
|
|
719
|
+
2. **Update status:** `not_started` → `dev`
|
|
720
|
+
3. **Set Assigned To:** Developer Agent
|
|
721
|
+
4. Implement code
|
|
722
|
+
5. Create development log
|
|
723
|
+
6. **Update status:** `dev` → `ready_to_test`
|
|
724
|
+
|
|
725
|
+
**🤖 Agent Output:**
|
|
726
|
+
- API routes: `codes/app/api/backoffice/bookings/route.ts`
|
|
727
|
+
- Components: `codes/components/bookings/BookingForm.tsx`
|
|
728
|
+
- Development log: `logs/development/dev_003_booking_management.md`
|
|
729
|
+
|
|
730
|
+
**👤 Human Tasks:**
|
|
731
|
+
1. **Code Review:**
|
|
732
|
+
- [ ] Logic benar? (hitung DP 50%, validasi tanggal, dll)
|
|
733
|
+
- [ ] Security OK? (authentication, authorization)
|
|
734
|
+
- [ ] Performance? (N+1 query problem?)
|
|
735
|
+
|
|
736
|
+
2. **Manual Testing:**
|
|
737
|
+
```bash
|
|
738
|
+
# Start dev server
|
|
739
|
+
cd codes
|
|
740
|
+
npm run dev
|
|
741
|
+
```
|
|
742
|
+
- [ ] Buka browser → Test create booking
|
|
743
|
+
- [ ] Test validation (input invalid data)
|
|
744
|
+
- [ ] Test edge cases (booking di tanggal yang sudah full)
|
|
745
|
+
|
|
746
|
+
3. **Check Errors:**
|
|
747
|
+
```bash
|
|
748
|
+
# Lihat TypeScript errors
|
|
749
|
+
npm run type-check
|
|
750
|
+
|
|
751
|
+
# Lihat lint errors
|
|
752
|
+
npm run lint
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
**If bugs found:**
|
|
756
|
+
```bash
|
|
757
|
+
/fixer
|
|
758
|
+
|
|
759
|
+
"Ada bug di create booking: DP amount tidak ter-kalkulasi.
|
|
760
|
+
Error: totalPrice is undefined di line 45
|
|
761
|
+
Stack trace: [paste error dari terminal]
|
|
762
|
+
|
|
763
|
+
Reproduce steps:
|
|
764
|
+
1. Buka form create booking
|
|
765
|
+
2. Isi pax = 15
|
|
766
|
+
3. Click Submit
|
|
767
|
+
4. Error muncul"
|
|
768
|
+
```
|
|
769
|
+
|
|
770
|
+
**🤖 Fixer Agent akan:**
|
|
771
|
+
1. Read `task/task_list.md` → Find TASK-003 with status "failed"
|
|
772
|
+
2. **Update status:** `failed` → `fixing`
|
|
773
|
+
3. Analyze error & stack trace
|
|
774
|
+
4. Read related code files
|
|
775
|
+
5. Identify root cause
|
|
776
|
+
6. Apply fix
|
|
777
|
+
7. Run tests untuk verify fix
|
|
778
|
+
8. **Update status:** `fixing` → `ready_to_test` (back to Tester)
|
|
779
|
+
9. Create fixing log di `logs/fixing/fixing_003_booking_dp_bug.md`
|
|
780
|
+
|
|
781
|
+
**👤 Human verify:**
|
|
782
|
+
- [ ] Bug fix works? (test manually)
|
|
783
|
+
- [ ] No side effects? (test related features)
|
|
784
|
+
- [ ] Root cause addressed? (bukan just symptom fix)
|
|
785
|
+
|
|
786
|
+
#### **Step 3.3: Testing (Tester)**
|
|
787
|
+
|
|
788
|
+
```bash
|
|
789
|
+
/tester
|
|
790
|
+
|
|
791
|
+
"Buat dan jalankan test untuk Booking Management API"
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
**🤖 Agent akan:**
|
|
795
|
+
1. Read `task/task_list.md` → Find TASK-003 with status "ready_to_test"
|
|
796
|
+
2. Create test scenarios → **Update status:** `ready_to_test` → `testing_ready`
|
|
797
|
+
3. Run tests → **Update status:** `testing_ready` → `testing`
|
|
798
|
+
4. Analyze results → **Update status:** `testing` → `passed` (or `failed`)
|
|
799
|
+
|
|
800
|
+
**🤖 Agent Output:**
|
|
801
|
+
- `tests/integration/booking.test.ts`
|
|
802
|
+
- `logs/testing/test_003_booking_management.md`
|
|
803
|
+
|
|
804
|
+
**👤 Human Tasks:**
|
|
805
|
+
1. **Verify Test Coverage:**
|
|
806
|
+
- [ ] Happy path tested?
|
|
807
|
+
- [ ] Error cases tested?
|
|
808
|
+
- [ ] Edge cases tested?
|
|
809
|
+
|
|
810
|
+
2. **Run Tests Manually:**
|
|
811
|
+
```bash
|
|
812
|
+
cd codes
|
|
813
|
+
npm test
|
|
814
|
+
```
|
|
815
|
+
|
|
816
|
+
3. **Exploratory Testing:**
|
|
817
|
+
- Test scenario yang tidak tercakup automated test
|
|
818
|
+
- Test dengan real user behavior (random input, rapid clicking, dll)
|
|
819
|
+
|
|
820
|
+
---
|
|
821
|
+
|
|
822
|
+
### **Phase 4: Infrastructure Planning & Deployment** 👤🤖 ⭐ NEW
|
|
823
|
+
|
|
824
|
+
**When to do this:**
|
|
825
|
+
- Setelah MVP selesai development & testing (minimum 3-5 features implemented)
|
|
826
|
+
- Sebelum deployment ke production
|
|
827
|
+
- Saat merencanakan scaling untuk high season
|
|
828
|
+
- Saat ada budget review atau cost optimization needs
|
|
829
|
+
|
|
830
|
+
**Step 7: Infrastructure Requirements Gathering**
|
|
831
|
+
|
|
832
|
+
```bash
|
|
833
|
+
/sysarch
|
|
834
|
+
|
|
835
|
+
"Analyze current application and design server specifications
|
|
836
|
+
for production deployment. Create deployment plan."
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
**🤖 SysArch Agent akan:**
|
|
840
|
+
1. Read `project_overview.md`, `specifications/*.md`, codebase
|
|
841
|
+
2. Analyze database schema, API endpoints, file storage needs
|
|
842
|
+
3. **ASK critical questions** tentang:
|
|
843
|
+
- User load (concurrent users, growth rate)
|
|
844
|
+
- Transaction volume (bookings/day, payments/day)
|
|
845
|
+
- Data & storage (file uploads, backup requirements)
|
|
846
|
+
- Performance targets (response time, page load)
|
|
847
|
+
- Availability (uptime, HA requirements)
|
|
848
|
+
- Budget & deployment preferences
|
|
849
|
+
- Security & compliance needs
|
|
850
|
+
|
|
851
|
+
**👤 Human Tasks:**
|
|
852
|
+
- [ ] **ANSWER semua questions** dari SysArch Agent dengan data yang akurat
|
|
853
|
+
- Estimasi conservative (jangan over-promise)
|
|
854
|
+
- Consider seasonal peaks (high season bisa 3-5x normal)
|
|
855
|
+
- Include growth projection (6 months, 1 year, 2 years)
|
|
856
|
+
|
|
857
|
+
**Step 8: Review Architecture Plan**
|
|
858
|
+
|
|
859
|
+
**🤖 SysArch Agent Output:**
|
|
860
|
+
- `architecture/current_state.md` - Application analysis & tech stack summary
|
|
861
|
+
- `architecture/server_specifications.md` - Detailed specs:
|
|
862
|
+
- Development server specs
|
|
863
|
+
- Staging server specs
|
|
864
|
+
- Production server specs (with scaling recommendations)
|
|
865
|
+
- Database server specs
|
|
866
|
+
- Storage requirements
|
|
867
|
+
- `architecture/deployment_plan.md` - Step-by-step deployment guide
|
|
868
|
+
- `architecture/cost_analysis.md` - Monthly cost breakdown by component
|
|
869
|
+
- `architecture/monitoring_plan.md` - Observability setup (metrics, alerts, logs)
|
|
870
|
+
|
|
871
|
+
**👤 Human Review (CRITICAL):**
|
|
872
|
+
- [ ] Server specs realistic untuk workload?
|
|
873
|
+
- [ ] Cost analysis sesuai budget? (jika over budget, diskusikan trade-offs)
|
|
874
|
+
- [ ] Deployment plan clear & executable?
|
|
875
|
+
- [ ] Monitoring plan comprehensive? (uptime, performance, errors, business metrics)
|
|
876
|
+
- [ ] Backup & disaster recovery adequate?
|
|
877
|
+
- [ ] Security measures sufficient? (SSL, firewall, WAF, DDoS)
|
|
878
|
+
|
|
879
|
+
**If cost too high:**
|
|
880
|
+
```bash
|
|
881
|
+
/sysarch
|
|
882
|
+
|
|
883
|
+
"Cost analysis shows $500/month but budget is $200/month.
|
|
884
|
+
Provide cost optimization options with trade-offs.
|
|
885
|
+
|
|
886
|
+
Priorities:
|
|
887
|
+
1. Data integrity & backup (non-negotiable)
|
|
888
|
+
2. Reasonable performance (acceptable: 2-3s page load)
|
|
889
|
+
3. 99% uptime (99.9% nice to have)
|
|
890
|
+
|
|
891
|
+
Can consider:
|
|
892
|
+
- Smaller instance sizes (scale later when needed)
|
|
893
|
+
- Managed database vs self-hosted
|
|
894
|
+
- CDN optional for MVP
|
|
895
|
+
- Monitoring with free tier tools"
|
|
896
|
+
```
|
|
897
|
+
|
|
898
|
+
**🤖 SysArch Agent will:**
|
|
899
|
+
- Provide 2-3 cost optimization scenarios
|
|
900
|
+
- Show trade-offs for each option
|
|
901
|
+
- Recommend which option for MVP vs scale-up plan
|
|
902
|
+
|
|
903
|
+
**Step 9: Deploy to Production**
|
|
904
|
+
|
|
905
|
+
**👤 Human Tasks:**
|
|
906
|
+
1. **Setup Infrastructure:**
|
|
907
|
+
```bash
|
|
908
|
+
# Follow deployment_plan.md step-by-step
|
|
909
|
+
# Example: Setup VPS, install Docker, configure firewall
|
|
910
|
+
```
|
|
911
|
+
|
|
912
|
+
2. **Ask Developer/SysArch Agent for deployment help:**
|
|
913
|
+
```bash
|
|
914
|
+
/developer
|
|
915
|
+
|
|
916
|
+
"Follow architecture/deployment_plan.md, deploy application to production.
|
|
917
|
+
|
|
918
|
+
Server: Ubuntu 22.04 VPS (IP: xxx.xxx.xxx.xxx)
|
|
919
|
+
Domain: example.com
|
|
920
|
+
SSL: Let's Encrypt
|
|
921
|
+
|
|
922
|
+
Setup:
|
|
923
|
+
1. Docker & Docker Compose
|
|
924
|
+
2. PostgreSQL (managed service: Supabase/AWS RDS)
|
|
925
|
+
3. Redis (optional for caching)
|
|
926
|
+
4. Nginx reverse proxy
|
|
927
|
+
5. SSL certificate
|
|
928
|
+
6. Environment variables from .env.production"
|
|
929
|
+
```
|
|
930
|
+
|
|
931
|
+
3. **Setup Monitoring:**
|
|
932
|
+
```bash
|
|
933
|
+
/sysarch
|
|
934
|
+
|
|
935
|
+
"Setup monitoring following monitoring_plan.md.
|
|
936
|
+
|
|
937
|
+
Tools available:
|
|
938
|
+
- Uptime: UptimeRobot (free tier)
|
|
939
|
+
- APM: New Relic / Datadog (free tier)
|
|
940
|
+
- Logs: Papertrail / Logtail (free tier)
|
|
941
|
+
- Error tracking: Sentry (free tier)
|
|
942
|
+
|
|
943
|
+
Setup alerts for:
|
|
944
|
+
- Server down (uptime < 99%)
|
|
945
|
+
- API response time > 2s
|
|
946
|
+
- Database connections > 80%
|
|
947
|
+
- Disk usage > 80%
|
|
948
|
+
- Error rate > 1%"
|
|
949
|
+
```
|
|
950
|
+
|
|
951
|
+
**Verify Production Deployment:**
|
|
952
|
+
- [ ] Application accessible via domain (https://example.com)
|
|
953
|
+
- [ ] SSL certificate valid (green padlock)
|
|
954
|
+
- [ ] Database connected & migrations applied
|
|
955
|
+
- [ ] All API endpoints working
|
|
956
|
+
- [ ] Monitoring alerts configured
|
|
957
|
+
- [ ] Backup scheduled (daily database backup)
|
|
958
|
+
- [ ] Test booking flow end-to-end
|
|
959
|
+
- [ ] Test payment flow (if integrated)
|
|
960
|
+
- [ ] Performance check (page load < 3s)
|
|
961
|
+
|
|
962
|
+
---
|
|
963
|
+
|
|
964
|
+
### **Phase 5: Documentation** 👤🤖
|
|
965
|
+
|
|
966
|
+
**Step 10: Generate Final Documentation**
|
|
967
|
+
|
|
968
|
+
```bash
|
|
969
|
+
/document
|
|
970
|
+
|
|
971
|
+
"Generate FSD lengkap dari semua specifications"
|
|
972
|
+
```
|
|
973
|
+
|
|
974
|
+
**Output:**
|
|
975
|
+
- `documentation/FSD_{{projectName}}.md`
|
|
976
|
+
- `documentation/API_Documentation.md`
|
|
977
|
+
|
|
978
|
+
**👤 Human Review:**
|
|
979
|
+
- [ ] Documentation complete?
|
|
980
|
+
- [ ] Deployment guide clear?
|
|
981
|
+
- [ ] API examples working?
|
|
982
|
+
|
|
983
|
+
---
|
|
984
|
+
|
|
985
|
+
## 👤 Tanggung Jawab Manusia (Human-in-the-Loop)
|
|
986
|
+
|
|
987
|
+
AI Agent **TIDAK DAPAT** dan **TIDAK BOLEH** mengambil keputusan untuk hal-hal berikut:
|
|
988
|
+
|
|
989
|
+
### **1. Business Decisions** 🎯
|
|
990
|
+
- ❌ Menentukan prioritas fitur (mana yang dikerjakan duluan?)
|
|
991
|
+
- ❌ Menentukan pricing strategy (berapa harga produk?)
|
|
992
|
+
- ❌ Menentukan target market (siapa user kita?)
|
|
993
|
+
- ❌ Approve budget & timeline
|
|
994
|
+
|
|
995
|
+
**👤 Human:** Product Owner / Business Stakeholder
|
|
996
|
+
|
|
997
|
+
---
|
|
998
|
+
|
|
999
|
+
### **2. Architecture Decisions** 🏗️
|
|
1000
|
+
- ❌ Pilih monolith vs microservices?
|
|
1001
|
+
- ❌ Pilih SQL vs NoSQL?
|
|
1002
|
+
- ❌ Pilih cloud provider (AWS vs GCP vs Azure)?
|
|
1003
|
+
- ❌ Approve tech stack yang diusulkan Agent
|
|
1004
|
+
|
|
1005
|
+
**👤 Human:** Tech Lead / Solution Architect
|
|
1006
|
+
|
|
1007
|
+
**✅ Agent:** Memberikan **rekomendasi** + pros/cons, tapi **final decision** tetap di manusia
|
|
1008
|
+
|
|
1009
|
+
---
|
|
1010
|
+
|
|
1011
|
+
### **3. Security & Compliance** 🔒
|
|
1012
|
+
- ❌ Approve deployment ke production
|
|
1013
|
+
- ❌ Approve perubahan database schema di production
|
|
1014
|
+
- ❌ Approve akses ke production secrets/API keys
|
|
1015
|
+
- ❌ Menentukan data retention policy (GDPR, UU PDP)
|
|
1016
|
+
|
|
1017
|
+
**👤 Human:** Security Engineer / Compliance Officer
|
|
1018
|
+
|
|
1019
|
+
**⚠️ Warning:** Agent **DAPAT** menjalankan command berbahaya (`rm -rf`, `DROP TABLE`, dll) jika tidak diawasi!
|
|
1020
|
+
|
|
1021
|
+
---
|
|
1022
|
+
|
|
1023
|
+
### **4. Code Quality Gates** ✅
|
|
1024
|
+
- ❌ Approve merge ke `main` branch
|
|
1025
|
+
- ❌ Approve deployment ke staging/production
|
|
1026
|
+
- ❌ Skip failing tests (NEVER!)
|
|
1027
|
+
|
|
1028
|
+
**👤 Human:** Senior Developer / Team Lead
|
|
1029
|
+
|
|
1030
|
+
**Process:**
|
|
1031
|
+
1. Agent creates code → Human reviews
|
|
1032
|
+
2. If OK → Human approves (via Git PR)
|
|
1033
|
+
3. If NOT OK → Human provides feedback → Agent fixes
|
|
1034
|
+
|
|
1035
|
+
---
|
|
1036
|
+
|
|
1037
|
+
### **5. User Experience Decisions** 🎨
|
|
1038
|
+
- ❌ Final approval untuk UI/UX design
|
|
1039
|
+
- ❌ Menentukan user flow (apakah flow ini intuitif?)
|
|
1040
|
+
- ❌ Approve wording (error messages, button labels, dll)
|
|
1041
|
+
|
|
1042
|
+
**👤 Human:** UX Designer / Product Manager
|
|
1043
|
+
|
|
1044
|
+
**✅ Agent:** Generate UI berdasarkan guidelines, tapi **final polish** tetap perlu human touch
|
|
1045
|
+
|
|
1046
|
+
---
|
|
1047
|
+
|
|
1048
|
+
## 📋 Daily Workflow Checklist
|
|
1049
|
+
|
|
1050
|
+
### **Morning Routine** ☀️
|
|
1051
|
+
|
|
1052
|
+
```bash
|
|
1053
|
+
# 1. Check project progress
|
|
1054
|
+
/pm
|
|
1055
|
+
|
|
1056
|
+
"Tampilkan status project saat ini dari task_list.md"
|
|
1057
|
+
```
|
|
1058
|
+
|
|
1059
|
+
```bash
|
|
1060
|
+
# 2. Sync context dengan Agent
|
|
1061
|
+
/developer
|
|
1062
|
+
|
|
1063
|
+
"Baca logs/development/dev_*.md, apa progres terakhir?"
|
|
1064
|
+
```
|
|
1065
|
+
|
|
1066
|
+
**👤 Human:**
|
|
1067
|
+
- [ ] Review task progress dari task_list.md
|
|
1068
|
+
- [ ] Review semua changes semalam (git diff)
|
|
1069
|
+
- [ ] Check error logs (jika ada background process)
|
|
1070
|
+
- [ ] Prioritize tasks hari ini (based on task_list.md priorities)
|
|
1071
|
+
|
|
1072
|
+
---
|
|
1073
|
+
|
|
1074
|
+
### **Development Cycle** 🔄
|
|
1075
|
+
|
|
1076
|
+
```
|
|
1077
|
+
[Analyst] → [👤 Review] → [PM] → [Developer] → [👤 Test] → [Fixer (if bugs)] → [Tester] → [👤 Approve]
|
|
1078
|
+
↓
|
|
1079
|
+
(Create task in
|
|
1080
|
+
task_list.md) ↓
|
|
1081
|
+
(After MVP)
|
|
1082
|
+
↓
|
|
1083
|
+
[SysArch] → [👤 Review] → [Deploy] → [Monitor]
|
|
1084
|
+
```
|
|
1085
|
+
|
|
1086
|
+
**Per Feature (2-4 hours):**
|
|
1087
|
+
1. **Analyst:** Create spec (30 min)
|
|
1088
|
+
2. **👤 Human:** Review & approve spec (15 min)
|
|
1089
|
+
3. **PM:** Create task in task_list.md (5 min) ⭐ NEW
|
|
1090
|
+
4. **Developer:** Implement code + update task status (1-2 hours)
|
|
1091
|
+
5. **👤 Human:** Code review + manual test (30 min)
|
|
1092
|
+
6. **Fixer:** Fix bugs if found + update task status (15-30 min) ← **OPTIONAL**
|
|
1093
|
+
7. **Tester:** Create & run tests + update task status (30 min)
|
|
1094
|
+
8. **👤 Human:** Verify test results (15 min)
|
|
1095
|
+
|
|
1096
|
+
**Repeat** untuk fitur berikutnya
|
|
1097
|
+
|
|
1098
|
+
**Before Production Deploy (after MVP complete):**
|
|
1099
|
+
1. **SysArch:** Analyze app & create infrastructure plan (2-3 hours)
|
|
1100
|
+
2. **👤 Human:** Answer requirements questions & review plan (1 hour)
|
|
1101
|
+
3. **SysArch/Developer:** Deploy to production (2-4 hours)
|
|
1102
|
+
4. **SysArch:** Setup monitoring & alerts (1 hour)
|
|
1103
|
+
5. **👤 Human:** Verify deployment & monitor metrics (ongoing)
|
|
1104
|
+
|
|
1105
|
+
---
|
|
1106
|
+
|
|
1107
|
+
### **Evening Routine** 🌙
|
|
1108
|
+
|
|
1109
|
+
**👤 Human:**
|
|
1110
|
+
- [ ] Review semua development logs hari ini
|
|
1111
|
+
- [ ] Commit & push changes ke Git
|
|
1112
|
+
- [ ] Update project board (Trello/Jira/Linear)
|
|
1113
|
+
- [ ] Note blocker untuk besok
|
|
1114
|
+
|
|
1115
|
+
```bash
|
|
1116
|
+
# Optional: Update task status based on logs
|
|
1117
|
+
/pm
|
|
1118
|
+
|
|
1119
|
+
"Update task_list.md berdasarkan development logs hari ini"
|
|
1120
|
+
```
|
|
1121
|
+
|
|
1122
|
+
```bash
|
|
1123
|
+
# Optional: Minta Agent summarize hari ini
|
|
1124
|
+
/developer
|
|
1125
|
+
|
|
1126
|
+
"Summarize semua development logs hari ini,
|
|
1127
|
+
apa saja yang sudah selesai dan apa yang masih pending?"
|
|
1128
|
+
```
|
|
1129
|
+
|
|
1130
|
+
```bash
|
|
1131
|
+
# Optional: Generate status report
|
|
1132
|
+
/pm
|
|
1133
|
+
|
|
1134
|
+
"Generate project status report untuk hari ini"
|
|
1135
|
+
```
|
|
1136
|
+
|
|
1137
|
+
---
|
|
1138
|
+
|
|
1139
|
+
## ⚠️ Common Pitfalls & How to Avoid
|
|
1140
|
+
|
|
1141
|
+
### **1. Agent Tidak Punya Context** 🤔
|
|
1142
|
+
**Symptom:** Agent buat code yang tidak sesuai project
|
|
1143
|
+
|
|
1144
|
+
**Fix:**
|
|
1145
|
+
```bash
|
|
1146
|
+
# Selalu arahkan Agent untuk baca context dulu
|
|
1147
|
+
/developer
|
|
1148
|
+
|
|
1149
|
+
"Baca project_overview.md dan specification/003_*.md
|
|
1150
|
+
sebelum implementasi fitur Booking"
|
|
1151
|
+
```
|
|
1152
|
+
|
|
1153
|
+
---
|
|
1154
|
+
|
|
1155
|
+
### **2. Agent Menjalankan Command Berbahaya** ⚠️
|
|
1156
|
+
**Symptom:** Agent suggest `rm -rf` atau `DROP DATABASE`
|
|
1157
|
+
|
|
1158
|
+
**Fix:**
|
|
1159
|
+
- **👤 Human:** ALWAYS review command sebelum execute
|
|
1160
|
+
- Use Git (semua changes bisa di-rollback)
|
|
1161
|
+
- Backup database sebelum migration
|
|
1162
|
+
|
|
1163
|
+
---
|
|
1164
|
+
|
|
1165
|
+
### **3. Spec Tidak Jelas → Code Salah** 📝
|
|
1166
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec ambiguous
|
|
1167
|
+
|
|
1168
|
+
**Fix:**
|
|
1169
|
+
- **👤 Human:** Review spec dari Analyst dengan detail
|
|
1170
|
+
- Minta Analyst revisi jika ada yang unclear
|
|
1171
|
+
- Jangan approve spec yang setengah-setengah
|
|
1172
|
+
|
|
1173
|
+
---
|
|
1174
|
+
|
|
1175
|
+
### **4. Infrastructure Planning & Deployment** ⚙️ ⭐ NEW
|
|
1176
|
+
**Symptom:** Aplikasi sudah siap, tapi bingung deploy dimana dan butuh server apa
|
|
1177
|
+
|
|
1178
|
+
**Solution:**
|
|
1179
|
+
```bash
|
|
1180
|
+
/sysarch
|
|
1181
|
+
|
|
1182
|
+
"Analyze current application ({{projectName}} Reservation System).
|
|
1183
|
+
|
|
1184
|
+
Context:
|
|
1185
|
+
- Next.js 14 App Router
|
|
1186
|
+
- PostgreSQL database with 15 tables
|
|
1187
|
+
- File uploads: 10-20 photos/day (~5MB each)
|
|
1188
|
+
- Target: 100 concurrent users, 50 bookings/day
|
|
1189
|
+
- Budget: $200/month
|
|
1190
|
+
- Location: Indonesia users only
|
|
1191
|
+
- Required: 99% uptime, daily backups
|
|
1192
|
+
|
|
1193
|
+
Design server specifications and deployment plan."
|
|
1194
|
+
```
|
|
1195
|
+
|
|
1196
|
+
**SysArch Agent akan:**
|
|
1197
|
+
1. Analyze codebase & database schema
|
|
1198
|
+
2. Ask clarifying questions tentang load, growth, budget
|
|
1199
|
+
3. Create server specifications (CPU, RAM, Storage)
|
|
1200
|
+
4. Design deployment architecture (1-server, 2-server, or cloud)
|
|
1201
|
+
5. Estimate monthly costs
|
|
1202
|
+
6. Provide deployment step-by-step guide
|
|
1203
|
+
7. Setup monitoring plan
|
|
1204
|
+
|
|
1205
|
+
**👤 Human:**
|
|
1206
|
+
- [ ] Answer all requirements questions dengan data akurat
|
|
1207
|
+
- [ ] Review cost analysis (sesuai budget?)
|
|
1208
|
+
- [ ] Review server specs (cukup untuk load?)
|
|
1209
|
+
- [ ] Approve deployment plan
|
|
1210
|
+
- [ ] Execute deployment following the guide
|
|
1211
|
+
|
|
1212
|
+
---
|
|
1213
|
+
|
|
1214
|
+
### **5. Performance Issues in Production** 🐌
|
|
1215
|
+
**Symptom:** Aplikasi lambat, page load > 5 seconds, API timeout
|
|
1216
|
+
|
|
1217
|
+
**Solution:**
|
|
1218
|
+
```bash
|
|
1219
|
+
/sysarch
|
|
1220
|
+
|
|
1221
|
+
"Performance analysis request.
|
|
1222
|
+
|
|
1223
|
+
Current metrics:
|
|
1224
|
+
- Page load time: 8 seconds (target: < 3s)
|
|
1225
|
+
- API response time: 3-5 seconds (target: < 500ms)
|
|
1226
|
+
- Database query time: 2-4 seconds per request
|
|
1227
|
+
- Server CPU: 85% average
|
|
1228
|
+
- Server RAM: 90% usage
|
|
1229
|
+
|
|
1230
|
+
Analyze bottlenecks and provide optimization recommendations.
|
|
1231
|
+
Consider: database indexing, query optimization, caching, CDN, server upgrade."
|
|
1232
|
+
```
|
|
1233
|
+
|
|
1234
|
+
**SysArch Agent akan:**
|
|
1235
|
+
1. Analyze performance metrics
|
|
1236
|
+
2. Identify bottlenecks (database, server resources, network)
|
|
1237
|
+
3. Recommend optimizations
|
|
1238
|
+
4. Estimate performance improvement & costs
|
|
1239
|
+
5. Provide implementation plan
|
|
1240
|
+
|
|
1241
|
+
---
|
|
1242
|
+
|
|
1243
|
+
### **6. Test Coverage Rendah** 🧪
|
|
1244
|
+
**Symptom:** Production bug yang seharusnya ketahuan di test
|
|
1245
|
+
|
|
1246
|
+
**Fix:**
|
|
1247
|
+
```bash
|
|
1248
|
+
/tester
|
|
1249
|
+
|
|
1250
|
+
"Test coverage untuk Booking API masih 60%,
|
|
1251
|
+
tambahkan test untuk edge cases:
|
|
1252
|
+
- Booking di tanggal yang sudah penuh
|
|
1253
|
+
- Booking dengan pax > 22
|
|
1254
|
+
- Booking dengan tanggal di masa lalu"
|
|
1255
|
+
```
|
|
1256
|
+
|
|
1257
|
+
---
|
|
1258
|
+
|
|
1259
|
+
### **7. Bugs di Production** 🐛
|
|
1260
|
+
|
|
1261
|
+
---
|
|
1262
|
+
|
|
1263
|
+
### **5. Bugs di Production** 🐛
|
|
1264
|
+
**Symptom:** User report bug di production, perlu hotfix cepat
|
|
1265
|
+
|
|
1266
|
+
**Fix:**
|
|
1267
|
+
```bash
|
|
1268
|
+
/fixer
|
|
1269
|
+
|
|
1270
|
+
"URGENT: Production bug reported.
|
|
1271
|
+
|
|
1272
|
+
Issue: User tidak bisa cancel booking yang sudah DP_PAID
|
|
1273
|
+
Error: 500 Internal Server Error
|
|
1274
|
+
Endpoint: POST /api/backoffice/bookings/:id/cancel
|
|
1275
|
+
|
|
1276
|
+
Expected: Booking bisa di-cancel dengan refund policy
|
|
1277
|
+
Actual: Server error, booking tidak ter-cancel
|
|
1278
|
+
|
|
1279
|
+
Reproduce:
|
|
1280
|
+
1. Login as admin
|
|
1281
|
+
2. Open booking detail (status: DP_PAID)
|
|
1282
|
+
3. Click Cancel button
|
|
1283
|
+
4. Error 500 muncul
|
|
1284
|
+
|
|
1285
|
+
Logs: [paste error logs dari production]"
|
|
1286
|
+
```
|
|
1287
|
+
|
|
1288
|
+
**Fixer Agent akan:**
|
|
1289
|
+
1. Analyze production logs
|
|
1290
|
+
2. Reproduce locally
|
|
1291
|
+
3. Fix bug dengan minimal changes (hotfix approach)
|
|
1292
|
+
4. Run regression tests
|
|
1293
|
+
5. Create fixing log dengan deployment notes
|
|
1294
|
+
|
|
1295
|
+
**👤 Human:**
|
|
1296
|
+
- [ ] Test fix di staging
|
|
1297
|
+
- [ ] Approve deployment ke production
|
|
1298
|
+
- [ ] Monitor production logs setelah deploy
|
|
1299
|
+
- [ ] Notify users bug sudah fixed
|
|
1300
|
+
|
|
1301
|
+
---
|
|
1302
|
+
|
|
1303
|
+
## 🎯 Success Metrics
|
|
1304
|
+
|
|
1305
|
+
**Project dianggap berhasil jika:**
|
|
1306
|
+
- ✅ Semua spesifikasi di-review & approve manusia
|
|
1307
|
+
- ✅ Test coverage > 80%
|
|
1308
|
+
- ✅ Zero critical bugs di production
|
|
1309
|
+
- ✅ Development logs lengkap (easy onboarding developer baru)
|
|
1310
|
+
- ✅ Documentation up-to-date
|
|
1311
|
+
- ✅ Infrastructure well-planned & cost-optimized ⭐ NEW
|
|
1312
|
+
- ✅ Production deployment smooth dengan monitoring active ⭐ NEW
|
|
1313
|
+
- ✅ Performance meets SLA (response time, uptime) ⭐ NEW
|
|
1314
|
+
|
|
1315
|
+
**AI Agent membantu achieve ini dengan:**
|
|
1316
|
+
- 🤖 Konsistensi code quality (follow standards)
|
|
1317
|
+
- 🤖 Dokumentasi otomatis (never outdated)
|
|
1318
|
+
- 🤖 Fast iteration (spec → code → test dalam 1 hari)
|
|
1319
|
+
- 🤖 Infrastructure planning data-driven (SysArch Agent) ⭐ NEW
|
|
1320
|
+
- 🤖 Cost optimization recommendations ⭐ NEW
|
|
1321
|
+
- 🤖 Performance monitoring & alerting setup ⭐ NEW
|
|
1322
|
+
|
|
1323
|
+
**Tapi final quality tetap tanggung jawab Human!** 👤
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
|
|
1327
|
+
---
|
|
1328
|
+
|
|
1329
|
+
## 📝 Aturan Main (Rules of Engagement)
|
|
1330
|
+
|
|
1331
|
+
### **For AI Agents** 🤖
|
|
1332
|
+
1. **Always Read Context First:**
|
|
1333
|
+
- Baca `project_overview.md` sebelum mulai task
|
|
1334
|
+
- Baca specification terkait sebelum coding
|
|
1335
|
+
- Baca logs terakhir untuk tahu progres
|
|
1336
|
+
|
|
1337
|
+
2. **Never Assume:**
|
|
1338
|
+
- Jika spec tidak jelas → ASK human clarification
|
|
1339
|
+
- Jika ada breaking change → WARN human terlebih dahulu
|
|
1340
|
+
- Jika perlu run destructive command → CONFIRM dulu
|
|
1341
|
+
|
|
1342
|
+
3. **Document Everything:**
|
|
1343
|
+
- Setiap code change harus ada di development log
|
|
1344
|
+
- Setiap test run harus ada di testing log
|
|
1345
|
+
- Setiap bug fix harus ada di fixing log
|
|
1346
|
+
|
|
1347
|
+
### **For Humans** 👤
|
|
1348
|
+
1. **Don't Edit Logs Manually:**
|
|
1349
|
+
- Biarkan Agent yang menulis `logs/development/*.md` dan `logs/testing/*.md`
|
|
1350
|
+
- Format konsisten, easy to parse untuk Agent
|
|
1351
|
+
|
|
1352
|
+
2. **Always Review Before Approve:**
|
|
1353
|
+
- Specifications (apakah sesuai bisnis requirement?)
|
|
1354
|
+
- Code (apakah logic benar & secure?)
|
|
1355
|
+
- Tests (apakah coverage cukup?)
|
|
1356
|
+
|
|
1357
|
+
3. **Read Logs After Break:**
|
|
1358
|
+
```bash
|
|
1359
|
+
# Jika baru buka VS Code setelah istirahat
|
|
1360
|
+
/developer
|
|
1361
|
+
|
|
1362
|
+
"Baca semua logs/development/dev_*.md,
|
|
1363
|
+
summarize progres terakhir dan apa yang pending"
|
|
1364
|
+
```
|
|
1365
|
+
|
|
1366
|
+
4. **Terminal Safety:**
|
|
1367
|
+
- **⚠️ NEVER** auto-approve terminal commands tanpa review
|
|
1368
|
+
- Especially: `rm`, `DROP`, `DELETE`, deployment commands
|
|
1369
|
+
- Use Git (easy rollback jika ada masalah)
|
|
1370
|
+
|
|
1371
|
+
5. **UI/UX Consistency:**
|
|
1372
|
+
- Jika hasil UI jelek/tidak konsisten:
|
|
1373
|
+
```bash
|
|
1374
|
+
/analyst
|
|
1375
|
+
|
|
1376
|
+
"Update UI/UX Guidelines di project_overview.md.
|
|
1377
|
+
Warna button inconsistent, seharusnya pakai Ocean Teal (#0E7490)
|
|
1378
|
+
untuk primary button, Sunset Coral (#F97316) untuk CTA"
|
|
1379
|
+
```
|
|
1380
|
+
|
|
1381
|
+
6. **Infrastructure Planning:** ⭐ NEW
|
|
1382
|
+
- Before production deployment, always consult SysArch Agent
|
|
1383
|
+
- Provide accurate data (realistic estimates, not best-case scenario)
|
|
1384
|
+
- Consider growth: plan for 6-12 months, not just current needs
|
|
1385
|
+
- Budget for monitoring & backups (non-negotiable)
|
|
1386
|
+
```bash
|
|
1387
|
+
/sysarch
|
|
1388
|
+
|
|
1389
|
+
"Analyze app and design production infrastructure.
|
|
1390
|
+
Be conservative with estimates, include 50% growth buffer.
|
|
1391
|
+
Budget: $200/month (strict), prioritize reliability over features."
|
|
1392
|
+
```
|
|
1393
|
+
|
|
1394
|
+
---
|
|
1395
|
+
|
|
1396
|
+
## ⚙️ Customizing Agent Behavior
|
|
1397
|
+
|
|
1398
|
+
Jika ingin mengubah cara kerja Agent (misal: Developer pakai TDD strict, atau Analyst harus bikin ERD diagram), edit file di `.github/prompts/`:
|
|
1399
|
+
|
|
1400
|
+
### **File Structure:**
|
|
1401
|
+
```
|
|
1402
|
+
.github/prompts/
|
|
1403
|
+
├── initiator.prompt.md # Aturan buat project_overview.md
|
|
1404
|
+
├── analyst.prompt.md # Aturan buat specifications
|
|
1405
|
+
├── developer.prompt.md # Coding standards & logging format
|
|
1406
|
+
├── fixer.prompt.md # Bug fixing strategy & debugging approach
|
|
1407
|
+
├── tester.prompt.md # Testing strategy & coverage requirements
|
|
1408
|
+
├── sysarch.prompt.md # Infrastructure planning & deployment ⭐ NEW
|
|
1409
|
+
└── document.prompt.md # Documentation format
|
|
1410
|
+
```
|
|
1411
|
+
|
|
1412
|
+
### **Example Modification:**
|
|
1413
|
+
|
|
1414
|
+
**File:** `.github/prompts/developer.prompt.md`
|
|
1415
|
+
|
|
1416
|
+
**Before:**
|
|
1417
|
+
```markdown
|
|
1418
|
+
**CODING STYLE:** Follow Next.js App Router best practices
|
|
1419
|
+
```
|
|
1420
|
+
|
|
1421
|
+
**After:**
|
|
1422
|
+
```markdown
|
|
1423
|
+
**CODING STYLE:**
|
|
1424
|
+
- Follow Next.js App Router best practices
|
|
1425
|
+
- MUST use Test-Driven Development (TDD)
|
|
1426
|
+
- Write test first before implementation
|
|
1427
|
+
- Minimum test coverage: 90%
|
|
1428
|
+
```
|
|
1429
|
+
|
|
1430
|
+
**Effect:** Developer Agent akan selalu bikin test dulu sebelum coding
|
|
1431
|
+
|
|
1432
|
+
---
|
|
1433
|
+
|
|
1434
|
+
**File:** `.github/prompts/fixer.prompt.md`
|
|
1435
|
+
|
|
1436
|
+
**Customize:**
|
|
1437
|
+
```markdown
|
|
1438
|
+
**BUG FIXING PRIORITY:**
|
|
1439
|
+
1. Security vulnerabilities (CRITICAL - fix within 2 hours)
|
|
1440
|
+
2. Data loss bugs (HIGH - fix within 4 hours)
|
|
1441
|
+
3. Payment/financial bugs (HIGH - fix within 4 hours)
|
|
1442
|
+
4. UI/UX bugs (MEDIUM - fix within 24 hours)
|
|
1443
|
+
5. Performance issues (LOW - fix within 1 week)
|
|
1444
|
+
|
|
1445
|
+
**DEBUGGING APPROACH:**
|
|
1446
|
+
- Always reproduce bug locally first
|
|
1447
|
+
- Use git bisect to find regression commit
|
|
1448
|
+
- Write test case that fails before fix
|
|
1449
|
+
- Verify test passes after fix
|
|
1450
|
+
- Check for similar bugs in codebase
|
|
1451
|
+
```
|
|
1452
|
+
|
|
1453
|
+
**Effect:** Fixer Agent akan prioritize bugs berdasarkan severity
|
|
1454
|
+
|
|
1455
|
+
---
|
|
1456
|
+
|
|
1457
|
+
**File:** `.github/prompts/sysarch.prompt.md` ⭐ NEW
|
|
1458
|
+
|
|
1459
|
+
**Customize:**
|
|
1460
|
+
```markdown
|
|
1461
|
+
**INFRASTRUCTURE PREFERENCES:**
|
|
1462
|
+
- Default cloud provider: DigitalOcean (cost-effective for startups)
|
|
1463
|
+
- Minimum server specs: 2 vCPU, 4GB RAM (never go below this)
|
|
1464
|
+
- Database: Always use managed database (Supabase/AWS RDS)
|
|
1465
|
+
- Backups: Daily automated backups, 30 days retention (non-negotiable)
|
|
1466
|
+
- Monitoring: Free tier tools only (UptimeRobot, Sentry, Papertrail)
|
|
1467
|
+
- CDN: Optional for MVP, required when traffic > 10k users/month
|
|
1468
|
+
|
|
1469
|
+
**COST OPTIMIZATION PRIORITIES:**
|
|
1470
|
+
1. Data integrity & backups (non-negotiable)
|
|
1471
|
+
2. Acceptable performance (2-3s page load OK for MVP)
|
|
1472
|
+
3. 99% uptime (99.9% nice to have)
|
|
1473
|
+
4. CDN (add later when needed)
|
|
1474
|
+
|
|
1475
|
+
**SCALING TRIGGERS:**
|
|
1476
|
+
- CPU > 70% for 24 hours → Vertical scaling
|
|
1477
|
+
- RAM > 80% for 24 hours → Vertical scaling
|
|
1478
|
+
- Response time > 3s → Add caching layer
|
|
1479
|
+
- Traffic > 1000 concurrent users → Horizontal scaling
|
|
1480
|
+
```
|
|
1481
|
+
|
|
1482
|
+
**Effect:** SysArch Agent akan always recommend cost-effective solutions untuk startup
|
|
1483
|
+
|
|
1484
|
+
---
|
|
1485
|
+
|
|
1486
|
+
## 🚨 Troubleshooting
|
|
1487
|
+
|
|
1488
|
+
### **Problem: Agent Lupa Context**
|
|
1489
|
+
**Symptom:** Agent buat code yang tidak sesuai dengan project
|
|
1490
|
+
|
|
1491
|
+
**Solution:**
|
|
1492
|
+
```bash
|
|
1493
|
+
/developer
|
|
1494
|
+
|
|
1495
|
+
"STOP. Baca ulang:
|
|
1496
|
+
1. project_overview.md (tech stack & UI guidelines)
|
|
1497
|
+
2. specifications/004_spec_pricing.md (requirement)
|
|
1498
|
+
3. logs/development/dev_003_*.md (code yang sudah ada)
|
|
1499
|
+
|
|
1500
|
+
Lalu implementasi ulang dengan benar"
|
|
1501
|
+
```
|
|
1502
|
+
|
|
1503
|
+
---
|
|
1504
|
+
|
|
1505
|
+
### **Problem: Specification Terlalu Umum**
|
|
1506
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec tidak detail
|
|
1507
|
+
|
|
1508
|
+
**Solution:**
|
|
1509
|
+
```bash
|
|
1510
|
+
/analyst
|
|
1511
|
+
|
|
1512
|
+
"SPEC-005 terlalu general. Breakdown menjadi atomic specifications:
|
|
1513
|
+
- 005-001: Revenue Summary Card
|
|
1514
|
+
- 005-002: Profit Trend Chart
|
|
1515
|
+
- 005-003: Upcoming Trips Timeline
|
|
1516
|
+
|
|
1517
|
+
Setiap spec harus punya:
|
|
1518
|
+
- User story jelas
|
|
1519
|
+
- API contract lengkap
|
|
1520
|
+
- UI mockup dengan Tailwind classes"
|
|
1521
|
+
```
|
|
1522
|
+
|
|
1523
|
+
---
|
|
1524
|
+
|
|
1525
|
+
### **Problem: Task Status Out of Sync** ⭐ NEW
|
|
1526
|
+
**Symptom:** task_list.md status tidak sesuai dengan development logs atau test results
|
|
1527
|
+
|
|
1528
|
+
**Solution:**
|
|
1529
|
+
```bash
|
|
1530
|
+
/pm
|
|
1531
|
+
|
|
1532
|
+
"Update task_list.md berdasarkan logs di logs/development/ dan logs/testing/.
|
|
1533
|
+
Check semua task status dan pastikan sinkron dengan actual progress"
|
|
1534
|
+
```
|
|
1535
|
+
|
|
1536
|
+
**PM Agent akan:**
|
|
1537
|
+
1. Read all logs di logs/development/ dan logs/testing/
|
|
1538
|
+
2. Identify completed tasks
|
|
1539
|
+
3. Update task status accordingly
|
|
1540
|
+
4. Update "Last Updated" timestamps
|
|
1541
|
+
5. Generate summary of changes
|
|
1542
|
+
|
|
1543
|
+
**Manual Fix (if needed):**
|
|
1544
|
+
- Edit `task/task_list.md` langsung
|
|
1545
|
+
- Update status field: `not_started`, `dev`, `ready_to_test`, `testing_ready`, `testing`, `passed`, `failed`
|
|
1546
|
+
- Update "Last Updated" timestamp: `[YYYY-MM-DD HH:MM]`
|
|
1547
|
+
- Update "Assigned To" field if task handed off
|
|
1548
|
+
|
|
1549
|
+
---
|
|
1550
|
+
|
|
1551
|
+
### **Problem: Too Many Tasks, Tidak Tahu Prioritas** ⭐ NEW
|
|
1552
|
+
**Symptom:** Bingung mau kerjakan task mana dulu
|
|
1553
|
+
|
|
1554
|
+
**Solution:**
|
|
1555
|
+
```bash
|
|
1556
|
+
/pm
|
|
1557
|
+
|
|
1558
|
+
"Tampilkan semua task dengan status 'not_started',
|
|
1559
|
+
sort by priority (P0 → P1 → P2 → P3),
|
|
1560
|
+
dan cek dependencies"
|
|
1561
|
+
```
|
|
1562
|
+
|
|
1563
|
+
**PM Agent akan:**
|
|
1564
|
+
1. List all not_started tasks
|
|
1565
|
+
2. Sort by priority level
|
|
1566
|
+
3. Show dependencies for each task
|
|
1567
|
+
4. Recommend next task to work on (no blockers, highest priority)
|
|
1568
|
+
|
|
1569
|
+
**👤 Human Decision:**
|
|
1570
|
+
- Focus on P0 (Critical) tasks first
|
|
1571
|
+
- Check dependencies (don't start task if dependency not done)
|
|
1572
|
+
- Consider business impact vs technical complexity
|
|
1573
|
+
|
|
1574
|
+
---
|
|
1575
|
+
|
|
1576
|
+
### **Problem: Agent Lupa Context**
|
|
1577
|
+
**Symptom:** Agent buat code yang tidak sesuai dengan project
|
|
1578
|
+
|
|
1579
|
+
**Solution:**
|
|
1580
|
+
```bash
|
|
1581
|
+
/developer
|
|
1582
|
+
|
|
1583
|
+
"STOP. Baca ulang:
|
|
1584
|
+
1. project_overview.md (tech stack & UI guidelines)
|
|
1585
|
+
2. specifications/004_spec_pricing.md (requirement)
|
|
1586
|
+
3. logs/development/dev_003_*.md (code yang sudah ada)
|
|
1587
|
+
|
|
1588
|
+
Lalu implementasi ulang dengan benar"
|
|
1589
|
+
```
|
|
1590
|
+
|
|
1591
|
+
---
|
|
1592
|
+
|
|
1593
|
+
### **Problem: Specification Terlalu Umum**
|
|
1594
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec tidak detail
|
|
1595
|
+
|
|
1596
|
+
**Solution:**
|
|
1597
|
+
```bash
|
|
1598
|
+
/analyst
|
|
1599
|
+
|
|
1600
|
+
"SPEC-005 terlalu general. Breakdown menjadi atomic specifications:
|
|
1601
|
+
- 005-001: Revenue Summary Card
|
|
1602
|
+
- 005-002: Profit Trend Chart
|
|
1603
|
+
- 005-003: Upcoming Trips Timeline
|
|
1604
|
+
|
|
1605
|
+
Setiap spec harus punya:
|
|
1606
|
+
- User story jelas
|
|
1607
|
+
- API contract lengkap
|
|
1608
|
+
- UI mockup dengan Tailwind classes"
|
|
1609
|
+
```
|
|
1610
|
+
|
|
1611
|
+
---
|
|
1612
|
+
|
|
1613
|
+
### **Problem: Task Status Out of Sync** ⭐ NEW
|
|
1614
|
+
**Symptom:** task_list.md status tidak sesuai dengan development logs atau test results
|
|
1615
|
+
|
|
1616
|
+
**Solution:**
|
|
1617
|
+
```bash
|
|
1618
|
+
/pm
|
|
1619
|
+
|
|
1620
|
+
"Update task_list.md berdasarkan logs di logs/development/ dan logs/testing/.
|
|
1621
|
+
Check semua task status dan pastikan sinkron dengan actual progress"
|
|
1622
|
+
```
|
|
1623
|
+
|
|
1624
|
+
**PM Agent akan:**
|
|
1625
|
+
1. Read all logs di logs/development/ dan logs/testing/
|
|
1626
|
+
2. Identify completed tasks
|
|
1627
|
+
3. Update task status accordingly
|
|
1628
|
+
4. Update "Last Updated" timestamps
|
|
1629
|
+
5. Generate summary of changes
|
|
1630
|
+
|
|
1631
|
+
**Manual Fix (if needed):**
|
|
1632
|
+
- Edit `task/task_list.md` langsung
|
|
1633
|
+
- Update status field: `not_started`, `dev`, `ready_to_test`, `testing_ready`, `testing`, `passed`, `failed`
|
|
1634
|
+
- Update "Last Updated" timestamp: `[YYYY-MM-DD HH:MM]`
|
|
1635
|
+
- Update "Assigned To" field if task handed off
|
|
1636
|
+
|
|
1637
|
+
---
|
|
1638
|
+
|
|
1639
|
+
### **Problem: Too Many Tasks, Tidak Tahu Prioritas** ⭐ NEW
|
|
1640
|
+
**Symptom:** Bingung mau kerjakan task mana dulu
|
|
1641
|
+
|
|
1642
|
+
**Solution:**
|
|
1643
|
+
```bash
|
|
1644
|
+
/pm
|
|
1645
|
+
|
|
1646
|
+
"Tampilkan semua task dengan status 'not_started',
|
|
1647
|
+
sort by priority (P0 → P1 → P2 → P3),
|
|
1648
|
+
dan cek dependencies"
|
|
1649
|
+
```
|
|
1650
|
+
|
|
1651
|
+
**PM Agent akan:**
|
|
1652
|
+
1. List all not_started tasks
|
|
1653
|
+
2. Sort by priority level
|
|
1654
|
+
3. Show dependencies for each task
|
|
1655
|
+
4. Recommend next task to work on (no blockers, highest priority)
|
|
1656
|
+
|
|
1657
|
+
**👤 Human Decision:**
|
|
1658
|
+
- Focus on P0 (Critical) tasks first
|
|
1659
|
+
- Check dependencies (don't start task if dependency not done)
|
|
1660
|
+
- Consider business impact vs technical complexity
|
|
1661
|
+
|
|
1662
|
+
---
|
|
1663
|
+
|
|
1664
|
+
### **Problem: Agent Lupa Context**
|
|
1665
|
+
**Symptom:** Agent buat code yang tidak sesuai dengan project
|
|
1666
|
+
|
|
1667
|
+
**Solution:**
|
|
1668
|
+
```bash
|
|
1669
|
+
/developer
|
|
1670
|
+
|
|
1671
|
+
"STOP. Baca ulang:
|
|
1672
|
+
1. project_overview.md (tech stack & UI guidelines)
|
|
1673
|
+
2. specifications/004_spec_pricing.md (requirement)
|
|
1674
|
+
3. logs/development/dev_003_*.md (code yang sudah ada)
|
|
1675
|
+
|
|
1676
|
+
Lalu implementasi ulang dengan benar"
|
|
1677
|
+
```
|
|
1678
|
+
|
|
1679
|
+
---
|
|
1680
|
+
|
|
1681
|
+
### **Problem: Specification Terlalu Umum**
|
|
1682
|
+
**Symptom:** Developer Agent tanya-tanya terus karena spec tidak detail
|
|
1683
|
+
|
|
1684
|
+
**Solution:**
|
|
1685
|
+
```bash
|
|
1686
|
+
/analyst
|
|
1687
|
+
|
|
1688
|
+
"SPEC-005 terlalu general. Breakdown menjadi atomic specifications:
|
|
1689
|
+
- 005-001: Revenue Summary Card
|
|
1690
|
+
- 005-002: Profit Trend Chart
|
|
1691
|
+
- 005-003: Upcoming Trips Timeline
|
|
1692
|
+
|
|
1693
|
+
Setiap spec harus punya:
|
|
1694
|
+
- User story jelas
|
|
1695
|
+
- API contract lengkap
|
|
1696
|
+
- UI mockup dengan Tailwind classes"
|
|
7
1697
|
```
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1698
|
+
|
|
1699
|
+
---
|
|
1700
|
+
|
|
1701
|
+
### **Problem: Task Status Out of Sync** ⭐ NEW
|
|
1702
|
+
**Symptom:** task_list.md status tidak sesuai dengan development logs atau test results
|
|
1703
|
+
|
|
1704
|
+
**Solution:**
|
|
1705
|
+
```bash
|
|
1706
|
+
/pm
|
|
1707
|
+
|
|
1708
|
+
"Update task_list.md berdasarkan logs di logs/development/ dan logs/testing/.
|
|
1709
|
+
Check semua task status dan pastikan sinkron dengan actual progress"
|
|
1710
|
+
```
|
|
1711
|
+
|
|
1712
|
+
**PM Agent akan:**
|
|
1713
|
+
1. Read all logs di logs/development/ dan logs/testing/
|
|
1714
|
+
2. Identify completed tasks
|
|
1715
|
+
3. Update task status accordingly
|
|
1716
|
+
4. Update "Last Updated" timestamps
|
|
1717
|
+
5. Generate summary of changes
|
|
1718
|
+
|
|
1719
|
+
**Manual Fix (if needed):**
|
|
1720
|
+
- Edit `task/task_list.md` langsung
|
|
1721
|
+
- Update status field: `not_started`, `dev`, `ready_to_test`, `testing_ready`, `testing`, `passed`, `failed`
|
|
1722
|
+
- Update "Last Updated" timestamp: `[YYYY-MM-DD HH:MM]`
|
|
1723
|
+
- Update "Assigned To" field if task handed off
|
|
1724
|
+
|
|
1725
|
+
---
|
|
1726
|
+
|
|
1727
|
+
### **Problem: Too Many Tasks, Tidak Tahu Prioritas** ⭐ NEW
|
|
1728
|
+
**Symptom:** Bingung mau kerjakan task mana dulu
|
|
1729
|
+
|
|
1730
|
+
**Solution:**
|
|
1731
|
+
```bash
|
|
1732
|
+
/pm
|
|
1733
|
+
|
|
1734
|
+
"Tampilkan semua task dengan status 'not_started',
|
|
1735
|
+
sort by priority (P0 → P1 → P2 → P3),
|
|
1736
|
+
dan cek dependencies"
|
|
21
1737
|
```
|
|
22
1738
|
|
|
23
|
-
|
|
1739
|
+
**PM Agent akan:**
|
|
1740
|
+
1. List all not_started tasks
|
|
1741
|
+
2. Sort by priority level
|
|
1742
|
+
3. Show dependencies for each task
|
|
1743
|
+
4. Recommend next task to work on (no blockers, highest priority)
|
|
1744
|
+
|
|
1745
|
+
**👤 Human Decision:**
|
|
1746
|
+
- Focus on P0 (Critical) tasks first
|
|
1747
|
+
- Check dependencies (don't start task if dependency not done)
|
|
1748
|
+
- Consider business impact vs technical complexity
|
|
1749
|
+
|
|
1750
|
+
---
|
|
1751
|
+
|
|
1752
|
+
## 🎓 Learning Resources
|
|
1753
|
+
|
|
1754
|
+
**Untuk memahami lebih dalam cara kerja AI Agent:**
|
|
1755
|
+
|
|
1756
|
+
1. **Function Calling / Tool Use:**
|
|
1757
|
+
- [OpenAI Function Calling Guide](https://platform.openai.com/docs/guides/function-calling)
|
|
1758
|
+
- [Anthropic Claude Tool Use](https://docs.anthropic.com/claude/docs/tool-use)
|
|
1759
|
+
|
|
1760
|
+
2. **Prompt Engineering:**
|
|
1761
|
+
- [Prompt Engineering Guide](https://www.promptingguide.ai/)
|
|
1762
|
+
- [Anthropic Prompt Library](https://docs.anthropic.com/claude/prompt-library)
|
|
1763
|
+
|
|
1764
|
+
3. **Agent Frameworks:**
|
|
1765
|
+
- [LangChain Agents](https://python.langchain.com/docs/modules/agents/)
|
|
1766
|
+
- [AutoGPT](https://github.com/Significant-Gravitas/AutoGPT)
|
|
1767
|
+
|
|
1768
|
+
**Best Practice untuk System Instructions:**
|
|
1769
|
+
- Be specific (jangan ambiguous)
|
|
1770
|
+
- Give examples (few-shot learning)
|
|
1771
|
+
- Set constraints (what NOT to do)
|
|
1772
|
+
- Define success criteria (how to verify output)
|
|
1773
|
+
|
|
1774
|
+
---
|
|
1775
|
+
|
|
1776
|
+
## 📊 Project Progress Tracking
|
|
24
1777
|
|
|
25
|
-
|
|
1778
|
+
**Recommended Tools:**
|
|
1779
|
+
- **Linear / Jira:** Task management (link ke SPEC-xxx)
|
|
1780
|
+
- **GitHub Projects:** Kanban board per sprint
|
|
1781
|
+
- **Notion:** Knowledge base (meeting notes, decisions)
|
|
26
1782
|
|
|
27
|
-
|
|
1783
|
+
**Integration dengan AI Workflow:**
|
|
1784
|
+
```
|
|
1785
|
+
GitHub Issue #45: Implement Pricing Module
|
|
1786
|
+
↓
|
|
1787
|
+
Analyst creates: SPEC-004
|
|
1788
|
+
↓
|
|
1789
|
+
Developer implements: codes/app/api/pricing/
|
|
1790
|
+
↓
|
|
1791
|
+
Tester creates: tests/integration/pricing.test.ts
|
|
1792
|
+
↓
|
|
1793
|
+
Close issue with link to dev log & test results
|
|
1794
|
+
```
|
|
28
1795
|
|
|
29
|
-
|
|
1796
|
+
---
|
|
30
1797
|
|
|
31
|
-
|
|
32
|
-
- Letakkan source code di `codes/`.
|
|
33
|
-
- Letakkan dokumen spek di `specifications/`.
|
|
34
|
-
- Letakkan test di `tests/`.
|
|
1798
|
+
## 🤝 Team Collaboration
|
|
35
1799
|
|
|
36
|
-
|
|
1800
|
+
**Jika tim > 1 person:**
|
|
37
1801
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
1802
|
+
### **Developer Onboarding:**
|
|
1803
|
+
```bash
|
|
1804
|
+
# New developer joins team
|
|
1805
|
+
/developer
|
|
41
1806
|
|
|
42
|
-
|
|
1807
|
+
"Summarize project_overview.md dan semua specifications
|
|
1808
|
+
dalam bentuk onboarding guide untuk new developer.
|
|
43
1809
|
|
|
44
|
-
|
|
1810
|
+
Include:
|
|
1811
|
+
- Tech stack & why we choose it
|
|
1812
|
+
- Folder structure explanation
|
|
1813
|
+
- How to run project locally
|
|
1814
|
+
- Common commands
|
|
1815
|
+
- Where to find documentation"
|
|
1816
|
+
```
|
|
45
1817
|
|
|
46
|
-
|
|
1818
|
+
### **Code Review Process:**
|
|
1819
|
+
1. Developer A → Bikin feature dengan Developer Agent
|
|
1820
|
+
2. Developer A → Create PR di GitHub
|
|
1821
|
+
3. Developer B → Review PR (manual)
|
|
1822
|
+
4. If OK → Merge
|
|
1823
|
+
5. If NOT → Developer A ask Developer Agent to fix
|
|
47
1824
|
|
|
48
|
-
|
|
1825
|
+
### **Knowledge Sharing:**
|
|
1826
|
+
- **Weekly:** Tester Agent generate test coverage report
|
|
1827
|
+
- **Monthly:** Document Agent generate changelog dari semua dev logs
|
|
1828
|
+
- **Quarterly:**
|
|
1829
|
+
- Analyst Agent review & update project_overview.md
|
|
1830
|
+
- SysArch Agent review infrastructure costs & optimization opportunities ⭐ NEW
|
|
49
1831
|
|
|
50
1832
|
---
|
|
51
1833
|
|
|
52
|
-
|
|
1834
|
+
*Happy Vibe Coding!* 🚀✨
|
|
1835
|
+
|
|
1836
|
+
**Remember:**
|
|
1837
|
+
- AI Agent = **Accelerator** (makes you 10x faster)
|
|
1838
|
+
- Human = **Navigator** (makes sure direction is correct)
|
|
1839
|
+
- SysArch Agent = **Infrastructure Guardian** (keeps costs low, performance high) ⭐ NEW
|
|
1840
|
+
|
|
1841
|
+
**Together = Unstoppable** 💪🤖👤
|
|
1842
|
+
- Human = **Navigator** (makes sure direction is correct)
|
|
1843
|
+
|
|
1844
|
+
**Together = Unstoppable** 💪🤖👤
|