@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
@@ -1,43 +1,43 @@
1
- # /refine-prd — Analyze PRD Through 4 Review Lenses
1
+ # /refine-prd — Phân tích PRD qua 4 lăng kính review
2
2
 
3
3
  ## Gate
4
4
  {{include:steps/gate.md}}
5
5
 
6
- *Note: For this command, the target file in Step 1 is a PRD file (`prd.md`) under `{paths.specs_dir}/{domain}/{prd-slug}/`. Read the full PRD after resolving the file.*
6
+ *Lưu ý: Với lệnh này, target file Bước 1 một file PRD (`prd.md`) dưới `{paths.specs_dir}/{domain}/{prd-slug}/`. Đọc toàn bộ PRD sau khi phân giải file.*
7
7
 
8
8
  ## Context
9
9
  {{include:steps/context-loader.md}}
10
10
 
11
11
  ---
12
12
 
13
- ## Review Procedure
13
+ ## Quy trình Review
14
14
  {{include:steps/review-fanout.md}}
15
15
 
16
16
  ---
17
17
 
18
- ## Analyze — 4 Lenses (fan out over all four, then converge)
18
+ ## Phân tích — 4 lăng kính (fan out cả bốn, rồi hội tụ)
19
19
 
20
- Run the review through the **Review Procedure** above (`steps/review-fanout.md`).
20
+ Chạy review qua **Quy trình Review** trên (`steps/review-fanout.md`).
21
21
 
22
- **DIMENSIONS** = the 4 lenses below — fan out one sub-agent per lens, each scanning the
23
- full PRD through its single lens:
22
+ **DIMENSIONS** = 4 lăng kính dưới đây — fan out một sub-agent cho mỗi lăng kính, mỗi cái quét
23
+ toàn bộ PRD qua đúng lăng kính của nó:
24
24
 
25
- - **QA Lens**: Are ACs testable? Edge cases specified? Boundary conditions defined?
26
- - **DEV Lens**: Are API inputs/outputs clear? Business rules unambiguous? Cross-service deps fully described? Any technical risk?
27
- - **SA Lens**: Fits existing architecture? Security/auth implications? Data modeling clear?
28
- - **PO Lens**: Scope bounded? Priorities clear? Success metrics defined? Scope creep risk?
25
+ - **Lăng kính QA**: AC testable không? Edge case đã nêu? Điều kiện biên đã định nghĩa?
26
+ - **Lăng kính DEV**: Input/output API chưa? Business rule có mơ hồ không? Cross-service deps tả đủ chưa? rủi ro kỹ thuật nào?
27
+ - **Lăng kính SA**: Khớp kiến trúc hiện tại? Hệ luỵ security/auth? hình dữ liệu rõ chưa?
28
+ - **Lăng kính PO**: Scope đã khoanh vùng? Priority rõ chưa? Success metric đã định nghĩa? Rủi ro scope creep?
29
29
 
30
- The completeness-critic loop (Phase 2) is what guarantees the findings file is complete
31
- in one run — re-running `/refine-prd` should surface **0 new** findings. Map each
32
- dimension into the `lens` field of the schema below.
30
+ Vòng lặp completeness-critic (Phase 2) cái đảm bảo file findings đầy đủ trong một lần chạy
31
+ chạy lại `/refine-prd` sẽ lòi ra **0 finding mới**. Map mỗi dimension vào field `lens`
32
+ của schema dưới đây.
33
33
 
34
- ## Output File
34
+ ## File Output
35
35
 
36
- Derive the output filename from the PRD slug:
37
- - PRD file: `{paths.specs_dir}/payment/create-invoice/prd.md` → output: `{paths.refinement_dir}/create-invoice-findings.yaml`
38
- - Rule: take the PRD's parent folder name (the prd-slug), append `-findings.yaml`
36
+ Suy ra tên file output từ PRD slug:
37
+ - File PRD: `{paths.specs_dir}/payment/create-invoice/prd.md` → output: `{paths.refinement_dir}/create-invoice-findings.yaml`
38
+ - Quy tắc: lấy tên folder cha của PRD (prd-slug), thêm hậu tố `-findings.yaml`
39
39
 
40
- Write `{paths.refinement_dir}/{prd-slug}-findings.yaml`:
40
+ Ghi `{paths.refinement_dir}/{prd-slug}-findings.yaml`:
41
41
 
