@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,14 +1,14 @@
1
1
  # {TICKET-ID} Product Definition — {Feature Name}
2
2
 
3
3
  <!--
4
- This template is used by the /define-product workflow.
5
- AI Agent fills each section through phased Q&A with PO.
6
- Output is structured input for /generate-prd.
7
-
8
- RULES:
9
- - Each section corresponds to 1 phase in the workflow
10
- - Incomplete sectionkeep placeholder, MUST NOT proceed to next phase
11
- - PO confirmation status is recorded in each section
4
+ Template này được dùng bởi workflow /define-product.
5
+ AI Agent điền từng section qua Q&A theo từng phase với PO.
6
+ Output input cấu trúc cho /generate-prd.
7
+
8
+ QUY TẮC:
9
+ - Mỗi section tương ứng với 1 phase trong workflow
10
+ - Section chưa đủ giữ placeholder, KHÔNG được sang phase tiếp theo
11
+ - Trạng thái xác nhận của PO được ghi trong mỗi section
12
12
  -->
13
13
 
14
14
  ---
@@ -18,151 +18,164 @@
18
18
  | Field | Value |
19
19
  |--------------------|--------------------------------|
20
20
  | **Ticket** | {TICKET-ID} |
21
- | **Feature** | {Feature name} |
21
+ | **Feature** | {tên tính năng} |
22
22
  | **Domain** | {domain} |
23
- | **PO** | {PO name} |
23
+ | **PO** | {tên PO} |
24
24
  | **Created** | {YYYY-MM-DD} |
25
25
  | **Status** | in-progress / completed |
26
- | **Completed Phase**| {last completed phase number} |
26
+ | **Completed Phase**| {số phase hoàn thành gần nhất} |
27
27
 
28
28
  ---
29
29
 
30
- ## Phase 0: Knowledge Sync
30
+ ## Phase 0: Đồng bộ tri thức (Knowledge Sync)
31
31
 
32
- > AI syncs system knowledge. No PO input needed.
32
+ > ⚙️ AI tự thu thập đây là **bối cảnh hệ thống**, KHÔNG phải yêu cầu nghiệp vụ do PO viết. Mục đích: chuẩn hoá thuật ngữ và nhận biết phần đã có để tái sử dụng. Không cần input từ PO.
33
33
 
34
- ### Related Entities
35
- - {Entity 1} — {brief description}
36
- - {Entity 2} — {brief description}
34
+ ### Khái niệm / dữ liệu nghiệp vụ liên quan
35
+ - {Khái niệm 1} — { tả ngắn}
36
+ - {Khái niệm 2} — { tả ngắn}
37
37
 
38
- ### Related Modules
39
- - {Module 1}
40
- - {Module 2}
38
+ ### Phần hệ thống / feature liên quan
39
+ - {Phần 1}
40
+ - {Phần 2}
41
41
 
42
- ### Existing Rules / Logic
43
- - {Rule/logic from existing PRDs or domain knowledge}
42
+ ### Rule / Logic có sẵn
43
+ - {Rule/logic từ các PRD sẵn hoặc domain knowledge}
44
44
 
45
- ### Terminology Normalization
46
- | Term in PO input | Canonical term (business-dictionary) |
47
- |-------------------|--------------------------------------|
48
- | {original term} | {canonical term} |
45
+ ### Chuẩn hoá thuật ngữ
46
+ | Thuật ngữ trong input PO | Thuật ngữ chuẩn (business-dictionary) |
47
+ |--------------------------|---------------------------------------|
48
+ | {thuật ngữ gốc} | {thuật ngữ chuẩn} |
49
49
 
50
50
  ---
51
51
 
52
- ## Phase 1: Feature Definition
52
+ ## Phase 1: Định nghĩa tính năng (Feature Definition)
53
53
 
54
- > ✅ PO Confirmed: {Yes/No}
54
+ > ✅ PO xác nhận: {Có/Không}
55
55
 
56
- ### Context
57
- {Business context leading to this feature}
56
+ ### Bối cảnh (Context)
57
+ {Bối cảnh nghiệp vụ dẫn đến tính năng này}
58
58
 
59
- ### Problem Statement
60
- {Problem to solve}
59
+ ### Tuyên bố vấn đề (Problem Statement)
60
+ {Vấn đề cần giải quyết}
61
61
 
62
- ### Goal
63
- {Feature objective}
62
+ ### Mục tiêu (Goal)
63
+ {Mục tiêu của tính năng}
64
64
 
65
- ### Actors
66
- | Actor | Role | Primary/Secondary |
67
- |----------|--------------------|-------------------|
68
- | {Actor} | {Role description} | Primary |
65
+ ### Actor
66
+ | Actor | Vai trò | Chính/Phụ |
67
+ |----------|--------------------|-----------|
68
+ | {Actor} | { tả vai trò} | Primary |
69
69
 
