@edupia-tutor/spec-driven-docs 0.14.0 → 0.14.2

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 (162) hide show
  1. package/bin/index.js +12 -1
  2. package/commands/debug.md +436 -436
  3. package/commands/debug.tmpl +111 -111
  4. package/commands/define-product.md +350 -345
  5. package/commands/define-product.tmpl +69 -64
  6. package/commands/dev-gen-test.md +365 -365
  7. package/commands/dev-gen-test.tmpl +63 -63
  8. package/commands/dev-run-test.md +376 -376
  9. package/commands/dev-run-test.tmpl +74 -74
  10. package/commands/dev-smoke-test.md +341 -341
  11. package/commands/dev-smoke-test.tmpl +60 -60
  12. package/commands/fix-bug.md +403 -403
  13. package/commands/fix-bug.tmpl +78 -78
  14. package/commands/generate-bdd.md +513 -513
  15. package/commands/generate-bdd.tmpl +211 -211
  16. package/commands/generate-code.md +481 -483
  17. package/commands/generate-code.tmpl +179 -181
  18. package/commands/generate-design-spec.md +497 -497
  19. package/commands/generate-design-spec.tmpl +220 -220
  20. package/commands/generate-prd.md +452 -400
  21. package/commands/generate-prd.tmpl +50 -200
  22. package/commands/generate-spec-manifest.md +340 -340
  23. package/commands/generate-spec-manifest.tmpl +59 -59
  24. package/commands/generate-tech-docs.md +365 -365
  25. package/commands/generate-tech-docs.tmpl +84 -84
  26. package/commands/learn.md +347 -347
  27. package/commands/learn.tmpl +22 -22
  28. package/commands/map-testids.md +322 -322
  29. package/commands/map-testids.tmpl +41 -41
  30. package/commands/propose-scenario.md +335 -335
  31. package/commands/propose-scenario.tmpl +54 -54
  32. package/commands/qc-analyze.md +323 -324
  33. package/commands/qc-analyze.tmpl +42 -43
  34. package/commands/qc-design-test.md +304 -304
  35. package/commands/qc-design-test.tmpl +23 -23
  36. package/commands/qc-plan.md +297 -297
  37. package/commands/qc-plan.tmpl +16 -16
  38. package/commands/qc-report.md +302 -302
  39. package/commands/qc-report.tmpl +21 -21
  40. package/commands/qc-review.md +298 -298
  41. package/commands/qc-review.tmpl +17 -17
  42. package/commands/qc-run-test.md +337 -337
  43. package/commands/qc-run-test.tmpl +35 -35
  44. package/commands/refine-prd.md +428 -430
  45. package/commands/refine-prd.tmpl +62 -62
  46. package/commands/report-bug.md +351 -351
  47. package/commands/report-bug.tmpl +70 -70
  48. package/commands/review-code.md +364 -364
  49. package/commands/review-code.tmpl +39 -39
  50. package/commands/review-context.md +578 -580
  51. package/commands/review-context.tmpl +212 -212
  52. package/commands/review-tech-docs.md +427 -427
  53. package/commands/review-tech-docs.tmpl +146 -146
  54. package/commands/setup-ai-first.md +239 -239
  55. package/commands/setup-ai-first.tmpl +133 -133
  56. package/commands/sync.md +145 -145
  57. package/commands/sync.tmpl +93 -93
  58. package/commands/update-framework.md +88 -88
  59. package/commands/update-framework.tmpl +36 -36
  60. package/commands/validate-traces.md +381 -381
  61. package/commands/validate-traces.tmpl +100 -100
  62. package/core/FRAMEWORK_VERSION +1 -1
  63. package/core/commands/debug.md +436 -436
  64. package/core/commands/define-product.md +350 -345
  65. package/core/commands/dev-gen-test.md +365 -365
  66. package/core/commands/dev-run-test.md +376 -376
  67. package/core/commands/dev-smoke-test.md +341 -341
  68. package/core/commands/fix-bug.md +403 -403
  69. package/core/commands/generate-bdd.md +513 -513
  70. package/core/commands/generate-code.md +481 -483
  71. package/core/commands/generate-design-spec.md +497 -497
  72. package/core/commands/generate-prd.md +452 -400
  73. package/core/commands/generate-spec-manifest.md +340 -340
  74. package/core/commands/generate-tech-docs.md +365 -365
  75. package/core/commands/learn.md +347 -347
  76. package/core/commands/map-testids.md +322 -322
  77. package/core/commands/propose-scenario.md +335 -335
  78. package/core/commands/qc-analyze.md +323 -324
  79. package/core/commands/qc-design-test.md +304 -304
  80. package/core/commands/qc-plan.md +297 -297
  81. package/core/commands/qc-report.md +302 -302
  82. package/core/commands/qc-review.md +298 -298
  83. package/core/commands/qc-run-test.md +337 -337
  84. package/core/commands/refine-prd.md +428 -430
  85. package/core/commands/report-bug.md +351 -351
  86. package/core/commands/review-code.md +364 -364
  87. package/core/commands/review-context.md +578 -580
  88. package/core/commands/review-tech-docs.md +427 -427
  89. package/core/commands/setup-ai-first.md +239 -239
  90. package/core/commands/sync.md +145 -145
  91. package/core/commands/update-framework.md +88 -88
  92. package/core/commands/validate-traces.md +381 -381
  93. package/core/skills/code/SKILL.md +389 -389
  94. package/core/skills/debug/SKILL.md +391 -391
  95. package/core/skills/design-spec/SKILL.md +318 -318
  96. package/core/skills/discovery/SKILL.md +7 -547
  97. package/core/skills/prd/SKILL.md +298 -394
  98. package/core/skills/setup-ai-first/SKILL.md +80 -80
  99. package/core/skills/spec/SKILL.md +178 -178
  100. package/core/skills/test/SKILL.md +604 -604
  101. package/core/steps/capture-lesson.md +44 -44
  102. package/core/steps/context-loader.md +175 -175
  103. package/core/steps/gate.md +54 -54
  104. package/core/steps/report-footer.md +52 -52
  105. package/core/steps/review-fanout.md +85 -87
  106. package/core/steps/spawn-agent.md +45 -45
  107. package/core/steps/trace-mirror.md +21 -21
  108. package/core/templates/architecture.template.md +37 -37
  109. package/core/templates/design-spec.template.md +77 -77
  110. package/core/templates/platform-guide.template.md +47 -47
  111. package/core/templates/prd.template.md +107 -232
  112. package/core/templates/product-definition.template.md +101 -88
  113. package/core/templates/project-context.yaml +2 -2
  114. package/docs/01-getting-started/core-concepts.md +1 -1
  115. package/docs/01-getting-started/quickstart.md +7 -7
  116. package/docs/02-guides/developer/bdd-and-trace.md +1 -1
  117. package/docs/02-guides/developer/scenarios.md +5 -5
  118. package/docs/02-guides/product-owner/handoff-checklist.md +1 -1
  119. package/docs/02-guides/product-owner/scenarios.md +23 -23
  120. package/docs/02-guides/tester/bug-reporting.md +2 -2
  121. package/docs/02-guides/tester/reading-specs.md +2 -2
  122. package/docs/02-guides/tester/scenarios.md +1 -1
  123. package/docs/02-guides/tester/spec-manifest.md +3 -3
  124. package/docs/02-guides/tester/workflow.md +1 -1
  125. package/docs/03-concepts/architecture.md +3 -3
  126. package/docs/03-concepts/pipeline.md +3 -3
  127. package/docs/04-operations/publishing.md +20 -3
  128. package/docs/04-operations/sync-and-update.md +5 -5
  129. package/docs/05-reference/command-cheatsheet.md +2 -2
  130. package/docs/05-reference/commands.md +8 -8
  131. package/package.json +1 -1
  132. package/scripts/migrate-specs.js +5 -3
  133. package/scripts/rename-prd-files.js +174 -0
  134. package/skills/code/SKILL.md +389 -389
  135. package/skills/code/SKILL.tmpl +56 -56
  136. package/skills/debug/SKILL.md +391 -391
  137. package/skills/debug/SKILL.tmpl +60 -60
  138. package/skills/design-spec/SKILL.md +318 -318
  139. package/skills/design-spec/SKILL.tmpl +37 -37
  140. package/skills/discovery/SKILL.md +7 -547
  141. package/skills/discovery/SKILL.tmpl +7 -140
  142. package/skills/prd/SKILL.md +298 -394
  143. package/skills/prd/SKILL.tmpl +40 -151
  144. package/skills/setup-ai-first/SKILL.md +80 -80
  145. package/skills/setup-ai-first/SKILL.tmpl +28 -28
  146. package/skills/spec/SKILL.md +178 -178
  147. package/skills/spec/SKILL.tmpl +20 -20
  148. package/skills/test/SKILL.md +604 -604
  149. package/skills/test/SKILL.tmpl +44 -44
  150. package/steps/capture-lesson.md +44 -44
  151. package/steps/context-loader.md +175 -175
  152. package/steps/gate.md +54 -54
  153. package/steps/report-footer.md +52 -52
  154. package/steps/review-fanout.md +85 -87
  155. package/steps/spawn-agent.md +45 -45
  156. package/steps/trace-mirror.md +21 -21
  157. package/templates/architecture.template.md +37 -37
  158. package/templates/design-spec.template.md +77 -77
  159. package/templates/platform-guide.template.md +47 -47
  160. package/templates/prd.template.md +107 -232
  161. package/templates/product-definition.template.md +101 -88
  162. package/templates/project-context.yaml +2 -2
