@leejungkiin/awkit 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/bin/awk.js +215 -72
  2. package/bin/cline-generators.js +73 -0
  3. package/bin/codex-generators.js +108 -0
  4. package/core/GEMINI.md +14 -17
  5. package/package.json +2 -2
  6. package/skill-packs/superpowers/README.md +59 -0
  7. package/skill-packs/superpowers/pack.json +15 -0
  8. package/skill-packs/superpowers/skills/brainstorming/SKILL.md +96 -0
  9. package/skill-packs/superpowers/skills/executing-plans/SKILL.md +100 -0
  10. package/skill-packs/superpowers/skills/finishing-a-development-branch/SKILL.md +213 -0
  11. package/skill-packs/superpowers/skills/receiving-code-review/SKILL.md +213 -0
  12. package/skill-packs/superpowers/skills/requesting-code-review/SKILL.md +115 -0
  13. package/skill-packs/superpowers/skills/requesting-code-review/code-reviewer.md +146 -0
  14. package/skill-packs/superpowers/skills/single-flow-task-execution/SKILL.md +359 -0
  15. package/skill-packs/superpowers/skills/single-flow-task-execution/code-quality-reviewer-prompt.md +20 -0
  16. package/skill-packs/superpowers/skills/single-flow-task-execution/implementer-prompt.md +78 -0
  17. package/skill-packs/superpowers/skills/single-flow-task-execution/spec-reviewer-prompt.md +61 -0
  18. package/skill-packs/superpowers/skills/systematic-debugging/CREATION-LOG.md +119 -0
  19. package/skill-packs/superpowers/skills/systematic-debugging/SKILL.md +296 -0
  20. package/skill-packs/superpowers/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  21. package/skill-packs/superpowers/skills/systematic-debugging/condition-based-waiting.md +115 -0
  22. package/skill-packs/superpowers/skills/systematic-debugging/defense-in-depth.md +122 -0
  23. package/skill-packs/superpowers/skills/systematic-debugging/find-polluter.sh +63 -0
  24. package/skill-packs/superpowers/skills/systematic-debugging/root-cause-tracing.md +169 -0
  25. package/skill-packs/superpowers/skills/systematic-debugging/test-academic.md +14 -0
  26. package/skill-packs/superpowers/skills/systematic-debugging/test-pressure-1.md +58 -0
  27. package/skill-packs/superpowers/skills/systematic-debugging/test-pressure-2.md +68 -0
  28. package/skill-packs/superpowers/skills/systematic-debugging/test-pressure-3.md +69 -0
  29. package/skill-packs/superpowers/skills/test-driven-development/SKILL.md +371 -0
  30. package/skill-packs/superpowers/skills/test-driven-development/testing-anti-patterns.md +299 -0
  31. package/skill-packs/superpowers/skills/using-git-worktrees/SKILL.md +223 -0
  32. package/skill-packs/superpowers/skills/using-superpowers/SKILL.md +97 -0
  33. package/skill-packs/superpowers/skills/verification-before-completion/SKILL.md +139 -0
  34. package/skill-packs/superpowers/skills/writing-plans/SKILL.md +108 -0
  35. package/skill-packs/superpowers/skills/writing-skills/SKILL.md +716 -0
  36. package/skill-packs/superpowers/skills/writing-skills/antigravity-best-practices.md +1173 -0
  37. package/skill-packs/superpowers/skills/writing-skills/examples/AGENTS_MD_TESTING.md +189 -0
  38. package/skill-packs/superpowers/skills/writing-skills/graphviz-conventions.dot +172 -0
  39. package/skill-packs/superpowers/skills/writing-skills/persuasion-principles.md +187 -0
  40. package/skill-packs/superpowers/skills/writing-skills/render-graphs.js +175 -0
  41. package/skill-packs/superpowers/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  42. package/skills/CATALOG.md +7 -0
  43. package/skills/orchestrator/SKILL.md +0 -4
  44. package/skills/symphony-enforcer/SKILL.md +188 -53
  45. package/templates/specs/PROJECT.md +50 -0
  46. package/templates/specs/ROADMAP.md +79 -0
  47. package/templates/specs/TECH-SPEC.md +81 -0
  48. package/templates/specs/task-spec-template.xml +65 -0
  49. package/workflows/lifecycle/init.md +103 -91
  50. package/core/AGENTS.md +0 -38
  51. package/skills/beads-manager/SKILL.md +0 -459
  52. package/workflows/_uncategorized/AGENTS.md +0 -38