70
- ### Scope (In Scope)
71
- - {Function 1}
72
- - {Function 2}
70
+ ### Phạm vi (In Scope)
71
+ - {Chức năng 1}
72
+ - {Chức năng 2}
73
+
74
+ ### Ngoài phạm vi (Out of Scope)
75
+ - {Hạng mục KHÔNG làm trong ticket này — kèm lý do / để dành pha sau}
73
76
 
74
77
  ### User Story
75
- - **As a** {User role}
76
- - **I want to** {User goal}
77
- - **So that** {Business value}
78
+ - **Là một (As a)** {vai trò}
79
+ - **Tôi muốn (I want to)** {mục tiêu}
80
+ - **Để (So that)** {giá trị nghiệp vụ}
81
+
82
+ ### Phụ thuộc liên service *(mức nghiệp vụ)*
83
+
84
+ > Feature này cần **dữ liệu/năng lực** gì từ feature/team khác — KHÔNG mô tả API/event/callback (đó là kỹ thuật, thuộc Tech-docs).
85
+
86
+ - {Cần {dữ liệu/năng lực} từ {feature/team} — vì {lý do nghiệp vụ}} — hoặc "Không có"
78
87
 
79
88
  ---
80
89
 
81
- ## Phase 2: User Flow Definition
90
+ ## Phase 2: Định nghĩa User Flow
91
+
92
+ > ✅ PO xác nhận: {Có/Không}
82
93
 
83
- > PO Confirmed: {Yes/No}
94
+ ### Điểm vào (Entry Point)
95
+ {Người dùng bắt đầu tương tác với tính năng như thế nào}
84
96
 
85
- ### Entry Point
86
- {How user starts interacting with the feature}
97
+ ### Các bước của Flow
98
+ | Bước | Hành động | Trạng thái/Kết quả nghiệp vụ | Ghi chú |
99
+ |------|-----------------|------------------------------|------------|
100
+ | 1 | {hành động} | {trạng thái/kết quả nghiệp vụ} | {ghi chú} |
101
+ | 2 | {hành động} | {trạng thái/kết quả nghiệp vụ} | {ghi chú} |
87
102
 
88
- ### Flow Steps
89
- | Step | Action | Screen/State | Notes |
90
- |------|-----------------|------------------|-------------|
91
- | 1 | {User action} | {Screen/State} | {Notes} |
92
- | 2 | {User action} | {Screen/State} | {Notes} |
103
+ ### Điểm ra (Exit Point)
104
+ {Kết quả cuối khi flow hoàn thành}
93
105
 
94
- ### Exit Point
95
- {Final outcome when flow completes}
106
+ ### Edge Cases / Luồng lỗi & ngoại lệ
107
+ > Các kịch bản thất bại nghiệp vụ ngoài happy path — input thiếu, điều kiện không thoả, thao tác đồng thời, phụ thuộc không sẵn sàng.
108
+ - {Kịch bản: khi {điều kiện bất thường} → {kết quả nghiệp vụ kỳ vọng}}
96
109
 
97
110
  ---
98
111
 
99
- ## Phase 3: Clarification Log
112
+ ## Phase 3: Nhật ký làm rõ (Clarification Log)
100
113
 
101
- > Records all questions and answers across rounds.
114
+ > Ghi lại mọi câu hỏi câu trả lời qua các vòng.
102
115
 
103
- ### Round {N}
104
- | # | Category | Question | PO Answer |
116
+ ### Vòng {N}
117
+ | # | Nhóm | Câu hỏi | PO trả lời |
105
118
  |---|----------|------------|------------|
106
- | 1 | Context | {question} | {answer} |
107
- | 2 | Flow | {question} | {answer} |
108
- | 3 | Logic | {question} | {answer} |
119
+ | 1 | Context | {câu hỏi} | {trả lời} |
120
+ | 2 | Flow | {câu hỏi} | {trả lời} |
121
+ | 3 | Logic | {câu hỏi} | {trả lời} |
109
122
 
110
- ### Unresolved Items
111
- - {Unresolved itemif any remain, MUST NOT proceed to Phase 4}
123
+ ### Mục chưa giải quyết
124
+ - {Mục chưa giải quyết nếu còn tồn đọng, KHÔNG được sang Phase 4}
112
125
 
113
126
  ---
114
127
 
115
128
  ## Phase 4: Business Rules
116
129
 
117
- > ✅ PO Confirmed: {Yes/No}
130
+ > ✅ PO xác nhận: {Có/Không}
118
131
 
119
- | Rule ID | Action/Trigger | Rule | Condition |
120
- |---------|---------------------|---------------------|----------------------|
121
- | BR-1 | {Action from flow} | {Business rule} | {Applicable condition} |
122
- | BR-2 | {Action from flow} | {Business rule} | {Applicable condition} |
132
+ | Rule ID | Hành động/Trigger | Quy tắc | Điều kiện |
133
+ |---------|---------------------|---------------------|------------------------|
134
+ | BR-1 | {hành động từ flow} | {business rule} | {điều kiện áp dụng} |
135
+ | BR-2 | {hành động từ flow} | {business rule} | {điều kiện áp dụng} |
123
136
 