42
42
  ```yaml
43
43
  prd_source: "{paths.specs_dir}/{domain}/{prd-slug}/prd.md"
@@ -48,12 +48,12 @@ findings:
48
48
  - id: "F001"
49
49
  lens: "QA" # QA | DEV | SA | PO
50
50
  severity: "major" # critical | major | minor
51
- section: "§6. Acceptance Criteria" # human-readable heading/section label
52
- uc_id: "{TICKET-ID}-UC{N}" # UC this finding belongs to; "" if PRD-global (scope, metrics, problem statement)
53
- quote: "{verbatim snippet copied EXACTLY from the PRD at the issue location, ≤120 chars}"
54
- finding: "{description of gap or issue}"
55
- suggestion: "{specific actionable improvement}"
56
- auto_fixable: false # true = AI applies in --resume; false = human must write decision in note
51
+ section: "§2. Acceptance Criteria" # nhãn heading/section dạng người đọc
52
+ uc_id: "{TICKET-ID}-UC{N}" # UC finding thuộc về; "" nếu PRD-global (scope, metrics, problem statement)
53
+ quote: "{trích đoạn nguyên văn copy CHÍNH XÁC từ PRD tại vị trí lỗi, ≤120 ký tự}"
54
+ finding: "{ tả gap hoặc vấn đề}"
55
+ suggestion: "{đề xuất cải thiện cụ thể, hành động được}"
56
+ auto_fixable: false # true = AI áp dụng khi --resume; false = người phải ghi quyết định trong note
57
57
  status: "pending" # pending | accepted | rejected | needs_discussion
58
58
 
59
59
  summary:
@@ -63,78 +63,78 @@ summary:
63
63
  recommendation: "APPROVED_WITH_MINOR_CHANGES | NEEDS_REVISION | BLOCKED"
64
64
  ```
65
65
 
66
- > **Locator fields (`quote` + `uc_id`) — required for Review Board source-jump.**
67
- > For every finding, copy a short **verbatim** `quote` straight from the PRD at the exact spot the
68
- > issue occursdo NOT paraphrase; it is matched against the document to locate the line. Set
69
- > `uc_id` to the owning Use Case (or `""` for PRD-global findings). These let a reviewer click a
70
- > finding in the Review Board and jump straight to the precise location in the source PRD.
66
+ > **Field định vị (`quote` + `uc_id`) — bắt buộc cho source-jump của Review Board.**
67
+ > Với mỗi finding, copy một đoạn `quote` **nguyên văn** thẳng từ PRD tại đúng chỗ
68
+ > lỗi xảy ra KHÔNG diễn giải lại; được so khớp với tài liệu để định vị dòng. Đặt
69
+ > `uc_id` Use Case sở hữu (hoặc `""` cho finding PRD-global). Hai field này cho phép reviewer click một
70
+ > finding trong Review Board nhảy thẳng tới đúng vị trí trong PRD nguồn.
71
71
 
72
72
  ## Report
73
73
 
74
74
  {{include:steps/report-footer.md}}
75
75
 
76
76
  ```
77
- /refine-prd Complete — {PRD name}
77
+ /refine-prd Hoàn tất — {PRD name}
78
78
  Findings: {total} | 🔴 Critical: {N} | 🟡 Major: {N} | 🟢 Minor: {N}
79
79
  Review: {paths.refinement_dir}/{prd-slug}-findings.yaml
80
- Next: Open in Review Board (right-click file) → Update PRD
81
- → /review-context {prd-file} ← verify PRD quality before generating BDD
80
+ Next: Mở trong Review Board (chuột phải vào file) → Cập nhật PRD
81
+ → /review-context {prd-file} ← kiểm tra chất lượng PRD trước khi sinh BDD
82
82
  → /generate-bdd {prd-file}
83
83
  ```
84
84
 
85
85
  ---
86
86
 
87
- ## Resume Mode — Apply Findings & Bump Version
87
+ ## Resume Mode — Áp dụng Findings & Bump Version
88
88
 
89
- *Triggered when `$ARGUMENTS` contains `--resume` (called by Review Board "Apply to PRD" button).*
89
+ *Kích hoạt khi `$ARGUMENTS` chứa `--resume` (gọi bởi nút "Apply to PRD" của Review Board).*
90
90
 
91
- ### Phase 1 — Read accepted findings
91
+ ### Phase 1 — Đọc các finding được chấp nhận
92
92
 
93
- 1. Read `{paths.refinement_dir}/{prd-slug}-findings.yaml`.
94
- 2. Collect all findings where `status: "accepted"` or `status: "modified"`.
95
- 3. If no accepted findingsreport "No accepted findings. PRD unchanged." and stop.
93
+ 1. Đọc `{paths.refinement_dir}/{prd-slug}-findings.yaml`.
94
+ 2. Gom tất cả finding `status: "accepted"` hoặc `status: "modified"`.
95
+ 3. Nếu không finding nào được chấp nhận báo "No accepted findings. PRD unchanged." dừng.
96
96
 