@@ -4,12 +4,13 @@ description: |
4
4
  Mandatory Symphony checkpoint system. Ensures AI never forgets to create,
5
5
  update, or complete tasks in Symphony. Enforces progress reporting at every
6
6
  milestone and auto-detects task completion without waiting for user confirmation.
7
+ v3.1: Pre-Plan Gate, Auto-Lifecycle, Auto-Next, Atomic Git Commits.
7
8
  metadata:
8
9
  stage: core
9
- version: "2.0"
10
- replaces: null
10
+ version: "3.1"
11
+ replaces: "v2.0"
11
12
  requires: symphony-orchestrator
12
- tags: [symphony, enforcement, checkpoint, task-lifecycle, core]
13
+ tags: [symphony, enforcement, checkpoint, task-lifecycle, core, spec-first, auto-next]
13
14
  agent: Symphony Enforcer
14
15
  allowed-tools:
15
16
  - symphony_create_task
@@ -23,11 +24,15 @@ invocation-type: auto
23
24
  priority: 1
24
25
  ---
25
26
 
26
- # Symphony Enforcer — Mandatory Task Lifecycle Checkpoints
27
+ # Symphony Enforcer v3.1 Spec-First + Auto-Lifecycle + Auto-Next + Atomic Commits
27
28
 
28
29
  > **Purpose:** Đảm bảo AI KHÔNG BAO GIỜ quên cập nhật Symphony.
29
- > **Method:** Strict sequential protocol + 4 Trigger Points.
30
- > **Key Principle:** AI tự detect completion user KHÔNG CẦN nói "xong".
30
+ > **Key Changes v3.1:**
31
+ > - **Pre-Plan Gate**: Đọc spec trước khi plan, hỏi user về constraints
32
+ > - **Auto-Lifecycle**: Liên kết task_boundary ↔ Symphony tự động
33
+ > - **Auto-Next**: BẮT BUỘC gợi ý next steps sau mỗi task done
34
+ > - **Atomic Git Commits**: Tự động commit sau mỗi task done (NEW v3.1)
35
+ > **Principle:** AI tự detect completion — user KHÔNG CẦN nói "xong".
31
36
 
32
37
  ---
33
38
 
@@ -35,34 +40,28 @@ priority: 1
35
40
 
36
41
  ```
37
42
  KHÔNG CÓ NGOẠI LỆ:
38
- - Mọi code/debug/plan task PHẢI qua STRICT STARTUP PROTOCOL (5 steps)
43
+ - Mọi code/debug/plan task PHẢI qua STRICT STARTUP PROTOCOL
39
44
  - Mọi milestone PHẢI report progress
40
45
  - AI tự detect completion và auto-complete task
46
+ - Task done → PHẢI atomic git commit trước khi suggest next
47
+ - Kết thúc task PHẢI kèm next suggestion
41
48
  - BỎ QUA BẤT KỲ STEP NÀO = VI PHẠM
42
49
  ```
43
50
 
44
51
  ---
45
52
 
46
- ## 🔒 STRICT STARTUP PROTOCOL (BẮT BUỘC — KHÔNG ĐƯỢC BỎ QUA)
53
+ ## 🔒 STRICT STARTUP PROTOCOL (BẮT BUỘC)
47
54
 
48
- Mỗi khi bắt đầu task code/debug/plan, AI PHẢI đi qua **4 steps tuần tự**.
49
- KHÔNG được bắt đầu work cho đến khi TẤT CẢ 4 steps đều ✅.
50
-
51
- > **Note:** Symphony server + project registration đã được `symphony-orchestrator` xử lý
52
- > trước khi skill này chạy. Enforcer chỉ lo `.project-identity` → Brain → Task.
55
+ Mỗi khi bắt đầu task code/debug/plan, AI PHẢI đi qua **5 steps tuần tự**.
56
+ KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
53
57
 
54
58
  ### Step 1: Project Identity — `.project-identity`
55
59
 
56
60
  ```
57
- → Kiểm tra: file .project-identity có tồn tại trong project root?
58
- → CÓ → Đọc projectId, projectName từ file
59
- → KHÔNG → ⛔ DỪNG LẠI. Hỏi user hoặc tạo .project-identity:
60
- {
61
- "id": "project-slug",
62
- "name": "Project Name",
63
- "path": "/absolute/path"
64
- }
65
- → Output: "📋 Step 1/4: Project Identity ✅ — {projectId}"
61
+ → Kiểm tra: file .project-identity có tồn tại?
62
+ → CÓ → Đọc projectId, projectName
63
+ → KHÔNG → ⛔ DỪNG. Hỏi user hoặc tạo .project-identity.
64
+ → Output: "📋 Step 1/5: Project Identity ✅ — {projectId}"
66
65
  ```
