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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/commands/debug.md +435 -435
  2. package/commands/debug.tmpl +111 -111
  3. package/commands/define-product.md +330 -327
  4. package/commands/define-product.tmpl +50 -47
  5. package/commands/dev-gen-test.md +364 -364
  6. package/commands/dev-gen-test.tmpl +63 -63
  7. package/commands/dev-run-test.md +375 -375
  8. package/commands/dev-run-test.tmpl +74 -74
  9. package/commands/dev-smoke-test.md +340 -340
  10. package/commands/dev-smoke-test.tmpl +60 -60
  11. package/commands/fix-bug.md +402 -402
  12. package/commands/fix-bug.tmpl +78 -78
  13. package/commands/generate-bdd.md +512 -512
  14. package/commands/generate-bdd.tmpl +211 -211
  15. package/commands/generate-code.md +480 -482
  16. package/commands/generate-code.tmpl +179 -181
  17. package/commands/generate-design-spec.md +495 -495
  18. package/commands/generate-design-spec.tmpl +219 -219
  19. package/commands/generate-prd.md +445 -396
  20. package/commands/generate-prd.tmpl +45 -198
  21. package/commands/generate-spec-manifest.md +337 -337
  22. package/commands/generate-spec-manifest.tmpl +57 -57
  23. package/commands/generate-tech-docs.md +364 -364
  24. package/commands/generate-tech-docs.tmpl +84 -84
  25. package/commands/learn.md +346 -346
  26. package/commands/learn.tmpl +22 -22
  27. package/commands/map-testids.md +321 -321
  28. package/commands/map-testids.tmpl +41 -41
  29. package/commands/propose-scenario.md +334 -334
  30. package/commands/propose-scenario.tmpl +54 -54
  31. package/commands/qc-analyze.md +322 -323
  32. package/commands/qc-analyze.tmpl +42 -43
  33. package/commands/qc-design-test.md +303 -303
  34. package/commands/qc-design-test.tmpl +23 -23
  35. package/commands/qc-plan.md +296 -296
  36. package/commands/qc-plan.tmpl +16 -16
  37. package/commands/qc-report.md +301 -301
  38. package/commands/qc-report.tmpl +21 -21
  39. package/commands/qc-review.md +297 -297
  40. package/commands/qc-review.tmpl +17 -17
  41. package/commands/qc-run-test.md +336 -336
  42. package/commands/qc-run-test.tmpl +35 -35
  43. package/commands/refine-prd.md +426 -428
  44. package/commands/refine-prd.tmpl +61 -61
  45. package/commands/report-bug.md +350 -350
  46. package/commands/report-bug.tmpl +70 -70
  47. package/commands/review-code.md +363 -363
  48. package/commands/review-code.tmpl +39 -39
  49. package/commands/review-context.md +577 -579
  50. package/commands/review-context.tmpl +212 -212
  51. package/commands/review-tech-docs.md +426 -426
  52. package/commands/review-tech-docs.tmpl +146 -146
  53. package/commands/setup-ai-first.md +237 -237
  54. package/commands/setup-ai-first.tmpl +131 -131
  55. package/commands/sync.md +145 -145
  56. package/commands/sync.tmpl +93 -93
  57. package/commands/update-framework.md +88 -88
  58. package/commands/update-framework.tmpl +36 -36
  59. package/commands/validate-traces.md +379 -379
  60. package/commands/validate-traces.tmpl +99 -99
  61. package/core/FRAMEWORK_VERSION +1 -1
  62. package/core/commands/debug.md +435 -435
  63. package/core/commands/define-product.md +330 -327
  64. package/core/commands/dev-gen-test.md +364 -364
  65. package/core/commands/dev-run-test.md +375 -375
  66. package/core/commands/dev-smoke-test.md +340 -340
  67. package/core/commands/fix-bug.md +402 -402
  68. package/core/commands/generate-bdd.md +512 -512
  69. package/core/commands/generate-code.md +480 -482
  70. package/core/commands/generate-design-spec.md +495 -495
  71. package/core/commands/generate-prd.md +445 -396
  72. package/core/commands/generate-spec-manifest.md +337 -337
  73. package/core/commands/generate-tech-docs.md +364 -364
  74. package/core/commands/learn.md +346 -346
  75. package/core/commands/map-testids.md +321 -321
  76. package/core/commands/propose-scenario.md +334 -334
  77. package/core/commands/qc-analyze.md +322 -323
  78. package/core/commands/qc-design-test.md +303 -303
  79. package/core/commands/qc-plan.md +296 -296
  80. package/core/commands/qc-report.md +301 -301
  81. package/core/commands/qc-review.md +297 -297
  82. package/core/commands/qc-run-test.md +336 -336
  83. package/core/commands/refine-prd.md +426 -428
  84. package/core/commands/report-bug.md +350 -350
  85. package/core/commands/review-code.md +363 -363
  86. package/core/commands/review-context.md +577 -579
  87. package/core/commands/review-tech-docs.md +426 -426
  88. package/core/commands/setup-ai-first.md +237 -237
  89. package/core/commands/sync.md +145 -145
  90. package/core/commands/update-framework.md +88 -88
  91. package/core/commands/validate-traces.md +379 -379
  92. package/core/skills/code/SKILL.md +388 -388
  93. package/core/skills/debug/SKILL.md +390 -390
  94. package/core/skills/design-spec/SKILL.md +316 -316
  95. package/core/skills/discovery/SKILL.md +7 -547
  96. package/core/skills/prd/SKILL.md +298 -394
  97. package/core/skills/setup-ai-first/SKILL.md +79 -79
  98. package/core/skills/spec/SKILL.md +176 -176
  99. package/core/skills/test/SKILL.md +602 -602
  100. package/core/steps/capture-lesson.md +44 -44
  101. package/core/steps/context-loader.md +174 -174
  102. package/core/steps/gate.md +54 -54
  103. package/core/steps/report-footer.md +52 -52
  104. package/core/steps/review-fanout.md +85 -87
  105. package/core/steps/spawn-agent.md +45 -45
  106. package/core/steps/trace-mirror.md +21 -21
  107. package/core/templates/architecture.template.md +37 -37
  108. package/core/templates/design-spec.template.md +77 -77
  109. package/core/templates/platform-guide.template.md +47 -47
  110. package/core/templates/prd.template.md +106 -231
  111. package/core/templates/product-definition.template.md +101 -88
  112. package/docs/04-operations/publishing.md +20 -3
  113. package/package.json +1 -1
  114. package/skills/code/SKILL.md +388 -388
  115. package/skills/code/SKILL.tmpl +56 -56
  116. package/skills/debug/SKILL.md +390 -390
  117. package/skills/debug/SKILL.tmpl +60 -60
  118. package/skills/design-spec/SKILL.md +316 -316
  119. package/skills/design-spec/SKILL.tmpl +36 -36
  120. package/skills/discovery/SKILL.md +7 -547
  121. package/skills/discovery/SKILL.tmpl +7 -140
  122. package/skills/prd/SKILL.md +298 -394
  123. package/skills/prd/SKILL.tmpl +40 -151
  124. package/skills/setup-ai-first/SKILL.md +79 -79
  125. package/skills/setup-ai-first/SKILL.tmpl +27 -27
  126. package/skills/spec/SKILL.md +176 -176
  127. package/skills/spec/SKILL.tmpl +18 -18
  128. package/skills/test/SKILL.md +602 -602
  129. package/skills/test/SKILL.tmpl +44 -44
  130. package/steps/capture-lesson.md +44 -44
  131. package/steps/context-loader.md +174 -174
  132. package/steps/gate.md +54 -54
  133. package/steps/report-footer.md +52 -52
  134. package/steps/review-fanout.md +85 -87
  135. package/steps/spawn-agent.md +45 -45
  136. package/steps/trace-mirror.md +21 -21
  137. package/templates/architecture.template.md +37 -37
  138. package/templates/design-spec.template.md +77 -77
  139. package/templates/platform-guide.template.md +47 -47
  140. package/templates/prd.template.md +106 -231
  141. package/templates/product-definition.template.md +101 -88
@@ -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/`, `prd.md`, 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
  ```