@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,13 +1,13 @@
1
- # /generate-spec-manifest — Generate Spec Manifest for External Agents
1
+ # /generate-spec-manifest — Sinh Spec Manifest cho External Agent
2
2
 
3
- Scans all spec files and writes a `spec-manifest.yaml` at the project root.
4
- This file is for **external agents only** (e.g. tester's agent) — it is not committed to git.
3
+ Quét tất cả file spec ghi một `spec-manifest.yaml` project root.
4
+ File này dành cho **external agent** (vd agent của tester) — không commit vào git.
5
5
 
6
6
  ## Gate
7
7
 
8
8
  {{include:steps/gate.md}}
9
9
 
10
- *Note: For this command, there is no target file — it scans the entire project. Ignore `$ARGUMENTS` unless a domain filter is passed.*
10
+ *Lưu ý: Với lệnh này, không target file — quét cả dự án. Bỏ qua `$ARGUMENTS` trừ khi truyền domain filter.*
11
11
 
12
12
  ## Context
13
13
 
@@ -17,19 +17,19 @@ This file is for **external agents only** (e.g. tester's agent) — it is not co
17
17
 
18
18
  ## Process
19
19
 
20
- ### Step 1 — Determine scan roots
20
+ ### Step 1 — Xác định scan root
21
21
 
22
- Read `project-context.yaml` to determine mode and paths:
22
+ Đọc `project-context.yaml` để xác định mode path:
23
23
 
24
24
  **Umbrella mode** (`setup.mode: umbrella`):
25
25
  ```
26
- spec_root = {setup.spec_source} ← PO's spec submodule
26
+ spec_root = {setup.spec_source} ← spec submodule của PO
27
27
  prd_glob = {spec_root}/specs/**/prd.md
28
28
  pdd_glob = {spec_root}/specs/product-definition/**/*.md
29
- services = {services} ← map of domain → paths
29
+ services = {services} ← map domain → paths
30
30
  ```
31
31
 
32
- **Single-service mode** (no `setup.mode`):
32
+ **Single-service mode** (không `setup.mode`):
33
33
  ```
34
34
  spec_root = .
35
35
  prd_glob = {paths.specs_dir}/**/prd.md
@@ -37,59 +37,59 @@ pdd_glob = {paths.product_definitions_dir}/**/*.md
37
37
  services = { default: { specs_dir: {paths.specs_dir}, tech_docs_dir: {paths.tech_docs_dir} } }
38
38
  ```
39
39
 
40
- If a domain filter was passed in `$ARGUMENTS` → only scan PRDs matching that domain.
40
+ Nếu truyền domain filter trong `$ARGUMENTS` → chỉ quét PRD khớp domain đó.
41
41
 
42
42
  ---
43
43
 
44
- ### Step 2 — Scan PRD files
44
+ ### Step 2 — Quét file PRD
45
45
 
46
- For each `.md` file matched by `prd_glob`:
46
+ Với mỗi file `.md` khớp `prd_glob`:
47
47
 
48
- 1. Read the file metadata table:
49
- - `TICKET-ID` from `| **PRD ID** |`
50
- - `domain` from `| **Domain** |`
51
- - `status` from `| **Status** |`
52
- - `version` from `| **Version** |`
53
- 2. Also read frontmatter `@trace.domain` if present (use this over metadata table domain if both exist)
54
- 3. Record: `{ ticket_id, domain, status, version, prd_path }` — path relative to manifest root
48
+ 1. Đọc bảng metadata của file:
49
+ - `TICKET-ID` từ `| **PRD ID** |`
50
+ - `domain` từ `| **Domain** |`
51
+ - `status` từ `| **Status** |`
52
+ - `version` từ `| **Version** |`
53
+ 2. Cũng đọc frontmatter `@trace.domain` nếu (dùng cái này thay domain bảng metadata nếu cả hai tồn tại)
54
+ 3. Ghi: `{ ticket_id, domain, status, version, prd_path }` — path tương đối với manifest root
55
55
 
56
- Skip files where `TICKET-ID` cannot be determined.
56
+ Skip file không xác định được `TICKET-ID`.
57
57
 
58
58
  ---
59
59
 
60
- ### Step 3 — Match PDD files
60
+ ### Step 3 — Khớp file PDD
61
61
 
62
- For each TICKET-ID found in Step 2:
62
+ Với mỗi TICKET-ID tìm thấy Step 2:
63
63
 
64
- Search `pdd_glob` for a file whose name contains the TICKET-ID (e.g. `FT-001-*.md`).
65
- - Foundrecord `pdd_path` (relative to manifest root)
66
- - Not foundrecord `pdd: null`
64
+ Tìm `pdd_glob` một file tên chứa TICKET-ID (vd `FT-001-*.md`).
65
+ - Tìm thấy ghi `pdd_path` (tương đối với manifest root)
66
+ - Không thấyghi `pdd: null`
67
67
 
68
68
  ---
69
69
 
70
- ### Step 4 — Match BDD and Tech-Doc files per service
70
+ ### Step 4 — Khớp file BDD Tech-Doc theo từng service
71
71
 
72
- For each TICKET-ID, for each service in `services` map:
72
+ Với mỗi TICKET-ID, với mỗi service trong map `services`:
73
73
 
74
74
  **BDD:**
75
75
  - Glob `{service.specs_dir}/**/{TICKET-ID}*.feature`
76
- - Also check files containing `@trace.prd: {TICKET-ID}` in frontmatter if glob returns nothing
77
- - Foundrecord path under `bdd.{service_key}`
78
- - Not foundomit key (do not write `null` for services with no BDD yet)
76
+ - Cũng kiểm tra file chứa `@trace.prd: {TICKET-ID}` trong frontmatter nếu glob không trả gì
77
+ - Tìm thấy ghi path dưới `bdd.{service_key}`
78
+ - Không thấybỏ key (đừng ghi `null` cho service chưa BDD)
79
79
 
80
80
  **Tech-docs:**
81
81
  - Glob `{service.tech_docs_dir}/**/{TICKET-ID}*.md`
82
- - Also check files containing `@trace.prd: {TICKET-ID}` if glob returns nothing
83
- - Foundrecord path under `tech_docs.{service_key}`
84
- - Not foundomit key
82
+ - Cũng kiểm tra file chứa `@trace.prd: {TICKET-ID}` nếu glob không trả gì
83
+ - Tìm thấy ghi path dưới `tech_docs.{service_key}`
84
+ - Không thấybỏ key
85
85
 
86
- All paths relative to manifest root (umbrella root or project root).
86
+ Mọi path tương đối với manifest root (umbrella root hoặc project root).
87
87
 
88
88
  ---
89
89
 
90
- ### Step 5 — Write spec-manifest.yaml
90
+ ### Step 5 — Ghi spec-manifest.yaml
91
91
 
92
- Write to `{manifest_root}/spec-manifest.yaml` (overwrite if exists).
92
+ Ghi vào `{manifest_root}/spec-manifest.yaml` (ghi đè nếu tồn tại).
93
93
 
94
94
  Format:
95
95
 
@@ -115,24 +115,24 @@ features:
115
115
  {service_key}: "{path}" # only include services where file was found
116
116
  ```
117
117
 
118
- Sort features by TICKET-ID alphabetically.
119
- Omit `tech_docs` block entirely if no tech-doc found for any service.
120
- Omit `bdd` block entirely if no BDD found for any service.
118
+ Sort features theo TICKET-ID alphabet.
119
+ Bỏ hẳn block `tech_docs` nếu không tìm thấy tech-doc cho service nào.
120
+ Bỏ hẳn block `bdd` nếu không tìm thấy BDD cho service nào.
121
121
 
122
122
  ---
123
123
 
124
- ### Step 6 — Ensure .gitignore
124
+ ### Step 6 — Đảm bảo .gitignore
125
125
 
126
- Check `{manifest_root}/.gitignore`:
127
- - If `spec-manifest.yaml` is already listedno action
128
- - If not → append the following to `.gitignore`:
126
+ Kiểm tra `{manifest_root}/.gitignore`:
127
+ - Nếu `spec-manifest.yaml` đã được liệt không làm gì
128
+ - Nếu chưa → append vào `.gitignore`:
129
129
 
130
130
  ```
131
131
  # Auto-generated — do not commit
132
132
  spec-manifest.yaml
133
133
  ```
134
134
 
135
- Print: `✅ spec-manifest.yaml added to .gitignore`
135
+ In: `✅ spec-manifest.yaml added to .gitignore`
136
136
 
137
137
  ---
138
138
 
@@ -141,7 +141,7 @@ Print: `✅ spec-manifest.yaml added to .gitignore`
141
141
  {{include:steps/report-footer.md}}
142
142
 
143
143
  ```
144
- /generate-spec-manifest Complete
144
+ /generate-spec-manifest Hoàn tất
145
145
  ---
146
146
  Status : ✅ Complete
147
147
  Output : spec-manifest.yaml ({N} features)
@@ -149,16 +149,16 @@ Mode : {umbrella | single}
149
149
  .gitignore : ✅ spec-manifest.yaml excluded
150
150
 
151
151
  Summary:
152
- {N} PRDs scanned ({A} approved, {D} draft)
153
- {N} PDDs matched
154
- {N} BDD files matched (across {S} services)
155
- {N} Tech-doc files matched (across {S} services)
156
-
157
- ⚠️ {N} PRDs with no matching BDD:
158
- - {TICKET-ID} ({domain}) — run /generate-bdd first
159
- ⚠️ {N} PRDs with no matching tech-docs:
160
- - {TICKET-ID} ({domain}) — run /generate-tech-docs first
161
-
162
- Next : Share spec-manifest.yaml path with tester agent
163
- Regenerate anytime: /generate-spec-manifest
152
+ {N} PRD scanned ({A} approved, {D} draft)
153
+ {N} PDD matched
154
+ {N} BDD file matched (across {S} services)
155
+ {N} Tech-doc file matched (across {S} services)
156
+
157
+ ⚠️ {N} PRD không BDD khớp:
158
+ - {TICKET-ID} ({domain}) — chạy /generate-bdd trước
159
+ ⚠️ {N} PRD không tech-docs khớp:
160
+ - {TICKET-ID} ({domain}) — chạy /generate-tech-docs trước
161
+
162
+ Next : Chia sẻ path spec-manifest.yaml với tester agent
163
+ Sinh lại bất cứ lúc nào: /generate-spec-manifest
164
164
  ```