@edupia-tutor/spec-driven-docs 0.14.5 → 0.14.7
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/bin/index.js +1 -1
- package/commands/debug.md +1 -1
- package/commands/define-product.md +1 -1
- package/commands/dev-gen-test.md +1 -1
- package/commands/dev-run-test.md +1 -1
- package/commands/dev-smoke-test.md +1 -1
- package/commands/fix-bug.md +1 -1
- package/commands/generate-bdd.md +16 -2
- package/commands/generate-bdd.tmpl +15 -1
- package/commands/generate-code.md +1 -1
- package/commands/generate-design-spec.md +15 -1
- package/commands/generate-design-spec.tmpl +14 -0
- package/commands/generate-prd.md +2 -1
- package/commands/generate-prd.tmpl +1 -0
- package/commands/generate-spec-manifest.md +1 -1
- package/commands/generate-tech-docs.md +1 -1
- package/commands/learn.md +1 -1
- package/commands/map-testids.md +1 -1
- package/commands/propose-scenario.md +1 -1
- package/commands/qc-analyze.md +1 -1
- package/commands/qc-design-test.md +1 -1
- package/commands/qc-plan.md +1 -1
- package/commands/qc-report.md +1 -1
- package/commands/qc-review.md +1 -1
- package/commands/qc-run-test.md +1 -1
- package/commands/refine-prd.md +19 -10
- package/commands/refine-prd.tmpl +18 -9
- package/commands/report-bug.md +1 -1
- package/commands/review-code.md +1 -1
- package/commands/review-context.md +124 -34
- package/commands/review-context.tmpl +87 -33
- package/commands/review-tech-docs.md +1 -1
- package/commands/setup-ai-first.md +10 -10
- package/commands/setup-ai-first.tmpl +9 -9
- package/commands/sync.md +1 -1
- package/commands/update-framework.md +1 -1
- package/commands/validate-traces.md +1 -1
- package/core/FRAMEWORK_VERSION +1 -1
- package/core/commands/debug.md +1 -1
- package/core/commands/define-product.md +1 -1
- package/core/commands/dev-gen-test.md +1 -1
- package/core/commands/dev-run-test.md +1 -1
- package/core/commands/dev-smoke-test.md +1 -1
- package/core/commands/fix-bug.md +1 -1
- package/core/commands/generate-bdd.md +16 -2
- package/core/commands/generate-code.md +1 -1
- package/core/commands/generate-design-spec.md +15 -1
- package/core/commands/generate-prd.md +2 -1
- package/core/commands/generate-spec-manifest.md +1 -1
- package/core/commands/generate-tech-docs.md +1 -1
- package/core/commands/learn.md +1 -1
- package/core/commands/map-testids.md +1 -1
- package/core/commands/propose-scenario.md +1 -1
- package/core/commands/qc-analyze.md +1 -1
- package/core/commands/qc-design-test.md +1 -1
- package/core/commands/qc-plan.md +1 -1
- package/core/commands/qc-report.md +1 -1
- package/core/commands/qc-review.md +1 -1
- package/core/commands/qc-run-test.md +1 -1
- package/core/commands/refine-prd.md +19 -10
- package/core/commands/report-bug.md +1 -1
- package/core/commands/review-code.md +1 -1
- package/core/commands/review-context.md +124 -34
- package/core/commands/review-tech-docs.md +1 -1
- package/core/commands/setup-ai-first.md +10 -10
- package/core/commands/sync.md +1 -1
- package/core/commands/update-framework.md +1 -1
- package/core/commands/validate-traces.md +1 -1
- package/core/skills/code/SKILL.md +2 -2
- package/core/skills/debug/SKILL.md +3 -3
- package/core/skills/design-spec/SKILL.md +1 -1
- package/core/skills/prd/SKILL.md +1 -1
- package/core/skills/setup-ai-first/SKILL.md +1 -1
- package/core/skills/spec/SKILL.md +2 -2
- package/core/skills/test/SKILL.md +3 -3
- package/core/steps/report-footer.md +1 -1
- package/core/templates/project-context.yaml +2 -2
- package/docs/01-getting-started/core-concepts.md +1 -1
- package/docs/02-guides/developer/bdd-and-trace.md +3 -3
- package/docs/02-guides/developer/scenarios.md +2 -2
- package/docs/02-guides/developer/workflow.md +1 -1
- package/docs/02-guides/product-owner/README.md +2 -2
- package/docs/02-guides/product-owner/handoff-checklist.md +5 -5
- package/docs/02-guides/product-owner/scenarios.md +19 -17
- package/docs/03-concepts/traceability.md +3 -3
- package/docs/04-operations/sync-and-update.md +3 -3
- package/docs/05-reference/command-cheatsheet.md +1 -1
- package/package.json +1 -1
- package/skills/code/SKILL.md +2 -2
- package/skills/debug/SKILL.md +3 -3
- package/skills/design-spec/SKILL.md +1 -1
- package/skills/prd/SKILL.md +1 -1
- package/skills/setup-ai-first/SKILL.md +1 -1
- package/skills/spec/SKILL.md +2 -2
- package/skills/test/SKILL.md +3 -3
- package/steps/report-footer.md +1 -1
- package/templates/project-context.yaml +2 -2
|
@@ -57,11 +57,11 @@ Framework dùng metadata `@trace.*` để liên kết PRD → BDD → Code. (Chi
|
|
|
57
57
|
|
|
58
58
|
| Field | Vị trí | Ý nghĩa |
|
|
59
59
|
|---|---|---|
|
|
60
|
-
|
|
|
60
|
+
| `Domain` | bảng Metadata PRD | Domain của feature (auth, payment, ...) — dùng để route vào đúng service submodule |
|
|
61
61
|
| `@trace.module` | BDD / Tech Doc header | Module trong codebase sẽ implement |
|
|
62
62
|
| `@trace.prd` | BDD / Tech Doc header | Link về PRD gốc |
|
|
63
63
|
| `@trace.bdd` | Code comment / test | Link về BDD scenario |
|
|
64
|
-
|
|
|
64
|
+
| `Status` | bảng Metadata PRD | `draft` / `approved` — chỉ code khi `approved` |
|
|
65
65
|
| `dev_selftest` | Trace TSV | `pass` / `fail` / `not_run` — kết quả dev self-check, set bởi `/dev-run-test`. Surfaced trong Living Docs để QC biết dev đã chạy self-check — **KHÔNG phải coverage chính thức** |
|
|
66
66
|
| `dev_selftest_at` | Trace TSV | Timestamp lần chạy `/dev-run-test` gần nhất |
|
|
67
67
|
| `qc_status` | Trace TSV | `pass` / `fail` / `skip` / `not_run` — kết quả **QC chính thức**, set bởi `/qc-run-test` (do QC chạy, KHÔNG phải dev). Orthogonal với `dev_selftest` và với coverage `status` |
|
|
@@ -70,7 +70,7 @@ Framework dùng metadata `@trace.*` để liên kết PRD → BDD → Code. (Chi
|
|
|
70
70
|
### Ví dụ trace chain hoàn chỉnh
|
|
71
71
|
|
|
72
72
|
```
|
|
73
|
-
specs/auth/login/{TICKET-ID}-login.md ←
|
|
73
|
+
specs/auth/login/{TICKET-ID}-login.md ← Metadata: Domain: auth, Status: approved
|
|
74
74
|
↓
|
|
75
75
|
specs/auth/login/bdd/system/FT-001-UC1-login.feature ← @trace.prd: FT-001 · web/app/system riêng (system tổng hợp từ web+app)
|
|
76
76
|
↓
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
(lấy PRD + BDD mới nhất từ PO)
|
|
22
22
|
|
|
23
23
|
2. /review-context my-project-specs/specs/payment/checkout/{TICKET-ID}-checkout.md
|
|
24
|
-
→ Kiểm tra
|
|
24
|
+
→ Kiểm tra Status = approved (bảng Metadata PRD; không code khi còn draft)
|
|
25
25
|
→ Đọc kỹ AC, UC, BR
|
|
26
26
|
|
|
27
27
|
3. Đọc BDD tương ứng theo platform của mình:
|
|
@@ -343,7 +343,7 @@ code . ← hoặc claude .
|
|
|
343
343
|
# → sync Living Docs panel
|
|
344
344
|
|
|
345
345
|
# 4. Framework tự detect umbrella mode từ project-context.yaml
|
|
346
|
-
# Khi chạy /review-context với PRD có
|
|
346
|
+
# Khi chạy /review-context với PRD có Domain: be (bảng Metadata)
|
|
347
347
|
# → CODE route tới mass-product-be/ · BDD đọc từ spec repo mass-product-spec/specs/{domain}/{prd-slug}/bdd/ (spec_source set)
|
|
348
348
|
```
|
|
349
349
|
|
|
@@ -45,7 +45,7 @@ Nhận thông báo PRD + BDD mới từ PO
|
|
|
45
45
|
│
|
|
46
46
|
▼
|
|
47
47
|
/review-context {prd-file}
|
|
48
|
-
→ Kiểm tra
|
|
48
|
+
→ Kiểm tra Domain, Status = approved (bảng Metadata PRD)
|
|
49
49
|
→ Đọc hiểu AC, UC, BR trong PRD
|
|
50
50
|
→ Đọc BDD tương ứng trong specs/{domain}/{prd-slug}/bdd/{platform}/
|
|
51
51
|
→ Nếu có gì không rõ: hỏi PO TRƯỚC khi tiếp tục
|
|
@@ -32,8 +32,8 @@ PO/BA Dev team
|
|
|
32
32
|
|
|
33
33
|
**PO/BA chịu trách nhiệm:**
|
|
34
34
|
- Đảm bảo PRD platform-agnostic (không chứa UI details hay API specs)
|
|
35
|
-
- Đặt
|
|
36
|
-
- Cập nhật
|
|
35
|
+
- Đặt row `Domain` (bảng Metadata) đúng để dev team routing hoạt động
|
|
36
|
+
- Cập nhật `Status: approved` (bảng Metadata) trước khi handoff
|
|
37
37
|
- **Generate BDD cho tất cả platforms** theo thứ tự **outside-in: web → app → system** — System BDD được **tổng hợp từ web+app BDD** (project chỉ-BE thì system gen thẳng từ PRD). Xem [scenarios](scenarios.md).
|
|
38
38
|
- Thông báo dev team khi có PRD hoặc BDD mới/update
|
|
39
39
|
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
Trước khi thông báo dev team bắt đầu, kiểm tra:
|
|
6
6
|
|
|
7
7
|
**Metadata:**
|
|
8
|
-
- [ ]
|
|
9
|
-
- [ ]
|
|
10
|
-
- [ ]
|
|
11
|
-
- [ ]
|
|
8
|
+
- [ ] Row `Ticket` (bảng Metadata) có và đúng format (vd: FEAT-01)
|
|
9
|
+
- [ ] Row `Domain` có và khớp với domain names đã thống nhất với dev team
|
|
10
|
+
- [ ] Row `Status` = `approved` (không phải draft)
|
|
11
|
+
- [ ] Row `Version` có (vd: 1.0)
|
|
12
12
|
|
|
13
13
|
**Nội dung PRD:**
|
|
14
14
|
- [ ] Tất cả `{{PLACEHOLDER}}` đã được điền
|
|
@@ -23,7 +23,7 @@ Trước khi thông báo dev team bắt đầu, kiểm tra:
|
|
|
23
23
|
- [ ] Không có P3 conflict với PRD khác trong cùng domain
|
|
24
24
|
|
|
25
25
|
**Cho FE/App thêm:**
|
|
26
|
-
- [ ] Design Spec đã tạo và
|
|
26
|
+
- [ ] Design Spec đã tạo và `Status: approved` trong Metadata (không còn `draft`)
|
|
27
27
|
- [ ] Mỗi screen có Figma link node-level (`?node-id=`) — không screen nào bị flag ❌ Missing
|
|
28
28
|
- [ ] Designer đã sign-off (gate này bị BLOCKED nếu còn screen thiếu node-id link)
|
|
29
29
|
|
|
@@ -40,13 +40,13 @@ Mở findings file, xem xét từng finding: `accepted` → apply · `modified`
|
|
|
40
40
|
```
|
|
41
41
|
/review-context specs/auth/FEAT-01-login/FEAT-01-login.md
|
|
42
42
|
```
|
|
43
|
-
Kiểm tra:
|
|
43
|
+
Kiểm tra: `Status`, `Domain` (bảng Metadata), completeness.
|
|
44
44
|
|
|
45
45
|
**Bước 5 — Approve PRD:**
|
|
46
46
|
```yaml
|
|
47
|
-
# Trong
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
# Trong bảng Metadata của PRD, cập nhật:
|
|
48
|
+
# | **Status** | approved |
|
|
49
|
+
# | **Version** | 1.0 |
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
**Bước 6 — Tạo Design Spec (FE/App):**
|
|
@@ -55,7 +55,7 @@ Kiểm tra: `@trace.status`, `@trace.domain`, completeness.
|
|
|
55
55
|
```
|
|
56
56
|
Agent hỏi platform (web / app). PO phải cung cấp **Figma link node-level** (URL chứa `?node-id=`, lấy bằng right-click vào frame → "Copy link to selection") cho **mỗi screen**. Screen nào thiếu link → bị flag ❌ Missing, Status giữ `draft`, `/generate-bdd` bị BLOCKED cho đến khi đủ link.
|
|
57
57
|
|
|
58
|
-
Sau khi Designer review + confirm đủ Figma node-id links →
|
|
58
|
+
Sau khi Designer review + confirm đủ Figma node-id links → đặt `Status: approved` trong Metadata Design Spec.
|
|
59
59
|
|
|
60
60
|
**Bước 7 — Generate BDD:**
|
|
61
61
|
```
|
|
@@ -84,7 +84,7 @@ git push
|
|
|
84
84
|
|
|
85
85
|
```
|
|
86
86
|
/define-product → product definition
|
|
87
|
-
/generate-prd → PRD với
|
|
87
|
+
/generate-prd → PRD với Domain: auth (bảng Metadata)
|
|
88
88
|
/review-context --fix → auto-fix
|
|
89
89
|
/generate-design-spec → design spec cho FE (nếu có designer)
|
|
90
90
|
/generate-bdd → web → specs/auth/FEAT-01-login/bdd/web/
|
|
@@ -115,7 +115,7 @@ git push
|
|
|
115
115
|
```
|
|
116
116
|
Output: `specs/auth/FEAT-01-login/design-spec/FEAT-01-design-spec-web.md`
|
|
117
117
|
|
|
118
|
-
Mỗi screen cần Figma link node-id. Screen thiếu → flag ❌ Missing, BLOCKED. Sau khi Designer review →
|
|
118
|
+
Mỗi screen cần Figma link node-id. Screen thiếu → flag ❌ Missing, BLOCKED. Sau khi Designer review → đặt `Status: approved` trong Metadata Design Spec.
|
|
119
119
|
|
|
120
120
|
**Bước 2 — Generate BDD:**
|
|
121
121
|
```
|
|
@@ -162,7 +162,8 @@ Lặp lại cho đến khi `recommendation: APPROVED`.
|
|
|
162
162
|
|
|
163
163
|
**Bước 1 — Đổi status về draft:**
|
|
164
164
|
```yaml
|
|
165
|
-
|
|
165
|
+
# Trong bảng Metadata PRD:
|
|
166
|
+
# | **Status** | draft |
|
|
166
167
|
```
|
|
167
168
|
|
|
168
169
|
**Bước 2 — Sửa nội dung:**
|
|
@@ -178,9 +179,9 @@ Lặp lại cho đến khi `recommendation: APPROVED`.
|
|
|
178
179
|
|
|
179
180
|
**Bước 4 — Approve và thông báo:**
|
|
180
181
|
```yaml
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
# Trong bảng Metadata PRD:
|
|
183
|
+
# | **Status** | approved |
|
|
184
|
+
# | **Version** | 1.1 | # minor bump (chỉ thêm AC); major (2.0) nếu thay đổi cơ bản
|
|
184
185
|
```
|
|
185
186
|
```bash
|
|
186
187
|
git add specs/auth/FEAT-01-login/FEAT-01-login.md
|
|
@@ -225,7 +226,7 @@ services:
|
|
|
225
226
|
specs_dir: "loyalty-service/specs/bdd"
|
|
226
227
|
```
|
|
227
228
|
|
|
228
|
-
**Bước 3 — Viết PRD bình thường với
|
|
229
|
+
**Bước 3 — Viết PRD bình thường với `Domain: loyalty` (bảng Metadata).**
|
|
229
230
|
|
|
230
231
|
> **Lưu ý:** Nếu dev team chưa cập nhật services config → `/review-context` P0 check sẽ cảnh báo domain không match.
|
|
231
232
|
|
|
@@ -281,7 +282,7 @@ specs/
|
|
|
281
282
|
|
|
282
283
|
```bash
|
|
283
284
|
# Xem nhanh tất cả PRDs và status:
|
|
284
|
-
grep -
|
|
285
|
+
grep -rn "\*\*Status\*\*" specs/ --include="*.md"
|
|
285
286
|
```
|
|
286
287
|
|
|
287
288
|
---
|
|
@@ -290,10 +291,11 @@ grep -r "@trace.status" specs/ --include="*.md"
|
|
|
290
291
|
|
|
291
292
|
**Checklist trước khi thông báo:**
|
|
292
293
|
```yaml
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
294
|
+
# Bảng Metadata PRD:
|
|
295
|
+
# | **Ticket** | FEAT-01 | ✅ có (đúng format)
|
|
296
|
+
# | **Domain** | auth | ✅ khớp services keys của dev team
|
|
297
|
+
# | **Status** | approved | ✅ đã approved
|
|
298
|
+
# | **Version** | 1.0 | ✅ có version number
|
|
297
299
|
```
|
|
298
300
|
|
|
299
301
|
```
|
|
@@ -22,7 +22,7 @@ Mỗi artifact mang `@trace.*` metadata liên kết về artifact trước nó:
|
|
|
22
22
|
|
|
23
23
|
```
|
|
24
24
|
product-definition.md
|
|
25
|
-
└─► PRD.md (
|
|
25
|
+
└─► PRD.md (Domain, Status, Service/Module — đều trong bảng Metadata)
|
|
26
26
|
└─► specs/{domain}/{prd-slug}/bdd/{web|app|system}/{UC-ID}.feature (@trace.prd_version, @trace.module)
|
|
27
27
|
└─► specs/{domain}/{prd-slug}/tech-docs/{UC-ID}-tech-design*.md (@trace.bdd_version)
|
|
28
28
|
└─► src/ code — service submodule (@trace.implements)
|
|
@@ -34,8 +34,8 @@ product-definition.md
|
|
|
34
34
|
|
|
35
35
|
| Field | Vị trí | Ý nghĩa |
|
|
36
36
|
|-------|--------|---------|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
37
|
+
| `Domain` | bảng Metadata PRD | Domain của feature (auth, payment, …) — route vào đúng service submodule |
|
|
38
|
+
| `Status` | bảng Metadata PRD | `draft` / `approved` — dev team chỉ code khi `approved` |
|
|
39
39
|
| `@trace.service` / `@trace.module` | BDD / Tech Doc header | Service + module sẽ implement |
|
|
40
40
|
| `@trace.prd_version` / `@trace.bdd_version` | BDD / code / test | Version của spec mà artifact được sinh từ — base cho drift detection |
|
|
41
41
|
| `@trace.implements` | Code comment | Scenario mà code này implement: `={UC-ID}-SC{N}` |
|
|
@@ -256,7 +256,7 @@ Topology giả định cho mọi ví dụ dưới đây:
|
|
|
256
256
|
**① PO — 1 tầng (spec repo)**
|
|
257
257
|
```bash
|
|
258
258
|
cd my-project-specs && git pull
|
|
259
|
-
# /generate-prd · /generate-design-spec · /generate-bdd (web/app/system) · set
|
|
259
|
+
# /generate-prd · /generate-design-spec · /generate-bdd (web/app/system) · set Status: approved (bảng Metadata)
|
|
260
260
|
git add specs/payment/checkout/{TICKET-ID}-checkout.md \
|
|
261
261
|
specs/payment/checkout/design-spec/FT-042-checkout-design.md \
|
|
262
262
|
specs/payment/checkout/bdd/system/FT-042-UC1-checkout-system.feature \
|
|
@@ -400,7 +400,7 @@ git pull
|
|
|
400
400
|
/refine-prd {prd-file} # review 4 lens: QA/DEV/SA/PO
|
|
401
401
|
/review-context {prd-file} # chất lượng + P0 check
|
|
402
402
|
/review-context --fix {prd-file} # auto-fix vấn đề nhỏ
|
|
403
|
-
# → update
|
|
403
|
+
# → update Status: approved (bảng Metadata) khi PRD sẵn sàng
|
|
404
404
|
/generate-design-spec {prd-file} # FE/App
|
|
405
405
|
/generate-bdd {prd-file} # outside-in: web → app → system (System BDD tổng hợp từ web+app)
|
|
406
406
|
|
|
@@ -417,7 +417,7 @@ cd my-project-web
|
|
|
417
417
|
git add my-project-specs && git commit -m "chore: sync specs" && git push
|
|
418
418
|
|
|
419
419
|
/review-context my-project-specs/specs/{domain}/{prd-slug}/{TICKET-ID}-{prd-slug}.md
|
|
420
|
-
# → P0:
|
|
420
|
+
# → P0: Domain (bảng Metadata) khớp services config? Status: approved?
|
|
421
421
|
# Đọc Web BDD do PO generate (KHÔNG tự generate BDD):
|
|
422
422
|
# my-project-specs/specs/{domain}/{prd-slug}/bdd/web/{TICKET-ID}-UC*.feature
|
|
423
423
|
|
|
@@ -63,7 +63,7 @@ Có **4 lệnh review** cho **4 loại artifact khác nhau**. Đây là điểm
|
|
|
63
63
|
| Tôi muốn review… | Cách dùng (ví dụ) | Nó kiểm cái gì | Ai chạy |
|
|
64
64
|
|---|---|---|---|
|
|
65
65
|
| **PRD — nội dung & độ đầy đủ** | `/refine-prd specs/auth/login/{TICKET-ID}-login.md` | 4 lens QA·DEV·SA·PO: AC có test được? edge case? scope rõ? | PO |
|
|
66
|
-
| **PRD — chất lượng trước khi approve** | `/review-context specs/auth/login/{TICKET-ID}-login.md` | P-checks: banned term, mơ hồ, mâu thuẫn PRD khác, thiếu section, routing
|
|
66
|
+
| **PRD — chất lượng trước khi approve** | `/review-context specs/auth/login/{TICKET-ID}-login.md` | P-checks: banned term, mơ hồ, mâu thuẫn PRD khác, thiếu section, routing theo `Domain` (bảng Metadata) | PO |
|
|
67
67
|
| **BDD `.feature`** | `/review-context specs/auth/login/bdd/system/FEAT-01-UC1-login.feature` | B-checks: mỗi AC/BR → có ≥1 scenario? Gherkin R1–R10, compliance C1–C5 | SA/Dev |
|
|
68
68
|
| **Tech design** | `/review-tech-docs specs/auth/login/tech-docs/FEAT-01-UC1-tech-design.md` | T-checks: đúng layer/architecture, entity, trace BDD, cross-team API sign-off | Dev/SA |
|
|
69
69
|
| **Code** | `/review-code FEAT-01-UC1` | 4 lens: Security · Performance · Architecture · Test coverage | Dev |
|
package/package.json
CHANGED
package/skills/code/SKILL.md
CHANGED
|
@@ -572,7 +572,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
572
572
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
573
573
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
574
574
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
575
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
575
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
576
576
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
577
577
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
578
578
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -730,7 +730,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
730
730
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
731
731
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
732
732
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
733
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
733
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
734
734
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
735
735
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
736
736
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
package/skills/debug/SKILL.md
CHANGED
|
@@ -503,7 +503,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
503
503
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
504
504
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
505
505
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
506
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
506
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
507
507
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
508
508
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
509
509
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -687,7 +687,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
687
687
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
688
688
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
689
689
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
690
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
690
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
691
691
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
692
692
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
693
693
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -828,7 +828,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
828
828
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
829
829
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
830
830
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
831
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
831
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
832
832
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
833
833
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
834
834
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -539,7 +539,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
539
539
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
540
540
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
541
541
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
542
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
542
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
543
543
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
544
544
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
545
545
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
package/skills/prd/SKILL.md
CHANGED
|
@@ -424,7 +424,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
424
424
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
425
425
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
426
426
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
427
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
427
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
428
428
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
429
429
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
430
430
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -175,7 +175,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
175
175
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
176
176
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
177
177
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
178
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
178
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
179
179
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
180
180
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
181
181
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
package/skills/spec/SKILL.md
CHANGED
|
@@ -244,7 +244,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
244
244
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
245
245
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
246
246
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
247
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
247
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
248
248
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
249
249
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
250
250
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -421,7 +421,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
421
421
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
422
422
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
423
423
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
424
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
424
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
425
425
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
426
426
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
427
427
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
package/skills/test/SKILL.md
CHANGED
|
@@ -287,7 +287,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
287
287
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
288
288
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
289
289
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
290
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
290
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
291
291
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
292
292
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
293
293
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -763,7 +763,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
763
763
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
764
764
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
765
765
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
766
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
766
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
767
767
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
768
768
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
769
769
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -1257,7 +1257,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
1257
1257
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
1258
1258
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
1259
1259
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
1260
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
1260
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
1261
1261
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
1262
1262
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
1263
1263
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
package/steps/report-footer.md
CHANGED
|
@@ -60,7 +60,7 @@ Gợi ý lệnh kế tiếp hợp lý theo phase của workflow:
|
|
|
60
60
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
61
61
|
| /generate-prd | `/refine-prd {prd-file}` rồi `/review-context {prd-file}` |
|
|
62
62
|
| /refine-prd | Mở Review Board → cập nhật PRD → `/review-context {prd-file}` |
|
|
63
|
-
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (
|
|
63
|
+
| /review-context (PRD) | Khi 0 critical → PO đặt `Status: approved`, rồi FE/App: `/generate-design-spec {prd-file}` (→ design sign-off → BDD); BE: `/generate-bdd {prd-file}`. Còn critical/NEEDS_FIX → sửa PRD (giữ draft) |
|
|
64
64
|
| /generate-design-spec | Designer review → xác nhận link Figma → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
65
65
|
| /generate-bdd | `/review-context {feature-file}` để kiểm tra độ phủ |
|
|
66
66
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` nếu APPROVED; sinh lại nếu NEEDS_FIX |
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# 3. When a workflow says "→ key.subkey", look up that key
|
|
15
15
|
# and use the resolved value as the actual path
|
|
16
16
|
# 4. All paths are RELATIVE to workspace root
|
|
17
|
-
# 5. For "{domain}", substitute
|
|
17
|
+
# 5. For "{domain}", substitute the feature's domain (PRD: row `Domain` in Metadata / folder path; .feature: @trace.domain)
|
|
18
18
|
# =============================================================
|
|
19
19
|
|
|
20
20
|
project:
|
|
@@ -132,7 +132,7 @@ domains:
|
|
|
132
132
|
# With spec_source set, only ONE override is needed instead of four separate dir vars.
|
|
133
133
|
#
|
|
134
134
|
# services: # domain → service submodule routing
|
|
135
|
-
# {{DOMAIN_1}}: # must match
|
|
135
|
+
# {{DOMAIN_1}}: # must match the PRD's `Domain` (Metadata row) / folder path segment
|
|
136
136
|
# path: "{{SERVICE_SUBMODULE_DIR}}" # relative path to service submodule (code + .trace/)
|
|
137
137
|
# module: "{{STACK_MODULE}}" # e.g., java-spring, nextjs, flutter
|
|
138
138
|
# # NOTE: with spec_source set, BDD + tech-docs are cross-team and live in the spec repo —
|