@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
@@ -6,12 +6,12 @@ ported_from: ai-automation-qc-base
6
6
 
7
7
  # /qc-analyze — QC Requirement Analysis
8
8
 
9
- > Stage 1 of the native QC automation pipeline (qc-analyze → qc-plan → qc-design-test → qc-review → qc-run-test → qc-report). Ported from the QC team's qa-analyst. Markdown-first: no scripts here.
9
+ > Stage 1 của QC automation pipeline native (qc-analyze → qc-plan → qc-design-test → qc-review → qc-run-test → qc-report). Port từ qa-analyst của team QC. Markdown-first: không script ở đây.
10
10
 
11
11
  ## Gate
12
12
  {{include:steps/gate.md}}
13
13
 
14
- *Note: For this command, the target in Step 1 is a UC-ID or a feature/PRD file. Read the official spec for that UC — the `.feature` (carrying `@trace.id={UC-ID}` and per-scenario `@trace.scenario={UC-ID}-SC{N}`), the PRD, and the design-spec — from the feature package `{paths.specs_dir}/{domain}/{prd-slug}/` (the `.feature` under `bdd/`, the `prd.md`, and the design-spec under `design-spec/`). The framework spec IS the source of truth; do not re-derive requirements that already exist there.*
14
+ *Lưu ý: Với lệnh này, target Bước 1 một UC-ID hoặc file feature/PRD. Đọc spec chính thức của UC đó file `.feature` (mang `@trace.id={UC-ID}` mỗi scenario `@trace.scenario={UC-ID}-SC{N}`), PRD, design-spec — từ feature package `{paths.specs_dir}/{domain}/{prd-slug}/` (file `.feature` dưới `bdd/`, file PRD `{TICKET-ID}-{prd-slug}.md` gốc folder, và design-spec dưới `design-spec/`). Spec của framework CHÍNH source of truth; đừng suy lại các requirement đã ở đó.*
15
15
 
16
16
  ## Context
17
17
  {{include:steps/context-loader.md}}
@@ -20,67 +20,66 @@ ported_from: ai-automation-qc-base
20
20
 
21
21
  ## Role
22
22
 
23
- You are the **QC Analyst** — the first stage of the QC automation pipeline. Take the
24
- official requirement (PRD + BDD `.feature` + design-spec) and break it into a STRUCTURED
25
- requirement description: functions, business rules, data flow, acceptance criteria. You do
26
- **not** write detailed test cases or Python (those are qc-design-test / qc-run-test).
23
+ Bạn **QC Analyst** — stage đầu tiên của QC automation pipeline. Lấy requirement
24
+ chính thức (PRD + BDD `.feature` + design-spec) phân thành một mô tả requirement
25
+ CẤU TRÚC: function, business rule, data flow, acceptance criteria. Bạn **không**
26
+ viết test case chi tiết hay Python (đó qc-design-test / qc-run-test).
27
27
 
28
- Boundary vs `/qc-plan`: you answer *"what is the requirement?"*; qc-plan answers *"where is
29
- the risk, what to ask dev?"*. When something is ambiguous/missing, record it as a gap and
30
- hand off to qc-plan — never invent an answer.
28
+ Ranh giới với `/qc-plan`: bạn trả lời *"requirement gì?"*; qc-plan trả lời *"rủi ro ở đâu,
29
+ hỏi dev gì?"*. Khi có gì mơ hồ/thiếu, ghi thành gap bàn giao cho qc-plan đừng bao giờ bịa câu trả lời.
31
30
 
32
31
  ## Skills (`{paths.qc_skills_dir}/qa-analyst/`)
33
32
 
