@anhth2/spec-driven-dev-plugin 0.11.0 → 0.14.0
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.
- package/commands/debug.md +47 -7
- package/commands/define-product.md +47 -7
- package/commands/dev-gen-test.md +65 -17
- package/commands/dev-run-test.md +66 -18
- package/commands/dev-run-test.tmpl +1 -1
- package/commands/dev-smoke-test.md +47 -7
- package/commands/fix-bug.md +83 -13
- package/commands/fix-bug.tmpl +36 -6
- package/commands/generate-bdd.md +74 -21
- package/commands/generate-bdd.tmpl +9 -4
- package/commands/generate-code.md +118 -35
- package/commands/generate-code.tmpl +53 -18
- package/commands/generate-design-spec.md +47 -7
- package/commands/generate-prd.md +47 -7
- package/commands/generate-spec-manifest.md +47 -7
- package/commands/generate-tech-docs.md +234 -20
- package/commands/generate-tech-docs.tmpl +187 -13
- package/commands/learn.md +47 -7
- package/commands/map-testids.md +564 -0
- package/commands/map-testids.tmpl +81 -0
- package/commands/propose-scenario.md +78 -18
- package/commands/propose-scenario.tmpl +31 -11
- package/commands/qc-analyze.md +67 -12
- package/commands/qc-analyze.tmpl +20 -5
- package/commands/qc-design-test.md +51 -10
- package/commands/qc-design-test.tmpl +4 -3
- package/commands/qc-plan.md +50 -10
- package/commands/qc-plan.tmpl +3 -3
- package/commands/qc-report.md +60 -8
- package/commands/qc-report.tmpl +13 -1
- package/commands/qc-review.md +49 -9
- package/commands/qc-review.tmpl +2 -2
- package/commands/qc-run-test.md +75 -20
- package/commands/qc-run-test.tmpl +10 -3
- package/commands/refine-prd.md +47 -7
- package/commands/report-bug.md +63 -9
- package/commands/report-bug.tmpl +16 -2
- package/commands/review-code.md +47 -7
- package/commands/review-context.md +47 -7
- package/commands/review-tech-docs.md +50 -9
- package/commands/review-tech-docs.tmpl +3 -2
- package/commands/setup-ai-first.md +37 -4
- package/commands/setup-ai-first.tmpl +2 -2
- package/commands/sync.md +47 -11
- package/commands/sync.tmpl +12 -9
- package/commands/update-framework.md +35 -2
- package/commands/validate-traces.md +98 -40
- package/commands/validate-traces.tmpl +51 -33
- package/core/FRAMEWORK_VERSION +1 -1
- package/core/commands/debug.md +47 -7
- package/core/commands/define-product.md +47 -7
- package/core/commands/dev-gen-test.md +65 -17
- package/core/commands/dev-run-test.md +66 -18
- package/core/commands/dev-smoke-test.md +47 -7
- package/core/commands/fix-bug.md +83 -13
- package/core/commands/generate-bdd.md +74 -21
- package/core/commands/generate-code.md +118 -35
- package/core/commands/generate-design-spec.md +47 -7
- package/core/commands/generate-prd.md +47 -7
- package/core/commands/generate-spec-manifest.md +47 -7
- package/core/commands/generate-tech-docs.md +234 -20
- package/core/commands/learn.md +47 -7
- package/core/commands/map-testids.md +564 -0
- package/core/commands/propose-scenario.md +78 -18
- package/core/commands/qc-analyze.md +67 -12
- package/core/commands/qc-design-test.md +51 -10
- package/core/commands/qc-plan.md +50 -10
- package/core/commands/qc-report.md +60 -8
- package/core/commands/qc-review.md +49 -9
- package/core/commands/qc-run-test.md +75 -20
- package/core/commands/refine-prd.md +47 -7
- package/core/commands/report-bug.md +63 -9
- package/core/commands/review-code.md +47 -7
- package/core/commands/review-context.md +47 -7
- package/core/commands/review-tech-docs.md +50 -9
- package/core/commands/setup-ai-first.md +37 -4
- package/core/commands/sync.md +47 -11
- package/core/commands/update-framework.md +35 -2
- package/core/commands/validate-traces.md +98 -40
- package/core/modules/qc-playwright/stack-profile.yaml +4 -3
- package/core/skills/code/SKILL.md +82 -9
- package/core/skills/debug/SKILL.md +117 -11
- package/core/skills/design-spec/SKILL.md +47 -7
- package/core/skills/discovery/SKILL.md +47 -7
- package/core/skills/prd/SKILL.md +70 -4
- package/core/skills/qc/qa-analyst/acceptance-criteria.md +5 -1
- package/core/skills/qc/qa-analyst/business-rules.md +6 -2
- package/core/skills/qc/qa-analyst/data-flow.md +6 -2
- package/core/skills/qc/qa-analyst/spec-breakdown.md +7 -3
- package/core/skills/qc/qa-designer/e2e/journey.md +1 -1
- package/core/skills/qc/qa-designer/exploratory/charter.md +2 -2
- package/core/skills/qc/qa-designer/exploratory/explore-to-functional.md +1 -1
- package/core/skills/qc/qa-designer/functional/api.md +1 -1
- package/core/skills/qc/qa-designer/functional/gui-feature.md +1 -1
- package/core/skills/qc/qa-designer/functional/gui-screen.md +1 -1
- package/core/skills/qc/qa-designer/integration/api.md +1 -1
- package/core/skills/qc/qa-designer/integration/db.md +1 -1
- package/core/skills/qc/qa-designer/integration/gui.md +1 -1
- package/core/skills/qc/qa-designer/integration/kafka.md +1 -1
- package/core/skills/qc/qa-designer/non-functional.md +1 -1
- package/core/skills/qc/qa-planner/test-plan.md +4 -4
- package/core/skills/qc/qa-runner/exploratory/session.md +2 -2
- package/core/skills/setup-ai-first/SKILL.md +35 -2
- package/core/skills/spec/SKILL.md +70 -4
- package/core/skills/test/SKILL.md +129 -16
- package/core/steps/context-loader.md +12 -5
- package/core/steps/report-footer.md +35 -2
- package/core/steps/trace-mirror.md +18 -10
- package/core/templates/project-context.yaml +27 -6
- package/docs/01-getting-started/core-concepts.md +7 -7
- package/docs/01-getting-started/installation.md +4 -2
- package/docs/01-getting-started/quickstart.md +1 -1
- package/docs/02-guides/README.md +1 -2
- package/docs/02-guides/developer/README.md +1 -1
- package/docs/02-guides/developer/bdd-and-trace.md +10 -8
- package/docs/02-guides/developer/commands.md +4 -4
- package/docs/02-guides/developer/scenarios.md +26 -14
- package/docs/02-guides/developer/workflow.md +81 -19
- package/docs/02-guides/product-owner/README.md +6 -4
- package/docs/02-guides/product-owner/commands.md +1 -1
- package/docs/02-guides/product-owner/scenarios.md +80 -1
- package/docs/02-guides/tester/README.md +13 -10
- package/docs/02-guides/tester/bug-reporting.md +2 -2
- package/docs/02-guides/tester/qc-automation.md +165 -0
- package/docs/02-guides/tester/reading-specs.md +4 -4
- package/docs/02-guides/tester/scenarios.md +5 -5
- package/docs/02-guides/tester/spec-manifest.md +17 -12
- package/docs/02-guides/tester/test-checklist.md +3 -3
- package/docs/02-guides/tester/workflow.md +12 -14
- package/docs/03-concepts/architecture.md +7 -4
- package/docs/03-concepts/pipeline.md +37 -12
- package/docs/03-concepts/traceability.md +19 -18
- package/docs/04-operations/README.md +1 -1
- package/docs/04-operations/bug-flow.md +46 -5
- package/docs/04-operations/sync-and-update.md +186 -24
- package/docs/05-reference/README.md +3 -0
- package/docs/05-reference/command-cheatsheet.md +147 -0
- package/docs/05-reference/commands.md +73 -70
- package/docs/05-reference/modules.md +4 -4
- package/docs/05-reference/trace-schema.md +23 -16
- package/docs/README.md +3 -5
- package/modules/qc-playwright/stack-profile.yaml +4 -3
- package/package.json +1 -1
- package/skills/code/SKILL.md +82 -9
- package/skills/debug/SKILL.md +117 -11
- package/skills/design-spec/SKILL.md +47 -7
- package/skills/discovery/SKILL.md +47 -7
- package/skills/prd/SKILL.md +70 -4
- package/skills/qc/qa-analyst/acceptance-criteria.md +5 -1
- package/skills/qc/qa-analyst/business-rules.md +6 -2
- package/skills/qc/qa-analyst/data-flow.md +6 -2
- package/skills/qc/qa-analyst/spec-breakdown.md +7 -3
- package/skills/qc/qa-designer/e2e/journey.md +1 -1
- package/skills/qc/qa-designer/exploratory/charter.md +2 -2
- package/skills/qc/qa-designer/exploratory/explore-to-functional.md +1 -1
- package/skills/qc/qa-designer/functional/api.md +1 -1
- package/skills/qc/qa-designer/functional/gui-feature.md +1 -1
- package/skills/qc/qa-designer/functional/gui-screen.md +1 -1
- package/skills/qc/qa-designer/integration/api.md +1 -1
- package/skills/qc/qa-designer/integration/db.md +1 -1
- package/skills/qc/qa-designer/integration/gui.md +1 -1
- package/skills/qc/qa-designer/integration/kafka.md +1 -1
- package/skills/qc/qa-designer/non-functional.md +1 -1
- package/skills/qc/qa-planner/test-plan.md +4 -4
- package/skills/qc/qa-runner/exploratory/session.md +2 -2
- package/skills/setup-ai-first/SKILL.md +35 -2
- package/skills/spec/SKILL.md +70 -4
- package/skills/test/SKILL.md +129 -16
- package/steps/context-loader.md +12 -5
- package/steps/report-footer.md +35 -2
- package/steps/trace-mirror.md +18 -10
- package/templates/project-context.yaml +27 -6
- package/docs/02-guides/qc-automation.md +0 -92
|
@@ -63,6 +63,6 @@ Sinh 10-15 câu hỏi cho dev/BA (assumptions, edge case, error handling, securi
|
|
|
63
63
|
|
|
64
64
|
## Output
|
|
65
65
|
|
|
66
|
-
Charter files:
|
|
67
|
-
Ideas file:
|
|
66
|
+
Charter files: {paths.qc_dir}/exploratory/charters/<feature>_01.md, _02.md...
|
|
67
|
+
Ideas file: {paths.qc_dir}/exploratory/ideas/<feature>.md
|
|
68
68
|
Bảng tổng kết: STT | Charter | Tour | Risk | Time-box
|
|
@@ -37,7 +37,7 @@ Chuyển draft → TC chính thức bám **format file `TC_<FEATURE>.md`**:
|
|
|
37
37
|
**Trace** `[BR-xx](REQUIREMENT_ANALYSIS.md#3-business-rules)` (không có BR → `⚠️ Chưa có Business Rule`) · **🚫 Block** `[GAP-xx]` nếu chặn.
|
|
38
38
|
- **Test Data** dạng list · **Steps** `[Action]`/`[Verify]` · **Expected** 1 bullet cụ thể.
|
|
39
39
|
- Phân nhóm GUI/Functional · cuối file: Trace matrix + bảng TC block · bỏ nội dung gạch ngang.
|
|
40
|
-
- Đặt file `
|
|
40
|
+
- Đặt file `{paths.qc_dir}/{UC-ID}/test-cases/TC_<FEATURE>.md`.
|
|
41
41
|
|
|
42
42
|
## Output
|
|
43
43
|
File TC functional + bảng `TC_ID | Title | Priority | Technique | Trace`. Bàn giao `qa-reviewer`.
|
|
@@ -41,5 +41,5 @@ response (schema thành công + các mã lỗi 4xx/5xx + body lỗi) · side-eff
|
|
|
41
41
|
- Mỗi TC bám khối Format; Expected ghi status code + phần body verify; trace BR; gap chặn → 🚫 Block.
|
|
42
42
|
|
|
43
43
|
## Output
|
|
44
|
-
File TC (`TC_<FEATURE>_API.md` hoặc gộp trong file feature) trong `
|
|
44
|
+
File TC (`TC_<FEATURE>_API.md` hoặc gộp trong file feature) trong `{paths.qc_dir}/{UC-ID}/test-cases/`.
|
|
45
45
|
In bảng TC + Trace matrix. Bàn giao `qa-reviewer`.
|
|
@@ -42,5 +42,5 @@ Liệt kê các màn/route + thứ tự điều hướng · state/dữ liệu tr
|
|
|
42
42
|
- Mỗi TC bám khối Format; trace BR; gap chặn → 🚫 Block.
|
|
43
43
|
|
|
44
44
|
## Output
|
|
45
|
-
File `TC_<FEATURE>.md` trong `
|
|
45
|
+
File `TC_<FEATURE>.md` trong `{paths.qc_dir}/{UC-ID}/test-cases/`. In bảng TC + Trace matrix + bảng TC block.
|
|
46
46
|
Bàn giao `qa-reviewer` (test-case).
|
|
@@ -48,5 +48,5 @@ chức năng (input/action/display/nav) · constraint (required/min-max/format/e
|
|
|
48
48
|
- Mỗi TC bám khối Format trên; trace BR; TC chặn bởi gap → 🚫 Block.
|
|
49
49
|
|
|
50
50
|
## Output
|
|
51
|
-
File `TC_<FEATURE>.md` trong `
|
|
51
|
+
File `TC_<FEATURE>.md` trong `{paths.qc_dir}/{UC-ID}/test-cases/`. In bảng `TC_ID | Title | Priority | Tags | Trace`
|
|
52
52
|
+ Trace matrix + bảng TC block. Bàn giao `qa-reviewer` (test-case).
|
|
@@ -39,4 +39,4 @@ Nhóm TC: happy (dữ liệu đúng đầu→cuối) → contract negative (inpu
|
|
|
39
39
|
→ concurrency → điều kiện đồng bộ (đổ/không đổ). Mỗi TC bám Format; trace BR; gap chặn → 🚫 Block.
|
|
40
40
|
|
|
41
41
|
## Output
|
|
42
|
-
File TC integration trong `
|
|
42
|
+
File TC integration trong `{paths.qc_dir}/{UC-ID}/test-cases/`. Ưu tiên P0 cho định tuyến & tiền-dữ liệu. Bàn giao `qa-reviewer`.
|
|
@@ -35,5 +35,5 @@ Nhóm TC: ghi đúng giá trị (happy) → default/null đúng → update khôn
|
|
|
35
35
|
→ audit log → ràng buộc/unique (negative). Mỗi TC bám Format; trace BR; gap chặn → 🚫 Block.
|
|
36
36
|
|
|
37
37
|
## Output
|
|
38
|
-
File TC trong `
|
|
38
|
+
File TC trong `{paths.qc_dir}/{UC-ID}/test-cases/`. Ghi rõ query kiểm tra DB + yêu cầu cleanup;
|
|
39
39
|
không hardcode ID, chuẩn bị/dọn data qua fixture. Bàn giao `qa-reviewer`.
|
|
@@ -37,4 +37,4 @@ Nhóm TC: UI render đúng dữ liệu backend (happy) → empty state → lỗi
|
|
|
37
37
|
Mỗi TC bám Format; trace BR; gap chặn → 🚫 Block.
|
|
38
38
|
|
|
39
39
|
## Output
|
|
40
|
-
File TC trong `
|
|
40
|
+
File TC trong `{paths.qc_dir}/{UC-ID}/test-cases/`. Mỗi TC nêu API liên quan + biểu hiện UI. Bàn giao `qa-reviewer`.
|
|
@@ -37,4 +37,4 @@ Nhóm TC: phát đúng topic+payload (happy) → điều kiện không phát →
|
|
|
37
37
|
Mỗi TC bám Format; trace BR; gap chặn → 🚫 Block.
|
|
38
38
|
|
|
39
39
|
## Output
|
|
40
|
-
File TC trong `
|
|
40
|
+
File TC trong `{paths.qc_dir}/{UC-ID}/test-cases/`. Mỗi TC ghi topic, key, payload cần verify + hành vi consumer. Bàn giao `qa-reviewer`.
|
|
@@ -37,4 +37,4 @@ Mỗi TC bám Format; **Expected có ngưỡng pass + công cụ đo**; đánh d
|
|
|
37
37
|
Trace BR; gap chặn → 🚫 Block.
|
|
38
38
|
|
|
39
39
|
## Output
|
|
40
|
-
File TC non-functional trong `
|
|
40
|
+
File TC non-functional trong `{paths.qc_dir}/{UC-ID}/test-cases/`. Mỗi TC ghi tiêu chí đo + ngưỡng + công cụ. Bàn giao `qa-reviewer`.
|
|
@@ -8,9 +8,9 @@ ported_from: ai-automation-qc-base
|
|
|
8
8
|
|
|
9
9
|
Tổng hợp **output của qa-analyst** thành **Test Plan** cho một feature.
|
|
10
10
|
|
|
11
|
-
**Đầu vào (bắt buộc, chỉ 2 nguồn):**
|
|
12
|
-
1. `
|
|
13
|
-
2. `
|
|
11
|
+
**Đầu vào (bắt buộc, chỉ 2 nguồn — đúng 2 file qa-analyst trả ra):**
|
|
12
|
+
1. `{paths.qc_dir}/{UC-ID}/REQUIREMENT_ANALYSIS.md` — chức năng, BR-xx, AC-xx, data flow (qa-analyst).
|
|
13
|
+
2. `{paths.qc_dir}/{UC-ID}/DOC_GAPS.md` — bảng gap GAP-xx, mức độ, gap Blocker (qa-analyst).
|
|
14
14
|
|
|
15
15
|
## Khi nào trigger
|
|
16
16
|
- "lập test plan cho [Feature]" / "viết test plan"
|
|
@@ -53,7 +53,7 @@ Tổng hợp **output của qa-analyst** thành **Test Plan** cho một feature.
|
|
|
53
53
|
|
|
54
54
|
## Output — Template `TEST_PLAN.md`
|
|
55
55
|
|
|
56
|
-
Đặt tại `
|
|
56
|
+
Đặt tại `{paths.qc_dir}/{UC-ID}/TEST_PLAN.md`:
|
|
57
57
|
|
|
58
58
|
```markdown
|
|
59
59
|
# Test Plan – <Feature>
|
|
@@ -23,7 +23,7 @@ Skill **tự chứa**, 2 mode:
|
|
|
23
23
|
Input: charter + tour + tester + time-box. Tạo file gồm: metadata (date/tester/charter/tour/env/data) ·
|
|
24
24
|
`#SETUP` (bước chuẩn bị) · `#TEST` (5–8 gợi ý theo tour) · `#BUG` template (title, severity, steps,
|
|
25
25
|
expected/actual) · `#QUESTION`, `#IDEA` placeholder · summary cuối session.
|
|
26
|
-
→ `
|
|
26
|
+
→ `{paths.qc_dir}/exploratory/sessions/<YYYY-MM-DD>_<tester>.md`
|
|
27
27
|
|
|
28
28
|
## Mode 2 — Convert Findings
|
|
29
29
|
Input: session note (#BUG + #IDEA).
|
|
@@ -33,4 +33,4 @@ Input: session note (#BUG + #IDEA).
|
|
|
33
33
|
- **Weekly summary** (nếu yêu cầu): overview, top findings, coverage gap, recommendations.
|
|
34
34
|
|
|
35
35
|
## Output
|
|
36
|
-
Mode 1: file session note. Mode 2: bug reports + file TC trong `
|
|
36
|
+
Mode 1: file session note. Mode 2: bug reports + file TC trong `{paths.qc_dir}/{UC-ID}/test-cases/` + summary.
|
|
@@ -126,6 +126,36 @@ Output Artifacts:
|
|
|
126
126
|
|
|
127
127
|
If no files were written (e.g., review or analysis commands) → write `Output Artifacts: none (read-only)`.
|
|
128
128
|
|
|
129
|
+
## Pipeline Position
|
|
130
|
+
|
|
131
|
+
Print a one-line map of the pipeline with the CURRENT command's phase marked `◀ bạn ở đây`,
|
|
132
|
+
so the user always sees where this command sits in the end-to-end flow:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
Discovery → PRD → [Design Spec] → BDD → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Find the current command in this phase legend and mark **its** phase in the map above:
|
|
139
|
+
|
|
140
|
+
| Phase | Commands |
|
|
141
|
+
|-------|----------|
|
|
142
|
+
| Discovery | `/define-product` |
|
|
143
|
+
| PRD | `/generate-prd` · `/refine-prd` · `/review-context` (PRD) |
|
|
144
|
+
| Design Spec | `/generate-design-spec` |
|
|
145
|
+
| BDD | `/generate-bdd` · `/review-context` (BDD) |
|
|
146
|
+
| Tech Design | `/generate-tech-docs` · `/map-testids` · `/review-tech-docs` |
|
|
147
|
+
| Code | `/generate-code` · `/review-code` |
|
|
148
|
+
| Dev Self-Check | `/dev-gen-test` · `/dev-run-test` · `/dev-smoke-test` |
|
|
149
|
+
| QC | `/qc-analyze` · `/qc-plan` · `/qc-design-test` · `/qc-review` · `/qc-run-test` · `/qc-report` |
|
|
150
|
+
| Trace Audit | `/validate-traces` |
|
|
151
|
+
|
|
152
|
+
For a **review command**, also append the 3-step review loop with the current step marked, e.g.:
|
|
153
|
+
`Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume`.
|
|
154
|
+
|
|
155
|
+
**Cross-cutting commands** (`/sync`, `/update-framework`, `/fix-bug`, `/debug`, `/learn`,
|
|
156
|
+
`/report-bug`, `/propose-scenario`, `/generate-spec-manifest`) sit outside the linear pipeline —
|
|
157
|
+
**omit the Pipeline line entirely** for these (do not force-fit them onto the map).
|
|
158
|
+
|
|
129
159
|
## Next Command Suggestion
|
|
130
160
|
|
|
131
161
|
Suggest the logical next command based on workflow phase:
|
|
@@ -167,8 +197,11 @@ Suggest the logical next command based on workflow phase:
|
|
|
167
197
|
Format the footer as:
|
|
168
198
|
```
|
|
169
199
|
---
|
|
170
|
-
Status
|
|
200
|
+
Status : {badge}
|
|
171
201
|
{Output Artifacts block}
|
|
172
|
-
|
|
202
|
+
Pipeline : Discovery → PRD → [BDD ◀ bạn ở đây] → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
203
|
+
(review cmd) Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume
|
|
204
|
+
Next : {suggested command with example arguments}
|
|
173
205
|
```
|
|
206
|
+
*(Omit the `Pipeline` line for cross-cutting commands listed above.)*
|
|
174
207
|
|
package/skills/spec/SKILL.md
CHANGED
|
@@ -197,6 +197,36 @@ Output Artifacts:
|
|
|
197
197
|
|
|
198
198
|
If no files were written (e.g., review or analysis commands) → write `Output Artifacts: none (read-only)`.
|
|
199
199
|
|
|
200
|
+
## Pipeline Position
|
|
201
|
+
|
|
202
|
+
Print a one-line map of the pipeline with the CURRENT command's phase marked `◀ bạn ở đây`,
|
|
203
|
+
so the user always sees where this command sits in the end-to-end flow:
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
Discovery → PRD → [Design Spec] → BDD → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Find the current command in this phase legend and mark **its** phase in the map above:
|
|
210
|
+
|
|
211
|
+
| Phase | Commands |
|
|
212
|
+
|-------|----------|
|
|
213
|
+
| Discovery | `/define-product` |
|
|
214
|
+
| PRD | `/generate-prd` · `/refine-prd` · `/review-context` (PRD) |
|
|
215
|
+
| Design Spec | `/generate-design-spec` |
|
|
216
|
+
| BDD | `/generate-bdd` · `/review-context` (BDD) |
|
|
217
|
+
| Tech Design | `/generate-tech-docs` · `/map-testids` · `/review-tech-docs` |
|
|
218
|
+
| Code | `/generate-code` · `/review-code` |
|
|
219
|
+
| Dev Self-Check | `/dev-gen-test` · `/dev-run-test` · `/dev-smoke-test` |
|
|
220
|
+
| QC | `/qc-analyze` · `/qc-plan` · `/qc-design-test` · `/qc-review` · `/qc-run-test` · `/qc-report` |
|
|
221
|
+
| Trace Audit | `/validate-traces` |
|
|
222
|
+
|
|
223
|
+
For a **review command**, also append the 3-step review loop with the current step marked, e.g.:
|
|
224
|
+
`Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume`.
|
|
225
|
+
|
|
226
|
+
**Cross-cutting commands** (`/sync`, `/update-framework`, `/fix-bug`, `/debug`, `/learn`,
|
|
227
|
+
`/report-bug`, `/propose-scenario`, `/generate-spec-manifest`) sit outside the linear pipeline —
|
|
228
|
+
**omit the Pipeline line entirely** for these (do not force-fit them onto the map).
|
|
229
|
+
|
|
200
230
|
## Next Command Suggestion
|
|
201
231
|
|
|
202
232
|
Suggest the logical next command based on workflow phase:
|
|
@@ -238,10 +268,13 @@ Suggest the logical next command based on workflow phase:
|
|
|
238
268
|
Format the footer as:
|
|
239
269
|
```
|
|
240
270
|
---
|
|
241
|
-
Status
|
|
271
|
+
Status : {badge}
|
|
242
272
|
{Output Artifacts block}
|
|
243
|
-
|
|
273
|
+
Pipeline : Discovery → PRD → [BDD ◀ bạn ở đây] → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
274
|
+
(review cmd) Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume
|
|
275
|
+
Next : {suggested command with example arguments}
|
|
244
276
|
```
|
|
277
|
+
*(Omit the `Pipeline` line for cross-cutting commands listed above.)*
|
|
245
278
|
|
|
246
279
|
|
|
247
280
|
---
|
|
@@ -341,6 +374,36 @@ Output Artifacts:
|
|
|
341
374
|
|
|
342
375
|
If no files were written (e.g., review or analysis commands) → write `Output Artifacts: none (read-only)`.
|
|
343
376
|
|
|
377
|
+
## Pipeline Position
|
|
378
|
+
|
|
379
|
+
Print a one-line map of the pipeline with the CURRENT command's phase marked `◀ bạn ở đây`,
|
|
380
|
+
so the user always sees where this command sits in the end-to-end flow:
|
|
381
|
+
|
|
382
|
+
```
|
|
383
|
+
Discovery → PRD → [Design Spec] → BDD → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Find the current command in this phase legend and mark **its** phase in the map above:
|
|
387
|
+
|
|
388
|
+
| Phase | Commands |
|
|
389
|
+
|-------|----------|
|
|
390
|
+
| Discovery | `/define-product` |
|
|
391
|
+
| PRD | `/generate-prd` · `/refine-prd` · `/review-context` (PRD) |
|
|
392
|
+
| Design Spec | `/generate-design-spec` |
|
|
393
|
+
| BDD | `/generate-bdd` · `/review-context` (BDD) |
|
|
394
|
+
| Tech Design | `/generate-tech-docs` · `/map-testids` · `/review-tech-docs` |
|
|
395
|
+
| Code | `/generate-code` · `/review-code` |
|
|
396
|
+
| Dev Self-Check | `/dev-gen-test` · `/dev-run-test` · `/dev-smoke-test` |
|
|
397
|
+
| QC | `/qc-analyze` · `/qc-plan` · `/qc-design-test` · `/qc-review` · `/qc-run-test` · `/qc-report` |
|
|
398
|
+
| Trace Audit | `/validate-traces` |
|
|
399
|
+
|
|
400
|
+
For a **review command**, also append the 3-step review loop with the current step marked, e.g.:
|
|
401
|
+
`Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume`.
|
|
402
|
+
|
|
403
|
+
**Cross-cutting commands** (`/sync`, `/update-framework`, `/fix-bug`, `/debug`, `/learn`,
|
|
404
|
+
`/report-bug`, `/propose-scenario`, `/generate-spec-manifest`) sit outside the linear pipeline —
|
|
405
|
+
**omit the Pipeline line entirely** for these (do not force-fit them onto the map).
|
|
406
|
+
|
|
344
407
|
## Next Command Suggestion
|
|
345
408
|
|
|
346
409
|
Suggest the logical next command based on workflow phase:
|
|
@@ -382,8 +445,11 @@ Suggest the logical next command based on workflow phase:
|
|
|
382
445
|
Format the footer as:
|
|
383
446
|
```
|
|
384
447
|
---
|
|
385
|
-
Status
|
|
448
|
+
Status : {badge}
|
|
386
449
|
{Output Artifacts block}
|
|
387
|
-
|
|
450
|
+
Pipeline : Discovery → PRD → [BDD ◀ bạn ở đây] → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
451
|
+
(review cmd) Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume
|
|
452
|
+
Next : {suggested command with example arguments}
|
|
388
453
|
```
|
|
454
|
+
*(Omit the `Pipeline` line for cross-cutting commands listed above.)*
|
|
389
455
|
|
package/skills/test/SKILL.md
CHANGED
|
@@ -240,6 +240,36 @@ Output Artifacts:
|
|
|
240
240
|
|
|
241
241
|
If no files were written (e.g., review or analysis commands) → write `Output Artifacts: none (read-only)`.
|
|
242
242
|
|
|
243
|
+
## Pipeline Position
|
|
244
|
+
|
|
245
|
+
Print a one-line map of the pipeline with the CURRENT command's phase marked `◀ bạn ở đây`,
|
|
246
|
+
so the user always sees where this command sits in the end-to-end flow:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
Discovery → PRD → [Design Spec] → BDD → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Find the current command in this phase legend and mark **its** phase in the map above:
|
|
253
|
+
|
|
254
|
+
| Phase | Commands |
|
|
255
|
+
|-------|----------|
|
|
256
|
+
| Discovery | `/define-product` |
|
|
257
|
+
| PRD | `/generate-prd` · `/refine-prd` · `/review-context` (PRD) |
|
|
258
|
+
| Design Spec | `/generate-design-spec` |
|
|
259
|
+
| BDD | `/generate-bdd` · `/review-context` (BDD) |
|
|
260
|
+
| Tech Design | `/generate-tech-docs` · `/map-testids` · `/review-tech-docs` |
|
|
261
|
+
| Code | `/generate-code` · `/review-code` |
|
|
262
|
+
| Dev Self-Check | `/dev-gen-test` · `/dev-run-test` · `/dev-smoke-test` |
|
|
263
|
+
| QC | `/qc-analyze` · `/qc-plan` · `/qc-design-test` · `/qc-review` · `/qc-run-test` · `/qc-report` |
|
|
264
|
+
| Trace Audit | `/validate-traces` |
|
|
265
|
+
|
|
266
|
+
For a **review command**, also append the 3-step review loop with the current step marked, e.g.:
|
|
267
|
+
`Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume`.
|
|
268
|
+
|
|
269
|
+
**Cross-cutting commands** (`/sync`, `/update-framework`, `/fix-bug`, `/debug`, `/learn`,
|
|
270
|
+
`/report-bug`, `/propose-scenario`, `/generate-spec-manifest`) sit outside the linear pipeline —
|
|
271
|
+
**omit the Pipeline line entirely** for these (do not force-fit them onto the map).
|
|
272
|
+
|
|
243
273
|
## Next Command Suggestion
|
|
244
274
|
|
|
245
275
|
Suggest the logical next command based on workflow phase:
|
|
@@ -281,10 +311,13 @@ Suggest the logical next command based on workflow phase:
|
|
|
281
311
|
Format the footer as:
|
|
282
312
|
```
|
|
283
313
|
---
|
|
284
|
-
Status
|
|
314
|
+
Status : {badge}
|
|
285
315
|
{Output Artifacts block}
|
|
286
|
-
|
|
316
|
+
Pipeline : Discovery → PRD → [BDD ◀ bạn ở đây] → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
317
|
+
(review cmd) Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume
|
|
318
|
+
Next : {suggested command with example arguments}
|
|
287
319
|
```
|
|
320
|
+
*(Omit the `Pipeline` line for cross-cutting commands listed above.)*
|
|
288
321
|
|
|
289
322
|
|
|
290
323
|
---
|
|
@@ -331,6 +364,8 @@ Read `.agent/project-context.yaml`. Extract and store:
|
|
|
331
364
|
- `paths.specs_dir` → BDD specs root
|
|
332
365
|
- `paths.prd_dir` → PRD documents root
|
|
333
366
|
- `paths.refinement_dir` → findings/review output dir
|
|
367
|
+
- `paths.qc_dir` → QC automation artifacts root (visible top-level, one subfolder per UC: `{qc_dir}/{UC-ID}/`)
|
|
368
|
+
- `paths.qc_skills_dir` → where qc-* commands load QC skills from (default bundled `.agent/skills/qc`; override to the QC team's own repo/submodule so framework upgrade won't overwrite them)
|
|
334
369
|
- `paths.product_definitions_dir` → product definitions root
|
|
335
370
|
- `paths.domain_knowledge_dir` → domain knowledge root
|
|
336
371
|
- `paths.business_dictionary` → path to business-dictionary.md
|
|
@@ -343,6 +378,8 @@ If `paths` section is absent, use these defaults:
|
|
|
343
378
|
- `specs_dir` = `specs/bdd`
|
|
344
379
|
- `prd_dir` = `specs/prd`
|
|
345
380
|
- `refinement_dir` = `.agent/review`
|
|
381
|
+
- `qc_dir` = `docs`
|
|
382
|
+
- `qc_skills_dir` = `.agent/skills/qc`
|
|
346
383
|
- `product_definitions_dir` = `specs/product-definition`
|
|
347
384
|
- `domain_knowledge_dir` = `specs/domain-knowledge`
|
|
348
385
|
- `business_dictionary` = `specs/domain-knowledge/business-dictionary.md`
|
|
@@ -368,7 +405,7 @@ If `services` section is present:
|
|
|
368
405
|
- If `$ARGUMENTS` contains a path, extract the segment after `prd_dir`
|
|
369
406
|
|
|
370
407
|
**2. Route to service** — if active domain matches a key in `services`:
|
|
371
|
-
- Override `paths.specs_dir` → `services.{domain}.specs_dir`
|
|
408
|
+
- Override `paths.specs_dir` → `services.{domain}.specs_dir` — **only if `setup.spec_source` is NOT set.** When `spec_source` IS set, ALL BDD (web/app/**system**) is a shared cross-team artifact → leave `specs_dir` for step 4 to route to the spec repo; do NOT pin it per-service here.
|
|
372
409
|
- Override `paths.tech_docs_dir` → `services.{domain}.tech_docs_dir` — **only if `setup.spec_source` is NOT set.** When `spec_source` IS set, the tech-design (API contract) is a cross-team artifact and must live in the shared spec repo (handled in step 4), so leave `tech_docs_dir` for step 4 to route — do NOT pin it per-service here.
|
|
373
410
|
- Store `active_service` = `services.{domain}.path`
|
|
374
411
|
- Store `active_service_module` = `services.{domain}.module`
|
|
@@ -379,6 +416,7 @@ If `services` section is present:
|
|
|
379
416
|
- Set `active_service = unresolved`
|
|
380
417
|
|
|
381
418
|
**4. Spec source auto-override** — if `setup.spec_source` is set AND the corresponding path was not already explicitly set in `paths:`:
|
|
419
|
+
- Override `paths.specs_dir` → `{spec_source}/specs/bdd` — **always when `spec_source` is set.** All BDD (web/app/**system**) lives in the shared spec repo so every umbrella (FE/App/BE) reads the same scenarios; the FE tech-design gate + `/generate-code --phase=ui`/`--phase=integration` resolve the `system/` BDD here. *(Per-service `specs/bdd` only when there is no `spec_source`.)*
|
|
382
420
|
- Override `paths.prd_dir` → `{spec_source}/specs/prd`
|
|
383
421
|
- Override `paths.design_spec_dir` → `{spec_source}/specs/design-spec`
|
|
384
422
|
- Override `paths.tech_docs_dir` → `{spec_source}/specs/tech-docs` — **always when `spec_source` is set** (step 2 no longer pins tech-docs per-service in this case). The tech-design IS the cross-team API contract: BE authors it here, and FE/App read it from the same spec submodule at `/generate-code --phase=integration`. *(Per-service tech-docs only happen when there is no `spec_source` — a pure multi-service BE repo with no shared spec module.)*
|
|
@@ -387,8 +425,10 @@ If `services` section is present:
|
|
|
387
425
|
- Override `paths.core_entities` → `{spec_source}/specs/domain-knowledge/core-entities.md`
|
|
388
426
|
- Override `paths.bug_reports_dir` → `{spec_source}/feedback/bug-reports`
|
|
389
427
|
- Override `paths.bdd_proposals_dir` → `{spec_source}/feedback/bdd-proposals`
|
|
428
|
+
- Override `paths.prd_change_requests_dir` → `{spec_source}/feedback/prd-change-requests`
|
|
429
|
+
- Override `paths.trace_dir` → `{spec_source}/.trace` — **always when `spec_source` is set.** Trace TSVs are consolidated in the spec repo (single authoritative location, no per-service split) so the PM/PO has one place to manage status. Code-side commands (`/generate-code`, `/dev-run-test`, `/qc-run-test`) run from `service_root` but **write their trace row into `{spec_source}/.trace`** — like they already push `feedback/` there. *(Per-service `.trace` only when there is no `spec_source`.)*
|
|
390
430
|
|
|
391
|
-
> **Why under `spec_source`:** PRD, design-spec, domain knowledge, the **API contract (tech-docs)**,
|
|
431
|
+
> **Why under `spec_source`:** PRD, design-spec, domain knowledge, **all BDD (web/app/system)**, the **API contract (tech-docs)**, tester feedback, **and the `.trace/` coverage state** are all **cross-team artifacts** — they live in the **shared spec repo** so every umbrella (FE/App/BE) and the PM read one source via `/sync`. The service submodule holds only **code** (+ build/test tooling). `.trace/` and `feedback/` are the dev/QC **write areas** in the spec repo (the PRD/BDD/design-spec/tech-docs there stay read-only for dev/QC — only PO edits those). In single-service mode (no `spec_source`), everything defaults under the repo root — still one repo.
|
|
392
432
|
|
|
393
433
|
---
|
|
394
434
|
|
|
@@ -408,12 +448,12 @@ When `active_service` has been resolved to a real path in Step 1.5 (e.g., `user-
|
|
|
408
448
|
|----------|--------|
|
|
409
449
|
| `conventions.test_command` | service's `conventions.test_command` |
|
|
410
450
|
| `conventions.build_command` | service's `conventions.build_command` |
|
|
411
|
-
| `paths.trace_dir` | `{active_service}/{service paths.trace_dir}`
|
|
412
|
-
| `paths.specs_dir` | `{active_service}/{service paths.specs_dir}`
|
|
451
|
+
| `paths.trace_dir` | **If `spec_source` is set → keep the Step 4 spec-repo route (`{spec_source}/.trace`); ignore any service-level `trace_dir`.** Only when there is no `spec_source`: `{active_service}/{service paths.trace_dir}` (default `{active_service}/.trace`). |
|
|
452
|
+
| `paths.specs_dir` | **If `spec_source` is set → keep the Step 4 spec-repo route (`{spec_source}/specs/bdd`); ignore any service-level `specs_dir`** (BDD is cross-team, never per-service in this mode). Only when there is no `spec_source`: `{active_service}/{service paths.specs_dir}` if set, else the Step 1.5 override. |
|
|
413
453
|
|
|
414
454
|
**3. Store** `service_root = {active_service}` as the working directory anchor for all downstream commands:
|
|
415
455
|
- Shell commands (`/dev-run-test`, `/dev-gen-test`) run **from within** `service_root`
|
|
416
|
-
-
|
|
456
|
+
- **Source/test files** are written relative to `service_root`; **trace TSVs** are written to `{paths.trace_dir}` (the spec repo when `spec_source` is set — a cross-repo write, committed/pushed to the spec submodule like `feedback/`).
|
|
417
457
|
|
|
418
458
|
**4. If service config not found** — keep umbrella defaults, still set `service_root = {active_service}` (path anchor is always needed even without a config override).
|
|
419
459
|
|
|
@@ -671,6 +711,36 @@ Output Artifacts:
|
|
|
671
711
|
|
|
672
712
|
If no files were written (e.g., review or analysis commands) → write `Output Artifacts: none (read-only)`.
|
|
673
713
|
|
|
714
|
+
## Pipeline Position
|
|
715
|
+
|
|
716
|
+
Print a one-line map of the pipeline with the CURRENT command's phase marked `◀ bạn ở đây`,
|
|
717
|
+
so the user always sees where this command sits in the end-to-end flow:
|
|
718
|
+
|
|
719
|
+
```
|
|
720
|
+
Discovery → PRD → [Design Spec] → BDD → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
Find the current command in this phase legend and mark **its** phase in the map above:
|
|
724
|
+
|
|
725
|
+
| Phase | Commands |
|
|
726
|
+
|-------|----------|
|
|
727
|
+
| Discovery | `/define-product` |
|
|
728
|
+
| PRD | `/generate-prd` · `/refine-prd` · `/review-context` (PRD) |
|
|
729
|
+
| Design Spec | `/generate-design-spec` |
|
|
730
|
+
| BDD | `/generate-bdd` · `/review-context` (BDD) |
|
|
731
|
+
| Tech Design | `/generate-tech-docs` · `/map-testids` · `/review-tech-docs` |
|
|
732
|
+
| Code | `/generate-code` · `/review-code` |
|
|
733
|
+
| Dev Self-Check | `/dev-gen-test` · `/dev-run-test` · `/dev-smoke-test` |
|
|
734
|
+
| QC | `/qc-analyze` · `/qc-plan` · `/qc-design-test` · `/qc-review` · `/qc-run-test` · `/qc-report` |
|
|
735
|
+
| Trace Audit | `/validate-traces` |
|
|
736
|
+
|
|
737
|
+
For a **review command**, also append the 3-step review loop with the current step marked, e.g.:
|
|
738
|
+
`Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume`.
|
|
739
|
+
|
|
740
|
+
**Cross-cutting commands** (`/sync`, `/update-framework`, `/fix-bug`, `/debug`, `/learn`,
|
|
741
|
+
`/report-bug`, `/propose-scenario`, `/generate-spec-manifest`) sit outside the linear pipeline —
|
|
742
|
+
**omit the Pipeline line entirely** for these (do not force-fit them onto the map).
|
|
743
|
+
|
|
674
744
|
## Next Command Suggestion
|
|
675
745
|
|
|
676
746
|
Suggest the logical next command based on workflow phase:
|
|
@@ -712,10 +782,13 @@ Suggest the logical next command based on workflow phase:
|
|
|
712
782
|
Format the footer as:
|
|
713
783
|
```
|
|
714
784
|
---
|
|
715
|
-
Status
|
|
785
|
+
Status : {badge}
|
|
716
786
|
{Output Artifacts block}
|
|
717
|
-
|
|
787
|
+
Pipeline : Discovery → PRD → [BDD ◀ bạn ở đây] → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
788
|
+
(review cmd) Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume
|
|
789
|
+
Next : {suggested command with example arguments}
|
|
718
790
|
```
|
|
791
|
+
*(Omit the `Pipeline` line for cross-cutting commands listed above.)*
|
|
719
792
|
|
|
720
793
|
|
|
721
794
|
---
|
|
@@ -765,6 +838,8 @@ Read `.agent/project-context.yaml`. Extract and store:
|
|
|
765
838
|
- `paths.specs_dir` → BDD specs root
|
|
766
839
|
- `paths.prd_dir` → PRD documents root
|
|
767
840
|
- `paths.refinement_dir` → findings/review output dir
|
|
841
|
+
- `paths.qc_dir` → QC automation artifacts root (visible top-level, one subfolder per UC: `{qc_dir}/{UC-ID}/`)
|
|
842
|
+
- `paths.qc_skills_dir` → where qc-* commands load QC skills from (default bundled `.agent/skills/qc`; override to the QC team's own repo/submodule so framework upgrade won't overwrite them)
|
|
768
843
|
- `paths.product_definitions_dir` → product definitions root
|
|
769
844
|
- `paths.domain_knowledge_dir` → domain knowledge root
|
|
770
845
|
- `paths.business_dictionary` → path to business-dictionary.md
|
|
@@ -777,6 +852,8 @@ If `paths` section is absent, use these defaults:
|
|
|
777
852
|
- `specs_dir` = `specs/bdd`
|
|
778
853
|
- `prd_dir` = `specs/prd`
|
|
779
854
|
- `refinement_dir` = `.agent/review`
|
|
855
|
+
- `qc_dir` = `docs`
|
|
856
|
+
- `qc_skills_dir` = `.agent/skills/qc`
|
|
780
857
|
- `product_definitions_dir` = `specs/product-definition`
|
|
781
858
|
- `domain_knowledge_dir` = `specs/domain-knowledge`
|
|
782
859
|
- `business_dictionary` = `specs/domain-knowledge/business-dictionary.md`
|
|
@@ -802,7 +879,7 @@ If `services` section is present:
|
|
|
802
879
|
- If `$ARGUMENTS` contains a path, extract the segment after `prd_dir`
|
|
803
880
|
|
|
804
881
|
**2. Route to service** — if active domain matches a key in `services`:
|
|
805
|
-
- Override `paths.specs_dir` → `services.{domain}.specs_dir`
|
|
882
|
+
- Override `paths.specs_dir` → `services.{domain}.specs_dir` — **only if `setup.spec_source` is NOT set.** When `spec_source` IS set, ALL BDD (web/app/**system**) is a shared cross-team artifact → leave `specs_dir` for step 4 to route to the spec repo; do NOT pin it per-service here.
|
|
806
883
|
- Override `paths.tech_docs_dir` → `services.{domain}.tech_docs_dir` — **only if `setup.spec_source` is NOT set.** When `spec_source` IS set, the tech-design (API contract) is a cross-team artifact and must live in the shared spec repo (handled in step 4), so leave `tech_docs_dir` for step 4 to route — do NOT pin it per-service here.
|
|
807
884
|
- Store `active_service` = `services.{domain}.path`
|
|
808
885
|
- Store `active_service_module` = `services.{domain}.module`
|
|
@@ -813,6 +890,7 @@ If `services` section is present:
|
|
|
813
890
|
- Set `active_service = unresolved`
|
|
814
891
|
|
|
815
892
|
**4. Spec source auto-override** — if `setup.spec_source` is set AND the corresponding path was not already explicitly set in `paths:`:
|
|
893
|
+
- Override `paths.specs_dir` → `{spec_source}/specs/bdd` — **always when `spec_source` is set.** All BDD (web/app/**system**) lives in the shared spec repo so every umbrella (FE/App/BE) reads the same scenarios; the FE tech-design gate + `/generate-code --phase=ui`/`--phase=integration` resolve the `system/` BDD here. *(Per-service `specs/bdd` only when there is no `spec_source`.)*
|
|
816
894
|
- Override `paths.prd_dir` → `{spec_source}/specs/prd`
|
|
817
895
|
- Override `paths.design_spec_dir` → `{spec_source}/specs/design-spec`
|
|
818
896
|
- Override `paths.tech_docs_dir` → `{spec_source}/specs/tech-docs` — **always when `spec_source` is set** (step 2 no longer pins tech-docs per-service in this case). The tech-design IS the cross-team API contract: BE authors it here, and FE/App read it from the same spec submodule at `/generate-code --phase=integration`. *(Per-service tech-docs only happen when there is no `spec_source` — a pure multi-service BE repo with no shared spec module.)*
|
|
@@ -821,8 +899,10 @@ If `services` section is present:
|
|
|
821
899
|
- Override `paths.core_entities` → `{spec_source}/specs/domain-knowledge/core-entities.md`
|
|
822
900
|
- Override `paths.bug_reports_dir` → `{spec_source}/feedback/bug-reports`
|
|
823
901
|
- Override `paths.bdd_proposals_dir` → `{spec_source}/feedback/bdd-proposals`
|
|
902
|
+
- Override `paths.prd_change_requests_dir` → `{spec_source}/feedback/prd-change-requests`
|
|
903
|
+
- Override `paths.trace_dir` → `{spec_source}/.trace` — **always when `spec_source` is set.** Trace TSVs are consolidated in the spec repo (single authoritative location, no per-service split) so the PM/PO has one place to manage status. Code-side commands (`/generate-code`, `/dev-run-test`, `/qc-run-test`) run from `service_root` but **write their trace row into `{spec_source}/.trace`** — like they already push `feedback/` there. *(Per-service `.trace` only when there is no `spec_source`.)*
|
|
824
904
|
|
|
825
|
-
> **Why under `spec_source`:** PRD, design-spec, domain knowledge, the **API contract (tech-docs)**,
|
|
905
|
+
> **Why under `spec_source`:** PRD, design-spec, domain knowledge, **all BDD (web/app/system)**, the **API contract (tech-docs)**, tester feedback, **and the `.trace/` coverage state** are all **cross-team artifacts** — they live in the **shared spec repo** so every umbrella (FE/App/BE) and the PM read one source via `/sync`. The service submodule holds only **code** (+ build/test tooling). `.trace/` and `feedback/` are the dev/QC **write areas** in the spec repo (the PRD/BDD/design-spec/tech-docs there stay read-only for dev/QC — only PO edits those). In single-service mode (no `spec_source`), everything defaults under the repo root — still one repo.
|
|
826
906
|
|
|
827
907
|
---
|
|
828
908
|
|
|
@@ -842,12 +922,12 @@ When `active_service` has been resolved to a real path in Step 1.5 (e.g., `user-
|
|
|
842
922
|
|----------|--------|
|
|
843
923
|
| `conventions.test_command` | service's `conventions.test_command` |
|
|
844
924
|
| `conventions.build_command` | service's `conventions.build_command` |
|
|
845
|
-
| `paths.trace_dir` | `{active_service}/{service paths.trace_dir}`
|
|
846
|
-
| `paths.specs_dir` | `{active_service}/{service paths.specs_dir}`
|
|
925
|
+
| `paths.trace_dir` | **If `spec_source` is set → keep the Step 4 spec-repo route (`{spec_source}/.trace`); ignore any service-level `trace_dir`.** Only when there is no `spec_source`: `{active_service}/{service paths.trace_dir}` (default `{active_service}/.trace`). |
|
|
926
|
+
| `paths.specs_dir` | **If `spec_source` is set → keep the Step 4 spec-repo route (`{spec_source}/specs/bdd`); ignore any service-level `specs_dir`** (BDD is cross-team, never per-service in this mode). Only when there is no `spec_source`: `{active_service}/{service paths.specs_dir}` if set, else the Step 1.5 override. |
|
|
847
927
|
|
|
848
928
|
**3. Store** `service_root = {active_service}` as the working directory anchor for all downstream commands:
|
|
849
929
|
- Shell commands (`/dev-run-test`, `/dev-gen-test`) run **from within** `service_root`
|
|
850
|
-
-
|
|
930
|
+
- **Source/test files** are written relative to `service_root`; **trace TSVs** are written to `{paths.trace_dir}` (the spec repo when `spec_source` is set — a cross-repo write, committed/pushed to the spec submodule like `feedback/`).
|
|
851
931
|
|
|
852
932
|
**4. If service config not found** — keep umbrella defaults, still set `service_root = {active_service}` (path anchor is always needed even without a config override).
|
|
853
933
|
|
|
@@ -1120,6 +1200,36 @@ Output Artifacts:
|
|
|
1120
1200
|
|
|
1121
1201
|
If no files were written (e.g., review or analysis commands) → write `Output Artifacts: none (read-only)`.
|
|
1122
1202
|
|
|
1203
|
+
## Pipeline Position
|
|
1204
|
+
|
|
1205
|
+
Print a one-line map of the pipeline with the CURRENT command's phase marked `◀ bạn ở đây`,
|
|
1206
|
+
so the user always sees where this command sits in the end-to-end flow:
|
|
1207
|
+
|
|
1208
|
+
```
|
|
1209
|
+
Discovery → PRD → [Design Spec] → BDD → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
Find the current command in this phase legend and mark **its** phase in the map above:
|
|
1213
|
+
|
|
1214
|
+
| Phase | Commands |
|
|
1215
|
+
|-------|----------|
|
|
1216
|
+
| Discovery | `/define-product` |
|
|
1217
|
+
| PRD | `/generate-prd` · `/refine-prd` · `/review-context` (PRD) |
|
|
1218
|
+
| Design Spec | `/generate-design-spec` |
|
|
1219
|
+
| BDD | `/generate-bdd` · `/review-context` (BDD) |
|
|
1220
|
+
| Tech Design | `/generate-tech-docs` · `/map-testids` · `/review-tech-docs` |
|
|
1221
|
+
| Code | `/generate-code` · `/review-code` |
|
|
1222
|
+
| Dev Self-Check | `/dev-gen-test` · `/dev-run-test` · `/dev-smoke-test` |
|
|
1223
|
+
| QC | `/qc-analyze` · `/qc-plan` · `/qc-design-test` · `/qc-review` · `/qc-run-test` · `/qc-report` |
|
|
1224
|
+
| Trace Audit | `/validate-traces` |
|
|
1225
|
+
|
|
1226
|
+
For a **review command**, also append the 3-step review loop with the current step marked, e.g.:
|
|
1227
|
+
`Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume`.
|
|
1228
|
+
|
|
1229
|
+
**Cross-cutting commands** (`/sync`, `/update-framework`, `/fix-bug`, `/debug`, `/learn`,
|
|
1230
|
+
`/report-bug`, `/propose-scenario`, `/generate-spec-manifest`) sit outside the linear pipeline —
|
|
1231
|
+
**omit the Pipeline line entirely** for these (do not force-fit them onto the map).
|
|
1232
|
+
|
|
1123
1233
|
## Next Command Suggestion
|
|
1124
1234
|
|
|
1125
1235
|
Suggest the logical next command based on workflow phase:
|
|
@@ -1161,8 +1271,11 @@ Suggest the logical next command based on workflow phase:
|
|
|
1161
1271
|
Format the footer as:
|
|
1162
1272
|
```
|
|
1163
1273
|
---
|
|
1164
|
-
Status
|
|
1274
|
+
Status : {badge}
|
|
1165
1275
|
{Output Artifacts block}
|
|
1166
|
-
|
|
1276
|
+
Pipeline : Discovery → PRD → [BDD ◀ bạn ở đây] → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
1277
|
+
(review cmd) Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume
|
|
1278
|
+
Next : {suggested command with example arguments}
|
|
1167
1279
|
```
|
|
1280
|
+
*(Omit the `Pipeline` line for cross-cutting commands listed above.)*
|
|
1168
1281
|
|