124
137
  ---
125
138
 
126
139
  ## Phase 5: Business Logic
127
140
 
128
- > ✅ PO Confirmed: {Yes/No}
141
+ > ✅ PO xác nhận: {Có/Không}
129
142
 
130
- | Rule ID | System Behavior | Data State Change | UI Behavior | Error Handling |
131
- |---------|------------------------------------------|----------------------|----------------------|-----------------------|
132
- | BR-1 | {How system processes when rule triggers} | {Data changes} | {enable/disable/...} | {Error message/action}|
133
- | BR-2 | {How system processes when rule triggers} | {Data changes} | {enable/disable/...} | {Error message/action}|
143
+ | Rule ID | Logic nghiệp vụ (rẽ nhánh / công thức / điều kiện) | Thông báo/kết quả nghiệp vụ khi lỗi |
144
+ |---------|---------------------------------------------------|-------------------------------------|
145
+ | BR-1 | {logic nghiệp vụ khi rule kích hoạt} | {vd: báo "Số không đủ"} |
146
+ | BR-2 | {logic nghiệp vụ khi rule kích hoạt} | {} |
134
147
 
135
148
  ---
136
149
 
137
150
  ## Phase 6: Acceptance Criteria
138
151
 
139
- > ✅ PO Confirmed: {Yes/No}
152
+ > ✅ PO xác nhận: {Có/Không}
140
153
 
141
- | AC ID | Description | Expected Behavior | Derived from |
154
+ | AC ID | Mô tả | Hành vi kỳ vọng | Bắt nguồn từ |
142
155
  |-------|------------------------|---------------------------|--------------|
143
- | AC-1 | {Criterion description} | {Expected behavior} | BR-{N} |
144
- | AC-2 | {Criterion description} | {Expected behavior} | BR-{N} |
156
+ | AC-1 | { tả tiêu chí} | {hành vi kỳ vọng} | BR-{N} |
157
+ | AC-2 | { tả tiêu chí} | {hành vi kỳ vọng} | BR-{N} |
145
158
 
146
159
  ---
147
160
 
148
- ## Phase 7: Validation Report
161
+ ## Phase 7: Báo cáo kiểm chứng (Validation Report)
149
162
 
150
- ### Coverage Matrix
151
- | Flow Action | Has Rule? | Has Logic? | Has AC? | Status |
152
- |-------------|-----------|------------|---------|--------|
153
- | {Action 1} | ✅/❌ | ✅/❌ | ✅/❌ | OK/GAP |
163
+ ### Ma trận độ phủ (Coverage Matrix)
164
+ | Hành động Flow | Rule? | Logic? | AC? | Status |
165
+ |----------------|----------|-----------|--------|--------|
166
+ | {Hành động 1} | ✅/❌ | ✅/❌ | ✅/❌ | OK/GAP |
154
167
 
155
- ### Conflicts Detected
156
- - {Conflict descriptionor "None"}
168
+ ### Xung đột phát hiện
169
+ - { tả xung đột hoặc "None"}
157
170
 
158
- ### Missing Items
159
- - {Missing rule/AC/logic — or "None"}
171
+ ### Mục còn thiếu
172
+ - {Rule/AC/logic còn thiếu hoặc "None"}
160
173
 
161
174
  ---
162
175
 
163
176
  <!--
164
177
  NEXT STEPS:
165
- When Product Definition is complete (Status: completed), run:
178
+ Khi Product Definition hoàn tất (Status: completed), chạy:
166
179
  /generate-prd {path-to-this-file} --jira {TICKET-ID}
167
- to generate a PRD from this Product Definition.
180
+ để sinh PRD từ Product Definition này.
168
181
  -->
@@ -25,7 +25,7 @@ project:
25
25
  # All paths are relative to workspace root.
26
26
  paths:
27
27
  # Feature-Package Layout:
28
- # specs/{domain}/{prd-slug}/prd.md — PRD document
28
+ # specs/{domain}/{prd-slug}/{TICKET-ID}-{prd-slug}.md — PRD document
29
29
  # specs/{domain}/{prd-slug}/bdd/ — BDD .feature files
30
30
  # specs/{domain}/{prd-slug}/tech-docs/ — Technical design docs
31
31
  # specs/{domain}/{prd-slug}/design-spec/ — Design specs (FE/App only)
@@ -39,7 +39,7 @@ paths:
39
39
  bdd_writing_guide: "specs/templates/bdd-writing-guide.md"
40
40
  trace_report: "specs/.trace/trace-report.md"
41
41
 
42
- # PRD template (PRDs are now at specs/{domain}/{prd-slug}/prd.md)
42
+ # PRD template (PRDs are at specs/{domain}/{prd-slug}/{TICKET-ID}-{prd-slug}.md)
43
43
  prd_template: "specs/templates/prd.template.md"
44
44
  refinement_dir: ".agent/review"
45
45