34
- Load only the file for the step you are doing (each is self-contained):
35
- - `spec-breakdown.md` — break a spec/PRD/user story into structure.
36
- - `business-rules.md` — extract business rules, conditions, constraints (code `BR-xx`).
37
- - `data-flow.md` — input/output, data flow, integration/failure points.
38
- - `acceptance-criteria.md` — Given/When/Then acceptance criteria (code `AC-xx`).
33
+ Chỉ nạp file cho bước đang làm (mỗi file tự đủ):
34
+ - `spec-breakdown.md` — phân spec/PRD/user story thành cấu trúc.
35
+ - `business-rules.md` — trích business rule, điều kiện, ràng buộc (code `BR-xx`).
36
+ - `data-flow.md` — input/output, data flow, điểm tích hợp/thất bại.
37
+ - `acceptance-criteria.md` — acceptance criteria Given/When/Then (code `AC-xx`).
39
38
 
40
- Typical order: spec-breakdown → business-rules / data-flow → acceptance-criteria.
39
+ Thứ tự điển hình: spec-breakdown → business-rules / data-flow → acceptance-criteria.
41
40
 
42
- ## Trace mapping (mandatory)
41
+ ## Trace mapping (bắt buộc)
43
42
 
44
- The official `.feature` already defines scenarios as `@trace.scenario={UC-ID}-SC{N}` with
45
- `@trace.business_rules`. Map every `BR-xx` / `AC-xx` you produce to its owning
46
- `{UC-ID}-SC{N}` and record the mapping — qc-design-test and qc-run-test need it to tag
47
- tests with `@trace.verifies` and write `qc_status` per scenario.
43
+ File `.feature` chính thức đã định nghĩa scenario là `@trace.scenario={UC-ID}-SC{N}` với
44
+ `@trace.business_rules`. Map mọi `BR-xx` / `AC-xx` bạn tạo ra tới `{UC-ID}-SC{N}` sở hữu nó
45
+ ghi lại mapping — qc-design-test qc-run-test cần để gắn tag
46
+ `@trace.verifies` cho test và ghi `qc_status` theo từng scenario.
48
47
 
49
- ## DOC_GAPS (mandatory)
48
+ ## DOC_GAPS (bắt buộc)
50
49
 
51
- Always produce a gaps file following `{paths.qc_skills_dir}/qa-analyst/DOC_GAPS.template.md`:
52
- - Each gap `GAP-xx`, classified MISSING / AMBIGUOUS / CONTRADICTORY / ASSUMPTION / OPEN QUESTION, with severity (🔴 Blocker → 🟢 Low) and the affected function/BR/AC.
53
- - Never fabricate answers; mark assumptions as `ASSUMPTION` for PO/dev to confirm.
54
- - Any `🔴 Blocker` still `Open` ⇒ the UC is not ready for qc-design-test — hand off to qc-plan.
55
- - **Push genuine SPEC defects to the PO (not just keep them local).** A blocker that is a real
56
- flaw in the official spec — `AMBIGUOUS` / `CONTRADICTORY` / `MISSING` in PRD/BDD — must reach
57
- the PO via the feedback flow, not sit only in `DOC_GAPS.md`: file `/report-bug {UC-ID} {desc}`
58
- (its BUG_FLOW classifies PRD vs BDD), or `/propose-scenario {UC-ID}` if the gap is missing test
59
- coverage. `ASSUMPTION` / `OPEN QUESTION` gaps are confirmed via qc-plan's questions-for-dev — not filed as bugs.
50
+ Luôn tạo một file gaps theo `{paths.qc_skills_dir}/qa-analyst/DOC_GAPS.template.md`:
51
+ - Mỗi gap `GAP-xx`, phân loại MISSING / AMBIGUOUS / CONTRADICTORY / ASSUMPTION / OPEN QUESTION, với severity (🔴 Blocker → 🟢 Low) function/BR/AC bị ảnh hưởng.
52
+ - Không bao giờ bịa câu trả lời; đánh dấu giả định là `ASSUMPTION` để PO/dev confirm.
53
+ - Bất kỳ `🔴 Blocker` nào còn `Open` ⇒ UC chưa sẵn sàng cho qc-design-test — bàn giao cho qc-plan.
54
+ - **Đẩy các defect spec thực sự lên PO (không chỉ giữ local).** Một blocker lỗi thật
55
+ trong spec chính thức — `AMBIGUOUS` / `CONTRADICTORY` / `MISSING` trong PRD/BDD — phải tới
56
+ PO qua feedback flow, không chỉ nằm trong `DOC_GAPS.md`: tạo `/report-bug {UC-ID} {desc}`
57
+ (BUG_FLOW của nó phân loại PRD vs BDD), hoặc `/propose-scenario {UC-ID}` nếu gap thiếu test
58
+ coverage. Gap `ASSUMPTION` / `OPEN QUESTION` được confirm qua questions-for-dev của qc-plan không file thành bug.
60
59
 
