@anhth2/spec-driven-dev-plugin 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/commands/debug.md +38 -8
  2. package/commands/define-product.md +38 -8
  3. package/commands/dev-gen-test.md +39 -9
  4. package/commands/dev-gen-test.tmpl +1 -1
  5. package/commands/dev-run-test.md +43 -10
  6. package/commands/dev-run-test.tmpl +5 -2
  7. package/commands/dev-smoke-test.md +38 -8
  8. package/commands/fix-bug.md +38 -8
  9. package/commands/generate-bdd.md +42 -10
  10. package/commands/generate-bdd.tmpl +4 -2
  11. package/commands/generate-code.md +39 -9
  12. package/commands/generate-code.tmpl +1 -1
  13. package/commands/generate-design-spec.md +38 -8
  14. package/commands/generate-prd.md +38 -8
  15. package/commands/generate-spec-manifest.md +38 -8
  16. package/commands/generate-tech-docs.md +38 -8
  17. package/commands/learn.md +38 -8
  18. package/commands/propose-scenario.md +38 -8
  19. package/commands/qc-analyze.md +514 -0
  20. package/commands/qc-analyze.tmpl +71 -0
  21. package/commands/qc-design-test.md +510 -0
  22. package/commands/qc-design-test.tmpl +67 -0
  23. package/commands/qc-plan.md +492 -0
  24. package/commands/qc-plan.tmpl +49 -0
  25. package/commands/qc-report.md +491 -0
  26. package/commands/qc-report.tmpl +48 -0
  27. package/commands/qc-review.md +496 -0
  28. package/commands/qc-review.tmpl +53 -0
  29. package/commands/qc-run-test.md +538 -0
  30. package/commands/qc-run-test.tmpl +77 -0
  31. package/commands/refine-prd.md +38 -8
  32. package/commands/report-bug.md +38 -8
  33. package/commands/review-code.md +38 -8
  34. package/commands/review-context.md +38 -8
  35. package/commands/review-tech-docs.md +38 -8
  36. package/commands/setup-ai-first.md +7 -0
  37. package/commands/sync.md +7 -0
  38. package/commands/update-framework.md +7 -0
  39. package/commands/validate-traces.md +54 -12
  40. package/commands/validate-traces.tmpl +16 -4
  41. package/core/FRAMEWORK_VERSION +1 -1
  42. package/core/commands/debug.md +38 -8
  43. package/core/commands/define-product.md +38 -8
  44. package/core/commands/dev-gen-test.md +39 -9
  45. package/core/commands/dev-run-test.md +43 -10
  46. package/core/commands/dev-smoke-test.md +38 -8
  47. package/core/commands/fix-bug.md +38 -8
  48. package/core/commands/generate-bdd.md +42 -10
  49. package/core/commands/generate-code.md +39 -9
  50. package/core/commands/generate-design-spec.md +38 -8
  51. package/core/commands/generate-prd.md +38 -8
  52. package/core/commands/generate-spec-manifest.md +38 -8
  53. package/core/commands/generate-tech-docs.md +38 -8
  54. package/core/commands/learn.md +38 -8
  55. package/core/commands/propose-scenario.md +38 -8
  56. package/core/commands/qc-analyze.md +514 -0
  57. package/core/commands/qc-design-test.md +510 -0
  58. package/core/commands/qc-plan.md +492 -0
  59. package/core/commands/qc-report.md +491 -0
  60. package/core/commands/qc-review.md +496 -0
  61. package/core/commands/qc-run-test.md +538 -0
  62. package/core/commands/refine-prd.md +38 -8
  63. package/core/commands/report-bug.md +38 -8
  64. package/core/commands/review-code.md +38 -8
  65. package/core/commands/review-context.md +38 -8
  66. package/core/commands/review-tech-docs.md +38 -8
  67. package/core/commands/setup-ai-first.md +7 -0
  68. package/core/commands/sync.md +7 -0
  69. package/core/commands/update-framework.md +7 -0
  70. package/core/commands/validate-traces.md +54 -12
  71. package/core/modules/qc-playwright/stack-profile.yaml +65 -0
  72. package/core/skills/code/SKILL.md +45 -8
  73. package/core/skills/debug/SKILL.md +52 -8
  74. package/core/skills/design-spec/SKILL.md +38 -8
  75. package/core/skills/discovery/SKILL.md +38 -8
  76. package/core/skills/prd/SKILL.md +14 -0
  77. package/core/skills/qc/qa-analyst/DOC_GAPS.template.md +63 -0
  78. package/core/skills/qc/qa-analyst/acceptance-criteria.md +56 -0
  79. package/core/skills/qc/qa-analyst/business-rules.md +55 -0
  80. package/core/skills/qc/qa-analyst/data-flow.md +60 -0
  81. package/core/skills/qc/qa-analyst/spec-breakdown.md +57 -0
  82. package/core/skills/qc/qa-designer/e2e/journey.md +41 -0
  83. package/core/skills/qc/qa-designer/exploratory/charter.md +68 -0
  84. package/core/skills/qc/qa-designer/exploratory/explore-to-functional.md +43 -0
  85. package/core/skills/qc/qa-designer/functional/api.md +45 -0
  86. package/core/skills/qc/qa-designer/functional/gui-feature.md +46 -0
  87. package/core/skills/qc/qa-designer/functional/gui-screen.md +52 -0
  88. package/core/skills/qc/qa-designer/integration/api.md +42 -0
  89. package/core/skills/qc/qa-designer/integration/db.md +39 -0
  90. package/core/skills/qc/qa-designer/integration/gui.md +40 -0
  91. package/core/skills/qc/qa-designer/integration/kafka.md +40 -0
  92. package/core/skills/qc/qa-designer/non-functional.md +40 -0
  93. package/core/skills/qc/qa-planner/test-plan.md +120 -0
  94. package/core/skills/qc/qa-reviewer/script/e2e.md +87 -0
  95. package/core/skills/qc/qa-reviewer/script/exploratory.md +45 -0
  96. package/core/skills/qc/qa-reviewer/script/functional.md +101 -0
  97. package/core/skills/qc/qa-reviewer/script/integration.md +91 -0
  98. package/core/skills/qc/qa-reviewer/script/non-functional.md +126 -0
  99. package/core/skills/qc/qa-reviewer/test-case/e2e.md +73 -0
  100. package/core/skills/qc/qa-reviewer/test-case/exploratory.md +43 -0
  101. package/core/skills/qc/qa-reviewer/test-case/functional.md +76 -0
  102. package/core/skills/qc/qa-reviewer/test-case/integration.md +69 -0
  103. package/core/skills/qc/qa-reviewer/test-case/non-functional.md +73 -0
  104. package/core/skills/qc/qa-runner/e2e.md +49 -0
  105. package/core/skills/qc/qa-runner/exploratory/session.md +36 -0
  106. package/core/skills/qc/qa-runner/functional/api.md +35 -0
  107. package/core/skills/qc/qa-runner/functional/gui-feature.md +51 -0
  108. package/core/skills/qc/qa-runner/functional/gui-screen.md +55 -0
  109. package/core/skills/qc/qa-runner/integration.md +47 -0
  110. package/core/skills/qc/qa-runner/non-functional.md +49 -0
  111. package/core/skills/qc/qa-runner/report/report.md +37 -0
  112. package/core/skills/setup-ai-first/SKILL.md +7 -0
  113. package/core/skills/spec/SKILL.md +14 -0
  114. package/core/skills/test/SKILL.md +83 -16
  115. package/core/steps/context-loader.md +31 -8
  116. package/core/steps/report-footer.md +7 -0
  117. package/core/templates/project-context.yaml +8 -0
  118. package/docs/01-getting-started/README.md +19 -0
  119. package/docs/01-getting-started/core-concepts.md +102 -0
  120. package/docs/01-getting-started/installation.md +154 -0
  121. package/docs/01-getting-started/quickstart.md +85 -0
  122. package/docs/02-guides/README.md +27 -0
  123. package/docs/02-guides/developer/README.md +46 -0
  124. package/docs/02-guides/developer/bdd-and-trace.md +123 -0
  125. package/docs/02-guides/developer/commands.md +76 -0
  126. package/docs/02-guides/developer/pr-checklist.md +15 -0
  127. package/docs/02-guides/developer/scenarios.md +448 -0
  128. package/docs/02-guides/developer/workflow.md +59 -0
  129. package/docs/02-guides/product-owner/README.md +77 -0
  130. package/docs/02-guides/product-owner/commands.md +30 -0
  131. package/docs/02-guides/product-owner/handoff-checklist.md +42 -0
  132. package/docs/02-guides/product-owner/prd-writing-rules.md +45 -0
  133. package/docs/02-guides/product-owner/scenarios.md +357 -0
  134. package/docs/02-guides/qc-automation.md +92 -0
  135. package/docs/02-guides/tester/README.md +72 -0
  136. package/docs/02-guides/tester/bug-reporting.md +117 -0
  137. package/docs/02-guides/tester/reading-specs.md +79 -0
  138. package/docs/02-guides/tester/scenarios.md +186 -0
  139. package/docs/02-guides/tester/spec-manifest.md +124 -0
  140. package/docs/02-guides/tester/test-checklist.md +31 -0
  141. package/docs/02-guides/tester/workflow.md +79 -0
  142. package/docs/03-concepts/README.md +19 -0
  143. package/docs/03-concepts/architecture.md +243 -0
  144. package/docs/03-concepts/pipeline.md +249 -0
  145. package/docs/03-concepts/traceability.md +148 -0
  146. package/docs/04-operations/README.md +33 -0
  147. package/docs/04-operations/bug-flow.md +321 -0
  148. package/docs/04-operations/publishing.md +137 -0
  149. package/docs/04-operations/sync-and-update.md +328 -0
  150. package/docs/05-reference/README.md +29 -0
  151. package/docs/05-reference/commands.md +229 -0
  152. package/docs/05-reference/modules.md +110 -0
  153. package/docs/05-reference/trace-schema.md +146 -0
  154. package/docs/README.md +51 -0
  155. package/modules/qc-playwright/stack-profile.yaml +65 -0
  156. package/package.json +2 -2
  157. package/skills/code/SKILL.md +45 -8
  158. package/skills/debug/SKILL.md +52 -8
  159. package/skills/design-spec/SKILL.md +38 -8
  160. package/skills/discovery/SKILL.md +38 -8
  161. package/skills/prd/SKILL.md +14 -0
  162. package/skills/qc/qa-analyst/DOC_GAPS.template.md +63 -0
  163. package/skills/qc/qa-analyst/acceptance-criteria.md +56 -0
  164. package/skills/qc/qa-analyst/business-rules.md +55 -0
  165. package/skills/qc/qa-analyst/data-flow.md +60 -0
  166. package/skills/qc/qa-analyst/spec-breakdown.md +57 -0
  167. package/skills/qc/qa-designer/e2e/journey.md +41 -0
  168. package/skills/qc/qa-designer/exploratory/charter.md +68 -0
  169. package/skills/qc/qa-designer/exploratory/explore-to-functional.md +43 -0
  170. package/skills/qc/qa-designer/functional/api.md +45 -0
  171. package/skills/qc/qa-designer/functional/gui-feature.md +46 -0
  172. package/skills/qc/qa-designer/functional/gui-screen.md +52 -0
  173. package/skills/qc/qa-designer/integration/api.md +42 -0
  174. package/skills/qc/qa-designer/integration/db.md +39 -0
  175. package/skills/qc/qa-designer/integration/gui.md +40 -0
  176. package/skills/qc/qa-designer/integration/kafka.md +40 -0
  177. package/skills/qc/qa-designer/non-functional.md +40 -0
  178. package/skills/qc/qa-planner/test-plan.md +120 -0
  179. package/skills/qc/qa-reviewer/script/e2e.md +87 -0
  180. package/skills/qc/qa-reviewer/script/exploratory.md +45 -0
  181. package/skills/qc/qa-reviewer/script/functional.md +101 -0
  182. package/skills/qc/qa-reviewer/script/integration.md +91 -0
  183. package/skills/qc/qa-reviewer/script/non-functional.md +126 -0
  184. package/skills/qc/qa-reviewer/test-case/e2e.md +73 -0
  185. package/skills/qc/qa-reviewer/test-case/exploratory.md +43 -0
  186. package/skills/qc/qa-reviewer/test-case/functional.md +76 -0
  187. package/skills/qc/qa-reviewer/test-case/integration.md +69 -0
  188. package/skills/qc/qa-reviewer/test-case/non-functional.md +73 -0
  189. package/skills/qc/qa-runner/e2e.md +49 -0
  190. package/skills/qc/qa-runner/exploratory/session.md +36 -0
  191. package/skills/qc/qa-runner/functional/api.md +35 -0
  192. package/skills/qc/qa-runner/functional/gui-feature.md +51 -0
  193. package/skills/qc/qa-runner/functional/gui-screen.md +55 -0
  194. package/skills/qc/qa-runner/integration.md +47 -0
  195. package/skills/qc/qa-runner/non-functional.md +49 -0
  196. package/skills/qc/qa-runner/report/report.md +37 -0
  197. package/skills/setup-ai-first/SKILL.md +7 -0
  198. package/skills/spec/SKILL.md +14 -0
  199. package/skills/test/SKILL.md +83 -16
  200. package/steps/context-loader.md +31 -8
  201. package/steps/report-footer.md +7 -0
  202. package/templates/project-context.yaml +8 -0
  203. package/ARCHITECTURE.md +0 -258