67
66
 
68
67
  ### Step 2: NeuralMemory Brain — Switch brain
@@ -70,42 +69,74 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ 4 steps đều ✅.
70
69
  ```
71
70
  → nmem brain use <projectId>
72
71
  → nmem_recap(level=1) — load context
73
- → Output: "🧠 Step 2/4: Brain ✅ — switched to {projectId}"
72
+ → Output: "🧠 Step 2/5: Brain ✅ — switched to {projectId}"
73
+ ```
74
+
75
+ ### Step 3: Spec Alignment — Đọc Project Spec (NEW v3.0)
76
+
77
+ ```
78
+ → Kiểm tra: docs/specs/PROJECT.md tồn tại?
79
+ → CÓ → Đọc silent: PROJECT.md + TECH-SPEC.md + REQUIREMENTS.md
80
+ → Extract constraints liên quan đến task hiện tại
81
+ → NẾU PLANNING mode:
82
+ - Hỏi user 1-3 câu về constraints/UX cụ thể của feature
83
+ - Ví dụ: "Feature này cần offline support không?"
84
+ - Ví dụ: "UI nên dạng list hay cards?"
85
+ → Output: "📐 Step 3/5: Spec Aligned ✅"
86
+ → KHÔNG → Skip (project chưa /init) → "📐 Step 3/5: No spec — skipped"
74
87
  ```
75
88
 
76
- ### Step 3: Symphony Task Tạo hoặc nhận task
89
+ > **Quan trọng:** Nếu TECH-SPEC.md "Constraints & Non-Negotiables",
90
+ > AI PHẢI tuân thủ chúng trong implementation_plan.md.
91
+
92
+ ### Step 4: Symphony Task — Tạo hoặc nhận task
77
93
 
78
94
  ```
79
95
  → symphony_available_tasks(filter="my") → check active tasks
80
96
  → CÓ task in_progress phù hợp → dùng tiếp
81
97
  → CÓ task ready phù hợp → symphony_claim_task
82
- → KHÔNG CÓ → symphony_create_task(title, description)
83
- symphony_claim_task(new_task_id)
84
- Lưu task_id cho TP1-TP3
85
- → Output: "🎯 Step 3/4: Task ✅ — #sym-XYZ claimed"
98
+ → KHÔNG CÓ → symphony_create_task(title) → symphony_claim_task(new_id)
99
+ Lưu task_id cho TP1-TP4
100
+ Output: "🎯 Step 4/5: Task ✅ — #sym-XYZ claimed"
86
101
  ```
87
102
 
88
- ### Step 4: Confirmation Block — Hiển thị tổng kết
103
+ ### Step 5: Confirmation Block
89
104
 
90
105
  ```
91
106
  🚦 STARTUP PROTOCOL COMPLETE
92
107
  ══════════════════════════════════════
93
108
  Step 1: 📋 Project Identity ✅ {projectId}
94
109
  Step 2: 🧠 NeuralMemory ✅ brain: {projectId}
95
- Step 3: 🎯 Task #sym-XYZ "{title}"
96
- Step 4: ✅ READY TO WORK
110
+ Step 3: 📐 Spec Alignment {constraints_count} constraints loaded
111
+ Step 4: 🎯 Task #sym-XYZ "{title}"
112
+ Step 5: ✅ READY TO WORK
97
113
  ══════════════════════════════════════
98
114
  ```
99
115
 
100
- > ⛔ **Nếu KHÔNG hiển thị confirmation block = VI PHẠM — KHÔNG ĐƯỢC BẮT ĐẦU WORK**
116
+ > ⛔ **Nếu KHÔNG hiển thị confirmation block = VI PHẠM**
117
+
118
+ ---
119
+
120
+ ## Auto-Lifecycle: task_boundary ↔ Symphony (NEW v3.0)
121
+
122
+ ```
123
+ LIÊN KẾT TỰ ĐỘNG:
124
+ - task_boundary(PLANNING) → symphony_create_task (nếu chưa có)
125
+ - task_boundary(EXECUTION) → symphony_report_progress(40%)
126
+ - task_boundary(VERIFICATION) → symphony_report_progress(80%)
127
+ - notify_user(BlockedOnUser=false) → TRIGGER TP2 (completion check)
128
+ ```
129
+
130
+ AI PHẢI giữ `current_task_id` xuyên suốt session.
131
+ Mỗi lần gọi `task_boundary` với mode mới → đồng thời report progress.
101
132
 