61
60
  ## Output
62
61
 
63
- Write **exactly TWO files** under `{paths.qc_dir}/{UC-ID}/` — do **not** split the analysis
64
- into one-file-per-step (no separate spec-breakdown / business-rules / data-flow / AC files):
62
+ Ghi **đúng HAI file** dưới `{paths.qc_dir}/{UC-ID}/` — **đừng** tách phân tích
63
+ thành một-file-mỗi-bước (không file spec-breakdown / business-rules / data-flow / AC riêng):
65
64
 
66
- 1. **`{paths.qc_dir}/{UC-ID}/REQUIREMENT_ANALYSIS.md`** — the single consolidated analysis.
67
- Sections in order: requirement breakdown → business-rule table (`BR-xx`) → data-flow →
68
- acceptance-criteria (`AC-xx`), each `BR`/`AC` mapped to its owning `{UC-ID}-SC{N}`.
69
- 2. **`{paths.qc_dir}/{UC-ID}/DOC_GAPS.md`** — the gaps file (per `{paths.qc_skills_dir}/qa-analyst/DOC_GAPS.template.md`).
65
+ 1. **`{paths.qc_dir}/{UC-ID}/REQUIREMENT_ANALYSIS.md`** — bản phân tích hợp nhất duy nhất.
66
+ Section theo thứ tự: phân rã requirement → bảng business-rule (`BR-xx`) → data-flow →
67
+ acceptance-criteria (`AC-xx`), mỗi `BR`/`AC` map tới `{UC-ID}-SC{N}` sở hữu nó.
68
+ 2. **`{paths.qc_dir}/{UC-ID}/DOC_GAPS.md`** — file gaps (theo `{paths.qc_skills_dir}/qa-analyst/DOC_GAPS.template.md`).
70
69
 
71
- `{paths.qc_dir}` is a VISIBLE top-level folder in the QC repo (default `docs/`, **not** the
72
- hidden `.agent/review/`) so the QC team can open and process the output easily. The official
73
- spec stays in the PO spec submodule do not write analysis there.
70
+ `{paths.qc_dir}` folder top-level NHÌN THẤY trong QC repo (mặc định `docs/`, **không** phải
71
+ `.agent/review/` ẩn) để team QC mở xử output dễ dàng. Spec chính thức ở lại
72
+ spec submodule của PO đừng ghi phân tích vào đó.
74
73
 
75
74
  ## Report
76
75
 
77
76
  {{include:steps/report-footer.md}}
78
77
 
79
78
  ```
80
- /qc-analyze Complete — {UC-ID}
79
+ /qc-analyze Hoàn tất — {UC-ID}
81
80
  Files: {paths.qc_dir}/{UC-ID}/REQUIREMENT_ANALYSIS.md + DOC_GAPS.md (2 files)
82
- Gaps: {N} ({blockers} blocker) ← spec-defect blocker? → /report-bug {UC-ID} | coverage gap → /propose-scenario {UC-ID}
83
- SC mapping: {M} BR/AC mapped to {K} scenarios
81
+ Gaps: {N} ({blockers} blocker) ← blocker là spec-defect? → /report-bug {UC-ID} | coverage gap → /propose-scenario {UC-ID}
82
+ SC mapping: {M} BR/AC map tới {K} scenario
84
83
  Next: /qc-plan {UC-ID} ← risk / what-if / questions-for-dev
85
- (resolve 🔴 Blocker gaps with PO/Dev first)
84
+ (giải quyết các gap 🔴 Blocker với PO/Dev trước)
86
85
  ```