@@ -0,0 +1,328 @@
1
+ [📚 Docs](../README.md) › [Operations](README.md) › Sync & Update
2
+
3
+ # Sync & Update — Vận hành hằng ngày
4
+
5
+ > Cách đồng bộ nội dung dự án (`/sync`), nâng cấp framework (`/update-framework`), làm việc ở umbrella mode với git submodule, đồng bộ Living Docs, và workflow hằng ngày theo từng role.
6
+
7
+ ---
8
+
9
+ ## Mục lục
10
+
11
+ 1. [Hai loại "update" — đừng nhầm](#1-hai-loại-update--đừng-nhầm)
12
+ 2. [`/sync` — đồng bộ nội dung dự án](#2-sync--đồng-bộ-nội-dung-dự-án)
13
+ 3. [`/update-framework` — nâng cấp framework](#3-update-framework--nâng-cấp-framework)
14
+ 4. [Umbrella mode & git submodule](#4-umbrella-mode--git-submodule)
15
+ 5. [Living Docs sync](#5-living-docs-sync)
16
+ 6. [Workflow hằng ngày theo role](#6-workflow-hằng-ngày-theo-role)
17
+ 7. [Project Lessons — không để AI lặp lỗi](#7-project-lessons--không-để-ai-lặp-lỗi)
18
+ 8. [Câu hỏi thường gặp](#8-câu-hỏi-thường-gặp)
19
+
20
+ > Pipeline QC native (`/qc-*`) có trang riêng — xem [Guide · QC Automation](../02-guides/qc-automation.md). Ở đây chỉ điểm qua chỗ `/sync` chạm vào QC.
21
+
22
+ ---
23
+
24
+ ## 1. Hai loại "update" — đừng nhầm
25
+
26
+ Có 2 thứ cần update, **nguồn khác nhau, tần suất khác nhau**:
27
+
28
+ | | `/sync` | `/update-framework` |
29
+ |---|---|---|
30
+ | **Update cái gì** | Nội dung dự án: code/specs trong submodule + Living Docs | Bản thân framework: `.agent/commands/`, steps/, modules/ |
31
+ | **Nguồn** | Git remote của các submodule | npm registry |
32
+ | **Tần suất** | Mỗi sáng / trước khi work | Khi có version framework mới (hiếm) |
33
+ | **Đụng `project-context.yaml` / `CLAUDE.md`?** | Không | Không (chỉ refresh file framework) |
34
+
35
+ ```bash
36
+ # Update nội dung dự án — chạy thường xuyên
37
+ /sync
38
+
39
+ # Nâng cấp framework — chạy khi có bản mới
40
+ /update-framework
41
+ ```
42
+
43
+ ---
44
+
45
+ ## 2. `/sync` — đồng bộ nội dung dự án
46
+
47
+ `/sync` gộp `git pull` + cập nhật submodule + refresh Living Docs vào **1 lệnh duy nhất**, chạy từ umbrella root:
48
+
49
+ - Pull specs (spec submodule) + services (service submodules).
50
+ - Refresh Living Docs panel (regenerate trace report — xem [§5](#5-living-docs-sync)).
51
+ - Liệt kê **📥 New tester feedback** — bug report / scenario proposal mới từ tester trong vùng `feedback/` của spec repo.
52
+
53
+ ```bash
54
+ /sync
55
+ # hoặc override branch của spec submodule một lần:
56
+ /sync develop
57
+ ```
58
+
59
+ **Branch nào được kéo?** `/sync` đọc `submodule.<spec>.branch` trong `.gitmodules`; nếu không khai báo → lấy **default branch của remote** (`origin/HEAD`, thường `main`). PO làm trên branch khác (vd `develop`) → pin một lần cho cả team:
60
+
61
+ ```bash
62
+ git config -f .gitmodules submodule.my-project-specs.branch develop
63
+ git add .gitmodules && git commit -m "chore: pin spec submodule branch = develop"
64
+ ```
65
+
66
+ Service submodules không bị ảnh hưởng — luôn checkout đúng SHA mà umbrella ghi, không phụ thuộc branch.
67
+
68
+ ---
69
+
70
+ ## 3. `/update-framework` — nâng cấp framework
71
+
72
+ ```bash
73
+ /update-framework
74
+ # → đọc .agent/FRAMEWORK_VERSION, so với npm
75
+ # → chạy npx @latest --init
76
+ # → review `git diff .agent/` rồi commit
77
+ ```
78
+
79
+ > **Umbrella mode:** `/update-framework` chỉ cần chạy ở **umbrella root**. Service submodule chỉ chứa `.agent/project-context.yaml` (config), không có command files → không cần nâng cấp riêng.
80
+
81
+ ---
82
+
83
+ ## 4. Umbrella mode & git submodule
84
+
85
+ Claude Code luôn mở ở **umbrella repo** (không mở trong service submodule). Umbrella thấy được cả spec submodule (read-only) lẫn service submodule (code).
86
+
87
+ ### 4.1 — Clone lần đầu
88
+
89
+ ```bash
90
+ git clone --recurse-submodules https://gitlab.company.com/my-project-web.git
91
+
92
+ # Hoặc nếu đã clone mà submodule trống:
93
+ git submodule update --init --recursive
94
+ ```
95
+
96
+ ### 4.2 — Kiểm tra trạng thái submodule
97
+
98
+ ```bash
99
+ git submodule status
100
+ ```
101
+
102
+ | Ký hiệu | Ý nghĩa | Cách xử lý |
103
+ |---|---|---|
104
+ | `abc1234 my-project-specs` | Bình thường | — |
105
+ | `+abc1234 …` | Umbrella có thay đổi chưa commit | `git add <sub> && git commit` |
106
+ | `-abc1234 …` | Chưa init | `git submodule update --init` |
107
+ | `Uabc1234 …` | Conflict | Giải quyết conflict rồi commit |
108
+
109
+ ### 4.3 — Cập nhật spec submodule (lấy PRD mới từ PO)
110
+
111
+ ```bash
112
+ # Cách 1: kéo version mới nhất của branch (thường dùng nhất)
113
+ git submodule update --remote my-project-specs
114
+
115
+ # Cách 2: kéo version mà umbrella đang trỏ (sau git pull)
116
+ git submodule update my-project-specs
117
+
118
+ # Commit lại pointer để cả team cùng version
119
+ git add my-project-specs
120
+ git commit -m "chore: update spec submodule to latest"
121
+ git push
122
+ ```
123
+
124
+ > **Khác biệt:** `--remote` lấy commit mới nhất từ remote branch (khi PO vừa push); không có `--remote` → sync về đúng commit umbrella đang trỏ. `/sync` xử lý việc này tự động.
125
+
126
+ ### 4.4 — Commit 2 tầng (thay đổi trong service submodule)
127
+
128
+ ```bash
129
+ # Tầng 1: commit trong service submodule
130
+ cd user-service
131
+ git add specs/bdd/ src/
132
+ git commit -m "feat(FEAT-01): add BDD and implementation"
133
+ git push origin main
134
+ cd ..
135
+
136
+ # Tầng 2: update pointer ở umbrella
137
+ git add user-service
138
+ git commit -m "chore: update user-service submodule to FEAT-01"
139
+ git push
140
+ ```
141
+
142
+ > ⚠️ **PHẢI push cả 2 tầng.** Push umbrella mà quên push submodule → người khác pull về bị lỗi "commit không tồn tại".
143
+ >
144
+ > **Tech-docs (API contract):** khi `setup.spec_source` được set, tech-design **luôn** nằm ở `{spec_source}/specs/tech-docs` (spec repo chung) — commit + push riêng trong spec submodule, FE/App đọc qua `/sync`. Per-service tech-docs chỉ dùng khi **không** có `spec_source`.
145
+
146
+ ### 4.5 — Lỡ tay sửa file trong spec submodule (read-only)
147
+
148
+ Spec submodule là **read-only** cho dev/tester. Nếu lỡ sửa → bỏ thay đổi:
149
+
150
+ ```bash
151
+ cd my-project-specs
152
+ git checkout . # hoặc: git restore .
153
+ ```
154
+
155
+ Muốn cập nhật PRD → báo PO sửa trong spec repo của họ rồi push.
156
+
157
+ ### 4.6 — Troubleshooting
158
+
159
+ | Lỗi | Nguyên nhân | Cách xử lý |
160
+ |---|---|---|
161
+ | Thư mục submodule trống | Chưa init | `git submodule update --init` |
162
+ | `fatal: not a git repository` | Sai thư mục | `cd` về đúng chỗ |
163
+ | `object not found` sau pull | Push umbrella nhưng quên push submodule | Người commit submodule chạy `cd <sub> && git push` |
164
+ | Submodule ở `detached HEAD` | Bình thường khi dùng submodule | Không cần lo nếu không sửa file trong đó |
165
+ | Conflict trong submodule pointer | 2 người cùng update submodule | `git checkout --theirs <sub> && git add <sub>` |
166
+
167
+ ---
168
+
169
+ ## 5. Living Docs sync
170
+
171
+ Living Docs panel hiển thị trạng thái trace của toàn bộ feature. Refresh nó bằng `/validate-traces` (hoặc tự động qua `/sync`):
172
+
173
+ ```bash
174
+ /validate-traces
175
+ ```
176
+
177
+ - Đọc TSVs từ **tất cả** service submodule (`.trace/*.tsv` là authoritative — commit ở mỗi service).
178
+ - Cập nhật cột `dev_selftest` (pass/fail/not_run) + `dev_selftest_at`.
179
+ - Ghi canonical `trace-report.json` + bản TSV mirror → `{spec_source}/.living-docs/` (gitignored).
180
+ - Mirror thêm về `./.trace` của workspace hiện tại → panel không rỗng kể cả khi đứng trong 1 service submodule đơn lẻ.
181
+
182
+ > **Report nằm ở đâu:** canonical `trace-report.json` + TSV mirror ở **spec module** tại `{spec_source}/.living-docs/` (gitignored, regenerate bởi `/sync` hoặc `/validate-traces`). Authoritative per-service `.trace/*.tsv` vẫn commit trong mỗi service.
183
+ >
184
+ > **.gitignore:** thêm `.trace/` trong repo hiện tại **và** `.living-docs/` trong spec module — đều là mirror read-only, không commit.
185
+
186
+ ### `dev_selftest` vs `qc_status` — đừng nhầm
187
+
188
+ | Cột | Set bởi | Ý nghĩa |
189
+ |---|---|---|
190
+ | `dev_selftest` (+ `dev_selftest_at`) | `/dev-run-test` | Dev tự kiểm tra code mình viết (self-check / smoke). **KHÔNG** phải coverage QC chính thức. |
191
+ | `qc_status` (+ `qc_run_at`) | `/qc-run-test` (keyed theo `@trace.verifies={UC-ID}-SC{N}`) | Kết quả QC chính thức của framework. |
192
+
193
+ Sau khi chạy `/qc-run-test` rồi `/validate-traces` (hoặc `/sync`), `qc_status` hiện lên Living Docs cạnh `dev_selftest`.
194
+
195
+ ---
196
+
197
+ ## 6. Workflow hằng ngày theo role
198
+
199
+ ### PO — Viết tài liệu cho tính năng mới
200
+
201
+ ```bash
202
+ cd my-project-spec
203
+ git pull
204
+ # Mở Claude Code tại thư mục này:
205
+ /define-product # khởi tạo product definition
206
+ /generate-prd {product-definition-file}
207
+ /refine-prd {prd-file} # review 4 lens: QA/DEV/SA/PO
208
+ /review-context {prd-file} # chất lượng + P0 check
209
+ /review-context --fix {prd-file} # auto-fix vấn đề nhỏ
210
+ # → update @trace.status: approved khi PRD sẵn sàng
211
+ /generate-design-spec {prd-file} # FE/App
212
+ /generate-bdd {prd-file} # → web / app / system (lần lượt)
213
+
214
+ git add specs/
215
+ git commit -m "feat({domain}): add {TICKET-ID} PRD, design spec, and BDD"
216
+ git push
217
+ ```
218
+
219
+ ### FE/Web Dev — Nhận task mới
220
+
221
+ ```bash
222
+ cd my-project-web
223
+ /sync # pull + submodule + Living Docs
224
+ git add my-project-specs && git commit -m "chore: sync specs" && git push
225
+
226
+ /review-context my-project-specs/specs/prd/{domain}/{TICKET-ID}-prd.md
227
+ # → P0: @trace.domain khớp services config? @trace.status: approved?
228
+ # Đọc Web BDD do PO generate (KHÔNG tự generate BDD):
229
+ # my-project-specs/specs/bdd/{domain}/web/{TICKET-ID}-UC*.feature
230
+
231
+ /generate-tech-docs {domain}/{TICKET-ID}-UC1
232
+ /review-tech-docs {domain}/{TICKET-ID}-UC1
233
+
234
+ # ── BE chưa sẵn sàng ──
235
+ /generate-code {domain}/{TICKET-ID}-UC1 --phase=ui # UI + mock adapter (tester test ngay)
236
+ /dev-gen-test {domain}/{TICKET-ID}-UC1
237
+ /review-code {files-changed}
238
+ /dev-run-test # dev self-check (dev_selftest)
239
+ # → sau khi sign-off gate approved:
240
+ /generate-code {domain}/{TICKET-ID}-UC1 --phase=integration # wire API thật
241
+
242
+ # ── API đã có sẵn ──
243
+ /generate-code {domain}/{TICKET-ID}-UC1 # không cần --phase
244
+ /dev-gen-test {domain}/{TICKET-ID}-UC1
245
+ /review-code {files-changed}
246
+ /dev-run-test
247
+
248
+ # Commit 2 tầng (xem §4.4)
249
+ ```
250
+
251
+ ### BE Dev — Nhận task mới
252
+
253
+ ```bash
254
+ cd my-project-be
255
+ /sync
256
+ # → cũng liệt kê "📥 New tester feedback" → /fix-bug · promote proposal · báo PO
257
+
258
+ /review-context my-project-specs/specs/prd/{domain}/{TICKET-ID}-prd.md
259
+ # Đọc System BDD: my-project-specs/specs/bdd/{domain}/system/{TICKET-ID}-UC*.feature
260
+
261
+ /generate-tech-docs {domain}/{TICKET-ID}-UC1
262
+ /review-tech-docs {domain}/{TICKET-ID}-UC1
263
+ /generate-code {domain}/{TICKET-ID}-UC1
264
+ /dev-gen-test {domain}/{TICKET-ID}-UC1
265
+ /review-code {files-changed} # AI lặp lỗi → accept "Record as lesson?"
266
+ /dev-run-test
267
+
268
+ # Commit 2 tầng vào đúng service submodule theo domain (xem §4.4)
269
+ ```
270
+
271
+ ### QC — Chạy native QC pipeline (tóm tắt)
272
+
273
+ Điều kiện: BDD đã `approved`. Module `qc-playwright` (Python + pytest-playwright + Page Object).
274
+
275
+ ```bash
276
+ cd my-project-web
277
+ /sync
278
+ /qc-analyze · /qc-plan · /qc-design-test · /qc-review · /qc-run-test · /qc-report
279
+ /validate-traces # refresh dashboard → qc_status hiện trên Living Docs
280
+ ```
281
+
282
+ > `/qc-run-test` ghi `qc_status` + `qc_run_at` vào trace TSV. Chi tiết từng layer: [Guide · QC Automation](../02-guides/qc-automation.md).
283
+
284
+ ---
285
+
286
+ ## 7. Project Lessons — không để AI lặp lỗi
287
+
288
+ Khi AI lặp đi lặp lại một lỗi, ghi lại thành **lesson** thay vì sửa thủ công mỗi lần. context-loader nạp lesson vào đầu **mọi** lệnh như ràng buộc cứng.
289
+
290
+ ```bash
291
+ # Cách 1 — chủ động:
292
+ /learn "AI hay gọi repository thẳng từ controller, phải đi qua service layer"
293
+
294
+ # Cách 2 — tự động: /review-code, /fix-bug, /debug hỏi "Record as a project lesson? (Y/N)" → Y
295
+ ```
296
+
297
+ - **Lưu ở:** `paths.lessons_file` (mặc định `specs/domain-knowledge/lessons-learned.md`; umbrella: `.agent/project-lessons.md` mỗi service).
298
+ - **Commit file lessons** để cả team cùng được bảo vệ — đây là **bộ nhớ dự án**, không phải fine-tune model.
299
+ - Kiểm tra `[CTX LOADED]` có dòng `Lessons: loaded — N guardrails`.
300
+
301
+ ---
302
+
303
+ ## 8. Câu hỏi thường gặp
304
+
305
+ **Q: Có cần cài framework vào từng service submodule không?**
306
+ A: Không. Chỉ cài ở umbrella repo. Service submodule là git repo thường chứa code + specs (+ `.agent/project-context.yaml` config).
307
+
308
+ **Q: Claude Code nên mở ở đâu?**
309
+ A: Luôn ở **umbrella repo** — có config và thấy được cả spec submodule lẫn service submodule.
310
+
311
+ **Q: Generate BDD ra file ở đâu?**
312
+ A: Phụ thuộc `@trace.domain` trong PRD. Context-loader tra `services.{domain}.specs_dir`. Vd `@trace.domain: user` → `user-service/specs/bdd/user/`.
313
+
314
+ **Q: Quên push service submodule, chỉ push umbrella, người khác báo lỗi?**
315
+ A: `cd <service> && git push origin main` — xong, người khác pull lại hết lỗi.
316
+
317
+ **Q: PO sửa PRD, có cần generate lại BDD?**
318
+ A: Chạy `/review-context {feature-file}` (B1 check) xem có coverage gap không. Có → `/review-context --resume`. Không cần viết lại toàn bộ BDD.
319
+
320
+ **Q: Mở nhiều Claude Code cho nhiều umbrella cùng lúc được không?**
321
+ A: Được. Mỗi umbrella là session riêng, hoàn toàn độc lập.
322
+
323
+ **Q: Đang ở `detached HEAD` trong submodule, có sao không?**
324
+ A: Bình thường — submodule trỏ tới một commit cụ thể. Chỉ lo nếu định sửa file (phải checkout branch trước). Chỉ đọc thì không sao.
325
+
326
+ ---
327
+
328
+ *Xem thêm:* [Bug Flow](bug-flow.md) · [Publishing](publishing.md) · [02 · Guides](../02-guides/) · [03 · Concepts — Traceability](../03-concepts/traceability.md).
@@ -0,0 +1,29 @@
1
+ [📚 Docs](../README.md) › Reference
2
+
3
+ # 05 · Reference
4
+
5
+ > Tra cứu nhanh: mọi slash command, schema của trace TSV, và danh sách stack module. Đây là phần "đọc khi cần" — không phải hướng dẫn tuần tự.
6
+
7
+ Dùng mục này khi bạn đã biết mình muốn làm gì và chỉ cần tra input/output, tên cột, hoặc module phù hợp với stack.
8
+
9
+ ---
10
+
11
+ ## Trong mục này
12
+
13
+ | Trang | Nội dung |
14
+ |-------|----------|
15
+ | [Command Reference](commands.md) | Bảng đầy đủ MỌI slash command — gom theo phase, kèm input/output/when. Cộng phần Command Internals (step architecture). |
16
+ | [Trace TSV Schema](trace-schema.md) | Header chuẩn của `.trace/{UC-ID}.tsv`, ý nghĩa từng cột (gồm `dev_selftest`, `qc_status`…), các `@trace.*` tag, và JSON report. |
17
+ | [Stack Modules](modules.md) | 15 module dưới `modules/`, cách gom theo `platform_type` (backend / web-frontend / mobile), và module QC `qc-playwright`. |
18
+
19
+ ---
20
+
21
+ ## Điều hướng nhanh
22
+
23
+ - **"Lệnh này nhận gì, sinh ra gì?"** → [Command Reference](commands.md)
24
+ - **"Cột `qc_status` vs `dev_selftest` khác nhau thế nào?"** → [Trace TSV Schema](trace-schema.md)
25
+ - **"Stack của tôi map sang module nào?"** → [Stack Modules](modules.md)
26
+
27
+ ---
28
+
29
+ *Xem thêm:* [02 · Guides](../02-guides/) (theo vai trò) · [03 · Concepts](../03-concepts/) (kiến trúc & traceability) · [04 · Operations](../04-operations/) (vận hành).
@@ -0,0 +1,229 @@
1
+ [📚 Docs](../README.md) › [Reference](README.md) › Command Reference
2
+
3
+ # Command Reference
4
+
5
+ > Mọi slash command của framework, gom theo phase. Mỗi command kèm **Input**, **Output**, và **When to use**. Phần cuối mô tả **Command Internals** — kiến trúc step file dùng chung bởi mọi command.
6
+
7
+ ---
8
+
9
+ ## Mục lục
10
+
11
+ - [Setup & Maintenance](#setup--maintenance)
12
+ - [Phase 1 — Discovery](#phase-1--discovery)
13
+ - [Phase 2 — PRD](#phase-2--prd)
14
+ - [Phase 2b — Design Spec (FE/App)](#phase-2b--design-spec-feapp)
15
+ - [Phase 3 — BDD Spec](#phase-3--bdd-spec)
16
+ - [Phase 4 — Tech Design](#phase-4--tech-design)
17
+ - [Phase 5 — Code](#phase-5--code)
18
+ - [Phase 6 — Dev Self-Check](#phase-6--dev-self-check)
19
+ - [Phase 6b — QC Automation (official QC suite)](#phase-6b--qc-automation-official-qc-suite)
20
+ - [Phase 7 — Traceability Audit](#phase-7--traceability-audit)
21
+ - [Phase 8 — Tester Feedback](#phase-8--tester-feedback)
22
+ - [Debugging & Cross-cutting](#debugging--cross-cutting)
23
+ - [Command Internals — Step Architecture](#command-internals--step-architecture)
24
+
25
+ > **Lưu ý số phase:** README dùng cả "Phase 5b / Phase 6b" (sơ đồ workflow) và "Phase 6b" (bảng tổng quan) cho QC Automation. Ở đây dùng nhãn **Phase 6b** cho QC suite để khớp bảng "Phase overview". Dù số khác nhau, ý nghĩa không đổi: QC suite là pipeline `/qc-*` riêng biệt với dev self-check `/dev-*`.
26
+
27
+ ---
28
+
29
+ ## Setup & Maintenance
30
+
31
+ | Command | Input | Output | When to use |
32
+ |---------|-------|--------|-------------|
33
+ | `/setup-ai-first` | — | Project structure + config files | First-time project setup |
34
+ | `/sync` | — | Git pull + submodule update + Living Docs sync | **Daily driver** — đồng bộ *nội dung* project (code/specs trong submodule) |
35
+ | `/update-framework` | — | Refreshed `.agent/` command files from npm | **Occasionally** — nâng cấp *bản thân framework* khi có version mới |
36
+ | `/sync-figma-components {module}` | Module name | Updated `figma-components/{module}.md` | After Figma design system changes |
37
+ | `/sync-figma-tokens {url?}` | Optional Figma URL | Updated `figma-tokens.md` | After design token changes |
38
+
39
+ > **`/sync` vs `/update-framework` là hai thứ khác nhau:**
40
+ > - `/sync` cập nhật **nội dung project** — pull code/specs mới từ git remote + refresh Living Docs. Nguồn = git remotes của bạn. Chạy thường xuyên.
41
+ > - `/update-framework` cập nhật **framework tooling** — refresh `.agent/commands/`, `steps/`, `modules/` lên version mới nhất. Nguồn = npm registry. Chạy hiếm. Không bao giờ đụng `project-context.yaml`, `CLAUDE.md`, domain-knowledge, hay `.trace/`.
42
+
43
+ ---
44
+
45
+ ## Phase 1 — Discovery
46
+
47
+ | Command | Input | Output | When to use |
48
+ |---------|-------|--------|-------------|
49
+ | `/define-product` | — | `specs/product-definition/{TICKET-ID}-{slug}.md` | Starting any new feature. AI dẫn PO qua 7 phase Q&A có cấu trúc — không cần spec viết sẵn. |
50
+
51
+ ---
52
+
53
+ ## Phase 2 — PRD
54
+
55
+ | Command | Input | Output | When to use |
56
+ |---------|-------|--------|-------------|
57
+ | `/generate-prd` | product-definition file | `specs/prd/{domain}/{TICKET-ID}-{slug}.md` | After define-product. Thêm `API Source: existing` + section "Existing API Contract" cho feature brownfield. |
58
+ | `/refine-prd` | prd file | `.agent/review/{prd-slug}-findings.yaml` | After generate-prd — fan-out 4 review lens + completeness-critic loop, mở Review Board. |
59
+ | `/refine-prd --resume` | prd file | Applied findings + bumped version | Sau khi review trong Review Board. |
60
+ | `/review-context` (PRD) | prd file | `.agent/review/{prd-slug}-review-context-findings.yaml` | Quality gate bắt buộc trước Phase 3. Checks: banned terms (P1), ambiguity (P2), conflicts (P3), completeness (P4). |
61
+ | `/review-context --fix` | prd file | Applies all auto-fixable findings immediately | Dev quick-fix, không cần Review Board. |
62
+ | `/review-context --resume` | prd file | Applies accepted findings + bump version | PO/SA review — human quyết từng finding. |
63
+
64
+ ---
65
+
66
+ ## Phase 2b — Design Spec (FE/App)
67
+
68
+ | Command | Input | Output | When to use |
69
+ |---------|-------|--------|-------------|
70
+ | `/generate-design-spec` | prd file | `specs/design-spec/{domain}/{TICKET-ID}-design-spec-{platform}.md` | FE/App: sau khi PRD approved, trước BDD. PO phải cấp **node-level Figma frame link** (URL có `?node-id=`) cho mỗi screen; AI fetch từng frame qua Figma MCP. Screen thiếu link → ❌ Missing, spec ở draft và chặn sign-off + `/generate-bdd`. |
71
+
72
+ > BE teams bỏ qua Phase 2b — đọc PRD trực tiếp rồi `/generate-bdd`.
73
+
74
+ ---
75
+
76
+ ## Phase 3 — BDD Spec
77
+
78
+ | Command | Input | Output | When to use |
79
+ |---------|-------|--------|-------------|
80
+ | `/generate-bdd` | prd file | `specs/bdd/{domain}/{UC-ID}.feature` (multi-service: `{domain}/{service}/{UC-ID}.feature`) | After PRD approved (+ Design Spec sign-off cho FE/App). Đọc Service/Module từ PRD metadata, áp platform vocabulary, hiện SC outline chờ confirm. PRD lớn (>3 UC hoặc >300 dòng) → orchestration mode (1 sub-agent / UC). |
81
+ | `/review-context` (BDD) | feature file | `.agent/review/{uc-id}-review-bdd-findings.yaml` | Quality gate bắt buộc trước Phase 4. Checks: PRD coverage (mỗi AC + BR → ≥1 SC), Gherkin R1–R10, compliance C1–C5. |
82
+ | `/review-context --fix` | feature file | Auto-fix terminology, metadata, coverage matrix | Dev quick-fix. |
83
+ | `/review-context --resume` | feature file | Applies accepted findings + bump bdd_version | SA review. |
84
+
85
+ ---
86
+
87
+ ## Phase 4 — Tech Design
88
+
89
+ | Command | Input | Output | When to use |
90
+ |---------|-------|--------|-------------|
91
+ | `/generate-tech-docs` | feature file | `tech-docs/{domain}/{UC-ID}-tech-design.md` (multi-service: `{domain}/{service}/...`) | After BDD approved. Đọc `@trace.module` → chọn template theo platform type. Brownfield (`@trace.api_source: existing`) → reverse-document mode. |
92
+ | `/review-tech-docs` | tech-design file | `.agent/review/{uc-id}-tech-review-findings.yaml` | After generate-tech-docs — mở Review Board. |
93
+ | `/review-tech-docs --resume` | tech-design file | Applies accepted findings + bump revision | Sau khi review trong Review Board. |
94
+
95
+ ---
96
+
97
+ ## Phase 5 — Code
98
+
99
+ | Command | Input | Output | When to use |
100
+ |---------|-------|--------|-------------|
101
+ | `/generate-code` | feature file | `src/...` (tags `@trace.implements`) | After tech-design approved. Default = full impl/BE. |
102
+ | `/generate-code --phase=ui` | feature file | UI + mock API adapter | FE: BE chưa sẵn sàng — sinh UI + mock adapter từ System BDD contract; tester test FE ngay được. |
103
+ | `/generate-code --phase=integration` | feature file | Wires real API | FE: sau khi T7 sign-off gate approved — thay mock adapter bằng real API calls. |
104
+ | `/review-code` | — | Review report: Critical / Major / Minor | After generate-code. Check: mỗi scenario có endpoint, trace tags, layer rules, error handling khớp CLAUDE.md §5. Fix CRITICAL + MAJOR trước khi merge. |
105
+
106
+ ---
107
+
108
+ ## Phase 6 — Dev Self-Check
109
+
110
+ > Đây là **developer self-check / smoke** — dev tự kiểm tra code mình vừa sinh ra. **Không phải** official QC suite (đó là Phase 6b `/qc-*`). Signal = `dev_selftest`, tách biệt với `qc_status`.
111
+
112
+ | Command | Input | Output | When to use |
113
+ |---------|-------|--------|-------------|
114
+ | `/dev-gen-test` | feature file | `src/test/...` (tags `@trace.verifies`) | After generate-code. Tự chọn test framework đúng platform. |
115
+ | `/dev-run-test` | — | Self-check report — ghi `dev_selftest` (pass/fail/not_run) + `dev_selftest_at` vào trace TSV | After dev-gen-test. |
116
+ | `/dev-smoke-test` | — | Live endpoint check | Optional — sau deploy. |
117
+
118
+ ---
119
+
120
+ ## Phase 6b — QC Automation (official QC suite)
121
+
122
+ > Pipeline `/qc-*` **là** official QC suite. Chạy **theo thứ tự** sau khi BDD approved (`/review-context` (BDD) APPROVED). Tách biệt hoàn toàn với dev self-check: QC sở hữu `qc_status`, dev sở hữu `dev_selftest`. `/qc-run-test` & `/qc-report` dùng module `qc-playwright`, độc lập với dev implementation module. Xem [../02-guides/qc-automation.md](../02-guides/qc-automation.md).
123
+
124
+ | Command | Input | Output | When to use |
125
+ |---------|-------|--------|-------------|
126
+ | `/qc-analyze` | feature file / UC-ID | QC analysis of scenarios + risks | After BDD approved — đầu pipeline QC. |
127
+ | `/qc-plan` | QC analysis | Test plan (scope, layers, priorities) | After `/qc-analyze`. |
128
+ | `/qc-design-test` | test plan | Test case designs mapped to `{UC-ID}-SC{N}` | After `/qc-plan`. |
129
+ | `/qc-review` | test designs | Reviewed/approved test design set | After `/qc-design-test`. |
130
+ | `/qc-run-test` | test designs | Execution results — ghi `qc_status` (pass/fail/skip/not_run) + `qc_run_at` vào trace TSV, keyed by `@trace.verifies={UC-ID}-SC{N}` | After `/qc-review`. |
131
+ | `/qc-report` | run results | QC report (Playwright Trace + pytest-html) | After `/qc-run-test`. |
132
+
133
+ ---
134
+
135
+ ## Phase 7 — Traceability Audit
136
+
137
+ | Command | Input | Output | When to use |
138
+ |---------|-------|--------|-------------|
139
+ | `/validate-traces {domain}` | domain name (hoặc UC-ID) | Coverage matrix + drift report + `trace-report.json` | Anytime — verify traceability. Đọc mọi `.trace/{UC-ID}.tsv` rồi tính status OK / DRIFT / GAP / UNTRACKED. |
140
+
141
+ ---
142
+
143
+ ## Phase 8 — Tester Feedback
144
+
145
+ > Cả hai đều **read-only trên canonical specs/code**. Chúng chỉ ghi vào `feedback/` của shared spec repo và **commit + push** → PO/Dev thấy qua `/sync`. Testers không bao giờ sửa `.feature` trực tiếp.
146
+
147
+ | Command | Input | Output | When to use |
148
+ |---------|-------|--------|-------------|
149
+ | `/report-bug {UC-ID} {desc}` | UC/TICKET + description | `{spec_repo}/feedback/bug-reports/{BUG-ID}.md` + spec context + layer classification | Tester tìm thấy bug. Phân loại layer (Code/BDD/PRD/Design/Env) để route. |
150
+ | `/propose-scenario {UC-ID} {desc}` | UC + edge-case description | `{spec_repo}/feedback/bdd-proposals/{UC-ID}-*.md` draft Gherkin | Tester tìm thấy edge case BDD chưa cover. Map vào PRD AC sẵn có, hoặc emit PRD change request nếu hành vi thực sự mới. |
151
+
152
+ ---
153
+
154
+ ## Debugging & Cross-cutting
155
+
156
+ | Command | Input | Output | When to use |
157
+ |---------|-------|--------|-------------|
158
+ | `/fix-bug` | — | Bug fix | When a bug is found. |
159
+ | `/debug` | — | Debug session | Deep debugging. |
160
+ | `/learn {text}` | "AI does X, should Y" | Appends guardrail vào project lessons file | Khi AI lặp lại lỗi bạn muốn chặn. |
161
+ | `/generate-spec-manifest` | — | `spec-manifest.yaml` | Sinh manifest làm entry point cho external/tester agents. |
162
+
163
+ > **Project Lessons:** lessons lưu ở `paths.lessons_file` (default `specs/domain-knowledge/lessons-learned.md`; per-service `.agent/project-lessons.md` trong umbrella mode). Context-loader **Step 6.7** load mọi lesson đầu **mỗi** command như hard constraint. Đây là *project memory*, không phải fine-tuning model.
164
+
165
+ ---
166
+
167
+ ## Command Internals — Step Architecture
168
+
169
+ Mọi command trong `.agent/commands/` được compose từ **step file** dùng chung trong `.agent/steps/`. Các step này là nền móng — mọi command gọi chúng tuần tự trước khi chạy logic riêng.
170
+
171
+ ### Step files at a glance
172
+
173
+ | File | Role | Called by |
174
+ |------|------|-----------|
175
+ | `gate.md` | Universal entry — model check, file resolution, context load, user checkpoint | Every command |
176
+ | `context-loader.md` | Multi-step context loading (stack → service routing → service conventions → arch → safety → domain → UI → recap) | `gate.md` Step 2 |
177
+ | `spawn-agent.md` | Sub-agent orchestration cho PRD lớn | `generate-bdd`, `generate-code`, `dev-gen-test` |
178
+ | `capture-lesson.md` | Append/refine guardrail vào project lessons file | `learn`, `review-code`, `fix-bug`, `debug` |
179
+ | `report-footer.md` | Standard output format (status badge, artifact list, next command) | Every command |
180
+
181
+ ### gate.md — Universal Entry Procedure
182
+
183
+ | Step | What it does |
184
+ |------|-------------|
185
+ | **Step 0** | Sub-agent mode check — nếu `$ARGUMENTS` là JSON payload có `_agent_mode: true`, skip Steps 1–3 và dùng slim context trực tiếp |
186
+ | **Step 0-B** | Model check — prompt chuyển sang `claude-opus`; `S` để skip |
187
+ | **Step 1** | Resolve target file từ `$ARGUMENTS`; nếu thiếu, list candidates và hỏi user |
188
+ | **Step 2** | Execute `context-loader.md` — load mọi project context vào working memory |
189
+ | **Step 3** | CHECKPOINT — hiện summary (target file, stack, module, domains), chờ `Y` |
190
+
191
+ ### context-loader.md — Context Loading Sequence
192
+
193
+ Load context theo thứ tự ưu tiên nghiêm ngặt (anti-lost-in-middle: facts critical load trước, RECAP restate cuối):
194
+
195
+ | Step | Priority | What loads |
196
+ |------|----------|-----------|
197
+ | 1 | PROJECT-CONFIG | `project-context.yaml` → stack, conventions, domains, services, paths |
198
+ | 1.5 | SERVICE ROUTING | *(umbrella only)* detect active domain, route `specs_dir`/`tech_docs_dir` → service submodule, store `service_root` |
199
+ | 1.6 | SERVICE CONVENTIONS | *(umbrella only)* load `{service_root}/.agent/project-context.yaml` → override `test_command`, `build_command`, `paths.trace_dir` |
200
+ | 2 | PROJECT-CONFIG | `.agent/modules/{module}/stack-profile.yaml` → framework-specific layer patterns |
201
+ | 3 | **CRITICAL** | `CLAUDE.md` → architecture layers, coding standards, naming |
202
+ | 4 | SAFETY | `.agent/rules/data-protection.md` → sensitive file patterns |
203
+ | 5 | DOMAIN | `business-dictionary.md` → canonical + banned terms |
204
+ | 6 | DOMAIN | `core-entities.md` → entity catalog |
205
+ | 6.7 | **GUARDRAILS** | `lessons_file` → accumulated lessons (via `/learn`) as hard constraints |
206
+ | 6-B | UI COMPONENTS | `figma-components/{module}.md` → Figma → code component + import path |
207
+ | 6-C | UI TOKENS | `figma-tokens.md` → design tokens |
208
+ | 7 | **RECAP** | `[CTX LOADED]` block printed để khóa critical facts vào working memory |
209
+
210
+ Status values của RECAP: `FULL` · `PARTIAL — missing: {list}` · `MINIMAL` (chỉ project-context.yaml).
211
+
212
+ ### spawn-agent.md — Sub-Agent Orchestration
213
+
214
+ Khi PRD vượt ngưỡng complexity, `generate-bdd` / `generate-code` / `dev-gen-test` tự chuyển từ single-session sang orchestration mode.
215
+
216
+ | Signal | Threshold | Action |
217
+ |--------|-----------|--------|
218
+ | UC count in PRD | > 3 UCs | Spawn 1 sub-agent per UC |
219
+ | PRD length | > 300 lines | Spawn agents regardless of UC count |
220
+
221
+ Orchestrator: Step A build slim context JSON → Step B scan PRD → UC list → Step C announce plan → Step D spawn 1 sub-agent/UC (parallel, mỗi agent chỉ đọc UC section của mình) → Step E collect + merge results.
222
+
223
+ ### report-footer.md — Standard Output Format
224
+
225
+ Mọi command kết thúc bằng footer: `Status` badge (`✅ Complete` · `⚠️ Warnings` · `❌ Failed`), danh sách **Output Artifacts** (created/updated), và field **Next** gợi ý command kế tiếp.
226
+
227
+ ---
228
+
229
+ *Xem thêm:* [Trace TSV Schema](trace-schema.md) · [Stack Modules](modules.md) · [02 · Guides](../02-guides/) (theo vai trò).