@@ -1,91 +1,91 @@
1
- # /propose-scenario — Propose a New BDD Scenario (Tester & QC-Facing)
1
+ # /propose-scenario — Đề xuất một BDD Scenario mới (cho Tester & QC)
2
2
 
3
- For **testers and QC** who discover an edge case not covered by existing BDD (e.g. a `DOC_GAPS`
4
- missing-coverage gap from `/qc-analyze`). Drafts a Gherkin scenario into a **proposals area** for
5
- PO/Dev to review and promote.
3
+ Dành cho **tester QC** phát hiện edge case chưa được BDD hiện tại phủ (vd một gap missing-coverage
4
+ `DOC_GAPS` từ `/qc-analyze`). Draft một Gherkin scenario vào **khu proposal** để
5
+ PO/Dev review promote.
6
6
 
7
- **Does NOT edit the canonical `.feature` file.** BDD is owned by PO/Dev — this command only writes
8
- a proposal. Promotion into the real BDD is a PO/Dev action.
7
+ **KHÔNG sửa file `.feature` canonical.** BDD do PO/Dev sở hữu lệnh này chỉ ghi
8
+ một proposal. Promote vào BDD thật hành động của PO/Dev.
9
9
 
10
- Usage: `/propose-scenario {UC-ID} {edge case description}`
11
- Example: `/propose-scenario FT-001 login with email that has trailing spaces should still succeed`
10
+ Usage: `/propose-scenario {UC-ID} {mô tả edge case}`
11
+ dụ: `/propose-scenario FT-001 login với email space cuối vẫn nên thành công`
12
12
 