102
133
  ---
103
134
 
104
- ## Trigger Points (Trong quá trình làm việc)
135
+ ## Trigger Points
105
136
 
106
- ### TP1: Progress Milestone — Tại mỗi giai đoạn quan trọng
137
+ ### TP1: Progress Milestone
107
138
 
108
- **Khi nào:** Bất kỳ milestone nào xảy ra:
139
+ **Khi nào:** Milestone xảy ra:
109
140
  - Chuyển mode: PLANNING → EXECUTION → VERIFICATION
110
141
  - Gọi `notify_user` (TRƯỚC khi gọi)
111
142
  - Hoàn thành 1 component/file lớn
@@ -116,11 +147,11 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ 4 steps đều ✅.
116
147
  symphony_report_progress(
117
148
  task_id=current_task,
118
149
  progress=estimated_percentage,
119
- last_action="mô tả ngắn milestone"
150
+ last_action="mô tả ngắn"
120
151
  )
121
152
  ```
122
153
 
123
- **Progress Estimation Guide:**
154
+ **Progress Guide:**
124
155
  ```
125
156
  10% — Task created, đang research/đọc code
126
157
  25% — Implementation plan approved
@@ -137,7 +168,7 @@ symphony_report_progress(
137
168
 
138
169
  ---
139
170
 
140
- ### TP2: Task Complete — AI tự detect hoàn thành
171
+ ### TP2: Task Complete — Auto-detect
141
172
 
142
173
  **Khi nào:** AI detect ≥2/4 completion signals:
143
174
 
@@ -145,7 +176,7 @@ symphony_report_progress(
145
176
  Signal 1: Final notify_user với BlockedOnUser=false
146
177
  Signal 2: Walkthrough artifact đã tạo
147
178
  Signal 3: Tất cả checklist items trong task.md đã [x]
148
- Signal 4: Verification pass (tests chạy OK, build thành công)
179
+ Signal 4: Verification pass (tests OK, build OK)
149
180
  ```
150
181
 
151
182
  **Action:**
@@ -155,12 +186,55 @@ Signal 4: Verification pass (tests chạy OK, build thành công)
155
186
  summary="mô tả ngắn kết quả"
156
187
  )
157
188
  2. Hiển thị: "✅ SYM #sym-XYZ — Done"
158
- 3. KHÔNG cần chờ user confirm
189
+ 3. TRIGGER TP2.5 (Atomic Git Commit)
190
+ 4. → TRIGGER TP4 (Auto-Next) NGAY LẬP TỨC
159
191
  ```
160
192
 
161
- **Nếu user thấy chưa xong:**
162
- - User chỉ cần nói → AI reopen task và tiếp tục
163
- - Không phải lỗi đây flow bình thường
193
+ ---
194
+
195
+ ### TP2.5: Atomic Git Commit (NEW v3.1 BẮT BUỘC)
196
+
197
+ **Khi nào:** Ngay sau TP2 (task completed), TRƯỚC TP4 (Auto-Next).
198
+ Chỉ trigger khi task có code changes (có files_changed).
199
+
200
+ **Action:**
201
+ ```
202
+ 1. Kiểm tra: git status --porcelain
203
+ → Nếu KHÔNG CÓ changes → skip ("📝 No code changes to commit")
204
+ → Nếu CÓ changes → tiếp tục
205
+
206
+ 2. Xác định commit type từ task context:
207
+ → PLANNING/EXECUTION mới → "feat"
208
+ → Debug/fix → "fix"
209
+ → Refactor/cleanup → "refactor"
210
+ → Docs/specs → "docs"
211
+
212
+ 3. Tạo commit message theo Conventional Commits:
213
+ → Format: "{type}({scope}): {task_summary_ngắn}"
214
+ → scope = module/feature name (từ task title)
215
+ → Ví dụ: "feat(auth): implement login with Firebase"
216
+ → Ví dụ: "fix(camera): resolve 10s delay on tab switch"
217
+
218
+ 4. Stage & commit:
219
+ → git add <files_changed từ symphony_complete_task>
220
+ → Nếu không rõ files → git add -A (thận trọng)
221
+ → git commit -m "{message}"
222
+
223
+ 5. Hiển thị:
224
+ 🔀 Atomic Commit: {short_hash} — "{message}"
225
+ 📁 {N} files changed
226
+
227
+ 6. ⚠️ KHÔNG AUTO-PUSH:
228
+ → Chỉ commit local
229
+ → Push = yêu cầu user confirm hoặc dùng /smart-git-ops
230
+ ```
231
+
232
+ **Enforcement:**
233
+ - ❌ KHÔNG được auto-push (chỉ commit local)
234
+ - ❌ KHÔNG được commit nếu có unresolved merge conflicts
235
+ - ❌ KHÔNG được commit files ngoài scope task
236
+ - ✅ NÊN commit ngay khi task done — đừng để accumulate
237
+ - ✅ Mỗi task = 1 commit (atomic, traceable)
164
238
 
165
239
  ---
166
240
 
@@ -173,14 +247,69 @@ Signal 4: Verification pass (tests chạy OK, build thành công)
173
247
 
174
248
  **Action:**
175
249
  ```
176
- symphony_abandon_task(
177
- task_id=current_task,
178
- reason="mô tả lý do"
179
- )
250
+ symphony_abandon_task(task_id=current_task, reason="...")
180
251
  ```
181
252
 
182
253
  ---
183
254
 
255
+ ### TP4: Auto-Next Suggestion (NEW v3.0 — BẮT BUỘC)
256
+
257
+ **Khi nào:** Ngay sau TP2 (task completed). KHÔNG ĐƯỢC BỎ QUA.
258
+
259
+ **Action:**
260
+ ```
261
+ 1. ĐỌC projectId từ .project-identity (đã có từ Step 1)
262
+ 2. symphony task list -P <projectId> -s ready (CHỈ tasks cùng project)
263
+ ⚠️ TUYỆT ĐỐI KHÔNG dùng filter="ready" không có project filter
264
+ ⚠️ Dùng CLI: symphony task list -P <projectId> -s ready
265
+ ⚠️ Hoặc MCP: symphony_available_tasks + parse project field
266
+ 3. Lọc top 2-3 ready tasks theo priority
267
+ 4. Present cho user:
268
+
269
+ ➡️ NEXT STEPS ({projectName})
270
+ ─────────────────────────────────
271
+ 📋 #sym-A1 — Auth Module (P0, ready)
272
+ 📋 #sym-A2 — Dashboard UI (P1, ready)
273
+
274
+ Bạn muốn tiếp tục với task nào?
275
+
276
+ 5. Nếu KHÔNG CÓ ready tasks trong project hiện tại:
277
+ "✨ Không còn task ready cho {projectName}! Tạo task mới hoặc chuyển phase."
278
+ ```
279
+
280
+ **Enforcement:**
281
+ - ❌ KHÔNG được kết thúc conversation mà KHÔNG present next suggestion
282
+ - ❌ KHÔNG được show tasks từ project khác
283
+ - Nếu quên filter projectId → vi phạm nghiêm trọng (cross-project contamination)
284
+
285
+ ---
286
+
287
+ ## XML Task Spec trong Implementation Plans (NEW v3.0)
288
+
289
+ Khi PLANNING mode tạo `implementation_plan.md`, MỖI task NÊN dùng XML format:
290
+
291
+ ```xml
292
+ <task type="auto">
293
+ <name>Task name</name>
294
+ <files>file1.swift, file2.swift</files>
295
+ <spec_ref>REQUIREMENTS.md § R1</spec_ref>
296
+ <depends_on>none</depends_on>
297
+ <action>Specific instructions</action>
298
+ <verify>How to verify completion</verify>
299
+ <done>Expected final state</done>
300
+ </task>
301
+ ```
302
+
303
+ Template đầy đủ: `~/.gemini/antigravity/templates/specs/task-spec-template.xml`
304
+
305
+ Lợi ích:
306
+ - AI parse chính xác hơn markdown
307
+ - `<spec_ref>` ép buộc liên kết với project spec
308
+ - `<depends_on>` cho phép wave grouping (parallel execution)
309
+ - `<verify>` built-in verification step
310
+
311
+ ---
312
+
184
313
  ## Ngoại lệ — Khi nào KHÔNG cần Startup Protocol
185
314
 
186
315
  ```
@@ -193,8 +322,6 @@ symphony_abandon_task(
193
322
 
194
323
  ## Sync Block Format
195
324
 
196
- Mỗi khi sync, AI hiển thị dòng ngắn:
197
-
198
325
  ```
199
326
  🎯 SYM #sym-XYZ — 40% → 70% "Implemented auth module"
200
327
  ```
@@ -202,6 +329,7 @@ Mỗi khi sync, AI hiển thị dòng ngắn:
202
329
  Nếu completed:
203
330
  ```
204
331
  ✅ SYM #sym-XYZ — Done "Auth module with tests"
332
+ ➡️ Next: #sym-A1 — Dashboard UI (P1)
205
333
  ```
206
334
 
207
335
  ---
@@ -211,17 +339,24 @@ Nếu completed:
211
339
  | Tình huống | Xử lý |
212
340
  |-----------|--------|
213
341
  | Project chưa có .project-identity | ⛔ Dừng, tạo file trước |
342
+ | Project chưa có docs/specs/ | Skip Step 3, tiếp tục |
214
343
  | Symphony server down | Start server, retry. Nếu fail → warning + tiếp tục |
215
344
  | User follow-up nhỏ sau task done | ≤2 file changes → không cần task mới |
216
345
  | Nhiều task cùng lúc | Track task_id riêng, report đúng task |
217
346
  | User reopen task đã complete | Claim lại, resume từ progress cuối |
347
+ | Không có ready tasks cho TP4 | Gợi ý tạo phase tiếp theo |
218
348
 
219
349
  ---
220
350
 
221
351
  ## Learnings
222
352
 
223
353
  - AI quên Symphony vì nó là "side task" — strict protocol biến nó thành MAIN flow
224
- - Step-by-step sequential = AI không thể skip — mỗi step phụ thuộc step trước
225
- - Confirmation block = visual proof cho user thấy đã qua protocol
226
- - User KHÔNG muốn nói "xong" — AI phải tự detect completion signals
227
- - Progress % không cần chính xác rough estimate đủ tốt
354
+ - Step-by-step sequential = AI không thể skip
355
+ - Confirmation block = visual proof cho user
356
+ - User KHÔNG muốn nói "xong" — AI phải tự detect completion
357
+ - Pre-Plan Discussion giúp plan đúng hướng từ đầu (learned from GSD)
358
+ - XML task format chính xác hơn markdown cho AI parsing (learned from GSD)
359
+ - Auto-Next giữ momentum — user không cần tự tìm task tiếp theo
360
+ - Spec alignment tránh plan bị lệch khỏi project constraints
361
+ - Atomic commits giúp rollback chính xác — 1 task = 1 commit (learned from GSD)
362
+ - KHÔNG auto-push — chỉ commit local, push cần user confirm
@@ -0,0 +1,50 @@
1
+ # {{PROJECT_NAME}} — Project Spec
2
+
3
+ > Created: {{DATE}} | Last Updated: {{DATE}}
4
+
5
+ ## Vision
6
+
7
+ [1-2 sentences describing the core purpose and value proposition of this project.]
8
+
9
+ ## Goals
10
+
11
+ 1. **Primary Goal:** [What is the #1 thing this project must achieve?]
12
+ 2. **Secondary Goal:** [What else matters?]
13
+ 3. **Stretch Goal:** [Nice-to-have if time permits]
14
+
15
+ ## Target Audience
16
+
17
+ | Segment | Description | Pain Point |
18
+ |---------|-------------|------------|
19
+ | Primary | [Who is the main user?] | [What problem do they face?] |
20
+ | Secondary | [Other user group] | [Their specific need] |
21
+
22
+ ## Success Metrics
23
+
24
+ - [ ] **Metric 1:** [e.g., 1000 DAU within 3 months]
25
+ - [ ] **Metric 2:** [e.g., 4.5+ App Store rating]
26
+ - [ ] **Metric 3:** [e.g., < 2s cold start time]
27
+
28
+ ## Scope
29
+
30
+ ### In Scope (v1)
31
+ - Feature A
32
+ - Feature B
33
+ - Feature C
34
+
35
+ ### Out of Scope (v1)
36
+ - Feature X (deferred to v2)
37
+ - Feature Y (requires further research)
38
+
39
+ ## Key Decisions
40
+
41
+ | Decision | Choice | Rationale |
42
+ |----------|--------|-----------|
43
+ | [e.g., Backend] | [e.g., Firebase] | [Why this choice] |
44
+ | [e.g., State Mgmt] | [e.g., SwiftUI @Observable] | [Why] |
45
+
46
+ ## References
47
+
48
+ - [Design inspiration link]
49
+ - [Competitor analysis link]
50
+ - [Technical reference]
@@ -0,0 +1,79 @@
1
+ # {{PROJECT_NAME}} — Roadmap
2
+
3
+ > Created: {{DATE}} | Last Updated: {{DATE}}
4
+ > Source of truth: PROJECT.md
5
+
6
+ ## Overview
7
+
8
+ | Phase | Title | Status | Priority |
9
+ |-------|-------|--------|----------|
10
+ | 1 | [Phase title] | 🔲 Not Started | P0 |
11
+ | 2 | [Phase title] | 🔲 Not Started | P1 |
12
+ | 3 | [Phase title] | 🔲 Not Started | P2 |
13
+
14
+ ---
15
+
16
+ ## Phase 1: [Title] — [Target Date]
17
+
18
+ **Goal:** [What this phase delivers in 1 sentence]
19
+
20
+ **Requirements Covered:** REQUIREMENTS.md § R1, R2
21
+
22
+ ### Features
23
+ - [ ] Feature 1.1 — [Short description]
24
+ - [ ] Feature 1.2 — [Short description]
25
+ - [ ] Feature 1.3 — [Short description]
26
+
27
+ ### Dependencies
28
+ - [External service / API / library needed]
29
+
30
+ ### Definition of Done
31
+ - [ ] All features functional
32
+ - [ ] Core tests passing
33
+ - [ ] No P0 bugs
34
+
35
+ ---
36
+
37
+ ## Phase 2: [Title] — [Target Date]
38
+
39
+ **Goal:** [What this phase delivers]
40
+
41
+ **Requirements Covered:** REQUIREMENTS.md § R3, R4
42
+
43
+ ### Features
44
+ - [ ] Feature 2.1
45
+ - [ ] Feature 2.2
46
+
47
+ ### Dependencies
48
+ - Phase 1 complete
49
+
50
+ ### Definition of Done
51
+ - [ ] All features functional
52
+ - [ ] Integration tests passing
53
+
54
+ ---
55
+
56
+ ## Phase 3: [Title] — [Target Date]
57
+
58
+ **Goal:** [What this phase delivers]
59
+
60
+ **Requirements Covered:** REQUIREMENTS.md § R5+
61
+
62
+ ### Features
63
+ - [ ] Feature 3.1
64
+ - [ ] Feature 3.2
65
+
66
+ ### Definition of Done
67
+ - [ ] All features functional
68
+ - [ ] Performance benchmarks met
69
+ - [ ] Ready for production release
70
+
71
+ ---
72
+
73
+ ## Milestone Tracking
74
+
75
+ | Milestone | Target | Actual | Status |
76
+ |-----------|--------|--------|--------|
77
+ | MVP (Phase 1) | [Date] | — | 🔲 |
78
+ | Beta (Phase 2) | [Date] | — | 🔲 |
79
+ | Launch (Phase 3) | [Date] | — | 🔲 |
@@ -0,0 +1,81 @@
1
+ # {{PROJECT_NAME}} — Technical Specification
2
+
3
+ > Created: {{DATE}} | Last Updated: {{DATE}}
4
+ > Companion to: PROJECT.md, REQUIREMENTS.md
5
+
6
+ ## Architecture Overview
7
+
8
+ [1-2 sentences describing the high-level architecture pattern being used.]
9
+
10
+ ```
11
+ [Simple ASCII diagram of the system architecture]
12
+ ```
13
+
14
+ ## Tech Stack
15
+
16
+ | Layer | Technology | Version | Rationale |
17
+ |-------|-----------|---------|-----------|
18
+ | Language | [e.g., Swift] | [e.g., 6.0] | [Why] |
19
+ | Framework | [e.g., SwiftUI] | [e.g., iOS 17+] | [Why] |
20
+ | Backend | [e.g., Firebase] | [e.g., v11] | [Why] |
21
+ | Database | [e.g., GRDB] | [e.g., 7.x] | [Why] |
22
+ | AI/ML | [e.g., Gemini 2.5] | — | [Why] |
23
+ | Analytics | [e.g., Firebase Analytics] | — | [Why] |
24
+
25
+ ## Architecture Decisions
26
+
27
+ ### AD-1: [Decision Title]
28
+
29
+ **Context:** [What problem or question prompted this decision?]
30
+ **Decision:** [What was decided]
31
+ **Consequences:** [What trade-offs or implications does this have?]
32
+ **Alternatives Considered:** [What else was evaluated?]
33
+
34
+ ### AD-2: [Decision Title]
35
+
36
+ **Context:** [...]
37
+ **Decision:** [...]
38
+ **Consequences:** [...]
39
+
40
+ ## Patterns & Conventions
41
+
42
+ ### Code Organization
43
+ ```
44
+ [Folder structure with descriptions]
45
+ ```
46
+
47
+ ### Naming Conventions
48
+ - Files: [e.g., PascalCase for types, camelCase for functions]
49
+ - Modules: [e.g., feature-based grouping]
50
+ - Tests: [e.g., Test suffix, describe/it pattern]
51
+
52
+ ### Error Handling
53
+ [Standard error handling approach for the project]
54
+
55
+ ### State Management
56
+ [How state is managed across the app]
57
+
58
+ ## Constraints & Non-Negotiables
59
+
60
+ > [!CAUTION]
61
+ > These constraints MUST be followed in ALL implementation plans.
62
+
63
+ 1. **[Constraint 1]:** [e.g., All network calls must have offline fallback]
64
+ 2. **[Constraint 2]:** [e.g., No hardcoded strings — use localization]
65
+ 3. **[Constraint 3]:** [e.g., All AI calls must respect quota limits]
66
+ 4. **[Constraint 4]:** [e.g., Minimum iOS 17 / Android 14 support]
67
+
68
+ ## Security Requirements
69
+
70
+ - Authentication: [e.g., Firebase Auth with Apple/Google Sign-In]
71
+ - Data at rest: [e.g., Keychain for sensitive data]
72
+ - API keys: [e.g., Firebase Remote Config, never hardcoded]
73
+
74
+ ## Performance Targets
75
+
76
+ | Metric | Target | How to Measure |
77
+ |--------|--------|----------------|
78
+ | Cold start | < [X]s | Instruments / Profiler |
79
+ | API response | < [X]ms | Network logs |
80
+ | Memory | < [X]MB | Memory profiler |
81
+ | App size | < [X]MB | Archive build |
@@ -0,0 +1,65 @@
1
+ <!--
2
+ AWF Task Spec Template (XML Format)
3
+
4
+ Usage: Copy this structure into implementation_plan.md for each task.
5
+ AI parses these blocks precisely during EXECUTION mode.
6
+
7
+ Attributes:
8
+ type="auto" → AI executes without user interaction
9
+ type="manual" → Requires user action (e.g., config, credentials)
10
+
11
+ Elements:
12
+ <name> → Short task title
13
+ <files> → Comma-separated list of files to create/modify
14
+ <spec_ref> → Reference to REQUIREMENTS.md or TECH-SPEC.md section
15
+ <depends_on> → Task names this depends on (for wave grouping)
16
+ <action> → Specific implementation instructions
17
+ <verify> → Command or check to verify task completion
18
+ <done> → Expected final state description
19
+ -->
20
+
21
+ <!-- Example: Single independent task -->
22
+ <task type="auto">
23
+ <name>Create User model</name>
24
+ <files>Models/User.swift, Models/UserRepository.swift</files>
25
+ <spec_ref>REQUIREMENTS.md § R1, TECH-SPEC.md § AD-1</spec_ref>
26
+ <depends_on>none</depends_on>
27
+ <action>
28
+ Create User struct with Codable conformance.
29
+ Implement UserRepository with GRDB persistence.
30
+ Follow offline-first pattern from TECH-SPEC.md.
31
+ </action>
32
+ <verify>Unit test: UserRepositoryTests — insert, fetch, delete pass</verify>
33
+ <done>User model persists to local DB with full CRUD</done>
34
+ </task>
35
+
36
+ <!-- Example: Dependent task -->
37
+ <task type="auto">
38
+ <name>Create login endpoint</name>
39
+ <files>Services/AuthService.swift, ViewModels/LoginViewModel.swift</files>
40
+ <spec_ref>REQUIREMENTS.md § R2</spec_ref>
41
+ <depends_on>Create User model</depends_on>
42
+ <action>
43
+ Use Firebase Auth for authentication.
44
+ Store session in Keychain per TECH-SPEC.md § Security.
45
+ Handle offline: queue login attempt, retry on connectivity.
46
+ </action>
47
+ <verify>Login with test credentials returns valid session token</verify>
48
+ <done>User can log in; session persists across app restarts</done>
49
+ </task>
50
+
51
+ <!-- Example: Manual task -->
52
+ <task type="manual">
53
+ <name>Configure Firebase project</name>
54
+ <files>GoogleService-Info.plist</files>
55
+ <spec_ref>TECH-SPEC.md § Tech Stack</spec_ref>
56
+ <depends_on>none</depends_on>
57
+ <action>
58
+ User must:
59
+ 1. Create Firebase project at console.firebase.google.com
60
+ 2. Download GoogleService-Info.plist
61
+ 3. Add to Xcode project root
62
+ </action>
63
+ <verify>FirebaseApp.configure() succeeds without crash</verify>
64
+ <done>Firebase SDK initialized on app launch</done>
65
+ </task>