97
- ### Phase 2 — Apply changes to PRD
97
+ ### Phase 2 — Áp dụng thay đổi vào PRD
98
98
 
99
- For each accepted finding, in order of severity (critical → major → minor):
100
- - Navigate to the PRD section indicated by `finding.section`.
101
- - Apply `finding.suggestion`. For `status: "modified"` findings, the human has already edited `finding.suggestion` in the Review Board — that edited value IS the fix to apply.
102
- - Do not alter any sections not referenced by an accepted finding.
99
+ Với mỗi finding được chấp nhận, theo thứ tự severity (critical → major → minor):
100
+ - Đi tới section PRD được chỉ định bởi `finding.section`.
101
+ - Áp dụng `finding.suggestion`. Với finding `status: "modified"`, người đã sửa sẵn `finding.suggestion` trong Review Board — giá trị đã sửa đó CHÍNH LÀ bản fix cần áp dụng.
102
+ - Không thay đổi bất kỳ section nào không được tham chiếu bởi một finding được chấp nhận.
103
103
 
104
- ### Phase 2.5 — Update findings file
104
+ ### Phase 2.5 — Cập nhật file findings
105
105
 
106
- For each finding that was applied (status was `accepted` or `modified`):
107
- - Set `status: "applied"` in `{paths.refinement_dir}/{prd-slug}-findings.yaml`.
106
+ Với mỗi finding đã áp dụng (status `accepted` hoặc `modified`):
107
+ - Đặt `status: "applied"` trong `{paths.refinement_dir}/{prd-slug}-findings.yaml`.
108
108
 
109
- Update `summary.status: "applied"` in the findings file.
109
+ Cập nhật `summary.status: "applied"` trong file findings.
110
110
 
111
- ### Phase 3 — Bump version & write changelog entry
111
+ ### Phase 3 — Bump version & ghi entry changelog
112
112
 
113
- 1. Read current `| **Version** |` value from PRD metadata table.
114
- 2. Determine bump type from the set of accepted findings:
115
- - **major** (X.0 → next X+1.0): new or removed Use Case, restructured scope, breaking BR change.
116
- - **minor** (x.Y → x.Y+1): clarification, new edge case, AC/BR wording refinement.
117
- 3. Compute new version string.
118
- 4. Update PRD metadata:
113
+ 1. Đọc giá trị `| **Version** |` hiện tại từ bảng metadata của PRD.
114
+ 2. Xác định loại bump từ tập finding được chấp nhận:
115
+ - **major** (X.0 → X+1.0 kế tiếp): thêm/xoá Use Case, tái cấu trúc scope, thay đổi BR breaking.
116
+ - **minor** (x.Y → x.Y+1): làm rõ, thêm edge case, tinh chỉnh wording AC/BR.
117
+ 3. Tính chuỗi version mới.
118
+ 4. Cập nhật metadata PRD:
119
119
  - `| **Version** | {new_version} |`
120
120
  - `| **Updated** | {today YYYY-MM-DD} |`
121
- - `| **Status** | draft |` ← reset to draft, must be re-approved
122
- 5. Prepend a new row to `## Changelog` at the bottom of the PRD:
121
+ - `| **Status** | draft |` ← reset về draft, phải được duyệt lại
122
+ 5. Thêm một row mới lên đầu `## Changelog` cuối PRD:
123
123
  ```
124
- | {new_version} | {today} | {concise summary of all applied changes} |
124
+ | {new_version} | {today} | {tóm tắt súc tích mọi thay đổi đã áp dụng} |
125
125
  ```
126
126
 
127
127
  ### Phase 4 — Report
128
128
 
129
129
  ```
130
- /refine-prd Applied — {PRD name}
130
+ /refine-prd Đã áp dụng — {PRD name}
131
131
  Version : {old_version} → {new_version}
132
132
  Applied : {N} findings ({critical} critical, {major} major, {minor} minor)
133
133
  Changes :
134
134
  - {change 1}
135
135
  - {change 2}
136
136
 
137
- ⚠️ BDD may be outdated. Run:
138
- /review-context {prd-file} ← verify PRD quality first
137
+ ⚠️ BDD thể đã lỗi thời. Chạy:
138
+ /review-context {prd-file} ← kiểm tra chất lượng PRD trước
139
139
  → /generate-bdd {prd-file}
140
140
  ```