13
13
  ## Gate
14
14
  {{include:steps/gate.md}}
15
15
 
16
- *Note: For this command, the target in Step 1 is a UC-ID from `$ARGUMENTS`. Resolve its `.feature` file (for vocabulary + existing scenarios) and its PRD.*
16
+ *Lưu ý: Với lệnh này, target Bước 1 một UC-ID từ `$ARGUMENTS`. Phân giải file `.feature` của (để lấy vocabulary + scenario có sẵn) PRD của nó.*
17
17
 
18
18
  ## Context
19
19
  {{include:steps/context-loader.md}}
20
20
 
21
21
  ---
22
22
 
23
- ## Step 1 — Resolve UC + Platform
23
+ ## Step 1 — Phân giải UC + Platform
24
24
 
25
- Locate (via `spec-manifest.yaml` if present, else `paths`):
26
- - `prd_path` + the UC's acceptance criteria list
27
- - `bdd_path` + `active_platform` (web / app / system) — to match scenario vocabulary and `@trace` tags
28
- - existing scenario titles for this UC (to avoid proposing a duplicate)
25
+ Định vị (qua `spec-manifest.yaml` nếu có, else `paths`):
26
+ - `prd_path` + danh sách acceptance criteria của UC
27
+ - `bdd_path` + `active_platform` (web / app / system) — để khớp vocabulary scenario tag `@trace`
28
+ - các tiêu đề scenario sẵn của UC này (để tránh đề xuất trùng)
29
29
 
30
- ## Step 2 — Coverage Decision (CRITICAL)
30
+ ## Step 2 — Quyết định Coverage (CRITICAL)
31
31
 
32
- A BDD scenario must trace to a PRD acceptance criterion. Determine which case applies:
32
+ Một BDD scenario phải trace tới một PRD acceptance criterion. Xác định case nào áp dụng:
33
33
 
34
- **Case A — behavior IS within an existing AC** (the AC implies it, BDD just lacks a scenario):
35
- This is a coverage gap. Proceed to draft the scenario (Step 3), mapped to that AC.
34
+ **Case A — behavior NẰM TRONG một AC có sẵn** (AC ngụ ý nó, BDD chỉ thiếu scenario):
35
+ Đây coverage gap. Tiếp tục draft scenario (Step 3), map tới AC đó.
36
36
 
37
- **Case B — behavior is NOT in any AC** (genuinely new requirement):
38
- Do **not** draft a BDD proposal (a scenario would have nothing to trace to). Instead **write a
39
- PRD change request file** so the PO actually sees it on `/sync` (do not just print it):
37
+ **Case B — behavior KHÔNG nằm trong AC nào** (requirement thực sự mới):
38
+ **Đừng** draft BDD proposal (scenario sẽ không để trace). Thay vào đó **ghi một
39
+ file PRD change request** để PO thực sự thấy trên `/sync` (đừng chỉ in ra):
40
40
 
41
- Write to `{paths.prd_change_requests_dir}/{UC-ID}-{slug}.md` (resolved to
42
- `{spec_source}/feedback/prd-change-requests/` in umbrella mode; create dir if needed):
41
+ Ghi vào `{paths.prd_change_requests_dir}/{UC-ID}-{slug}.md` (phân giải về
42
+ `{spec_source}/feedback/prd-change-requests/` umbrella mode; tạo dir nếu cần):
43
43
  ```
44
44
  # PRD Change Request — {UC-ID}: {short title}
45
45
 
46
- > ⚠️ New requirement found in test — NOT covered by any PRD AC (not a coverage gap).
46
+ > ⚠️ Requirement mới phát hiện trong test — KHÔNG được PRD AC nào phủ (không phải coverage gap).
47
47
  | Field | Value |
48
48
  |---|---|
49
49
  | UC / Ticket | {UC-ID} |
50
50
  | PRD | {prd_path} (v{prd_version}) |
51
- | Source | {BUG-ID if any | tester/QC observation} |
51
+ | Source | {BUG-ID nếu | quan sát của tester/QC} |
52
52
  | Requested by | tester/QC |
53
53
  | Status | Open |
54
54
 
55
55
  **Requested behavior:** {description}
56
- **Suggested AC (draft for PO):** "{draft AC text}"
57
- **Route to PO:** add/extend an AC in {prd_path} → `/refine-prd` → re-run `/generate-bdd` → dev `/generate-code`.
56
+ **Suggested AC (draft cho PO):** "{draft AC text}"
57
+ **Route to PO:** thêm/mở rộng một AC trong {prd_path} → `/refine-prd` → chạy lại `/generate-bdd` → dev `/generate-code`.
58
58
  ```
59
- Then go to Step 5 (handoff applies to this file too). Skip Step 3–4 (no BDD scenario for Case B).
59
+ Rồi sang Step 5 (handoff áp dụng cho file này luôn). Skip Step 3–4 (không BDD scenario cho Case B).
60
60
 
61
- If unsure which case → show the AC list and ask the tester which AC this maps to, or confirm it's new.
61
+ Nếu không chắc case nào hiện danh sách AC hỏi tester map tới AC nào, hoặc confirm là mới.
62
62
 
63
- ## Step 3 — Draft the Scenario (Case A only)
63
+ ## Step 3 — Draft Scenario (chỉ Case A)
64
64
 
65
- Write Gherkin consistent with `/generate-bdd` conventions for `active_platform`:
66
- - Use the platform vocabulary (web: clicks/sees; app: taps/sees; system: business events)
67
- - Include `@trace` tags: `@trace.uc={UC-ID}`, `@trace.ac={AC-N}`, plus `@proposed @from-test`
68
- - One focused scenario; concrete Given/When/Then; no implementation detail
65
+ Viết Gherkin nhất quán với convention của `/generate-bdd` cho `active_platform`:
66
+ - Dùng vocabulary platform (web: clicks/sees; app: taps/sees; system: business event)
67
+ - Gồm tag `@trace`: `@trace.uc={UC-ID}`, `@trace.ac={AC-N}`, cùng `@proposed @from-test`
68
+ - Một scenario tập trung; Given/When/Then cụ thể; không chi tiết implementation
69
69
 
70
- ## Step 4 — Write the Proposal
70
+ ## Step 4 — Ghi Proposal
71
71
 
72
- Write to `{paths.bdd_proposals_dir}/{UC-ID}-{slug}.md` (resolved to `{spec_source}/feedback/bdd-proposals/` in umbrella mode; create dir if needed).
73
- Do NOT touch the canonical `.feature`. The proposal doc contains the draft + review metadata
74
- (see Output). If the source was a bug, reference its `BUG-ID`.
72
+ Ghi vào `{paths.bdd_proposals_dir}/{UC-ID}-{slug}.md` (phân giải về `{spec_source}/feedback/bdd-proposals/` umbrella mode; tạo dir nếu cần).
73
+ KHÔNG đụng `.feature` canonical. Doc proposal chứa draft + metadata review
74
+ (xem Output). Nếu nguồn một bug, tham chiếu `BUG-ID` của nó.
75
75
 
76
- ## Step 5 — Handoff (so PO/Dev actually see it)
76
+ ## Step 5 — Handoff (để PO/Dev thực sự thấy)
77
77
 
78
- A proposal only reaches PO/Dev if it is **committed and pushed to the shared spec repo**.
78
+ Một proposal chỉ tới PO/Dev nếu được **commit push lên spec repo dùng chung**.
79
79
 
80
80
  ```bash
81
- cd {spec_source} # umbrella: the spec submodule; single-service: omit
81
+ cd {spec_source} # umbrella: spec submodule; single-service: bỏ
82
82
  git add feedback/bdd-proposals/{UC-ID}-{slug}.md
83
83
  git commit -m "qa(proposal): {UC-ID} — {title}"
84
- git push # → PO/Dev see it on their next /sync
84
+ git push # → PO/Dev thấy lần /sync tiếp theo
85
85
  ```
86
86
 
87
- - No push rights to the spec repo → open a PR / MR instead. Print this fallback.
88
- - For a **PRD change request** (Case B), commit the request file instead:
87
+ - Không quyền push spec repo → mở PR / MR thay vì. In fallback này.
88
+ - Với **PRD change request** (Case B), commit file request thay vì:
89
89
  ```bash
90
90
  cd {spec_source}
91
91
  git add feedback/prd-change-requests/{UC-ID}-{slug}.md
@@ -93,7 +93,7 @@ git push # → PO/Dev see it on their next /sync
93
93
  git push
94
94
  ```
95
95
 
96
- > PO/Dev are notified through their normal routine: `/sync` lists newly-pulled proposals.
96
+ > PO/Dev được thông báo qua routine bình thường: `/sync` liệt các proposal vừa pull về.
97
97
 
98
98
  ---
99
99
 
@@ -106,24 +106,24 @@ git push # → PO/Dev see it on their next /sync
106
106
 
107
107
  UC : {UC-ID} ({active_platform})
108
108
  Maps to AC : {AC-N} — "{AC text}"
109
- Source : {BUG-ID if any | tester observation}
109
+ Source : {BUG-ID nếu | quan sát tester}
110
110
 
111
- Proposed scenario (DRAFT — pending PO/Dev review):
111
+ Scenario đề xuất (DRAFT — chờ PO/Dev review):
112
112
  @proposed @from-test @trace.uc={UC-ID} @trace.ac={AC-N}
113
113
  Scenario: {title}
114
114
  Given {…}
115
115
  When {…}
116
116
  Then {…}
117
117
 
118
- For PO/Dev to promote:
119
- [ ] AC mapping correct? (or update PRD if requirement is actually new)
120
- [ ] Add scenario to {bdd_path} (edit, or re-run /generate-bdd if PRD changed)
121
- [ ] Then: /generate-code {UC-ID} + /dev-gen-test {UC-ID}
118
+ Để PO/Dev promote:
119
+ [ ] AC mapping đúng? (hoặc cập nhật PRD nếu requirement thực sự mới)
120
+ [ ] Thêm scenario vào {bdd_path} (sửa, hoặc chạy lại /generate-bdd nếu PRD đổi)
121
+ [ ] Rồi: /generate-code {UC-ID} + /dev-gen-test {UC-ID}
122
122
 
123
- Handoff : {✅ committed + pushed to spec repo | ⚠️ run git commands above / open a PR}
123
+ Handoff : {✅ committed + pushed to spec repo | ⚠️ chạy git command trên / mở PR}
124
124
 
125
125
  ---
126
- Status : ✅ Complete (read-only on canonical BDD — proposal only)
126
+ Status : ✅ Complete (read-only trên BDD canonical — chỉ proposal)
127
127
  Output Artifacts: created {paths.bdd_proposals_dir}/{UC-ID}-{slug}.md (pushed to shared spec repo)
128
- Next : PO/Dev see it on their next /sync → review & promote
128
+ Next : PO/Dev thấy lần /sync tiếp theo → review & promote
129
129
  ```