@educa-corp/sdd-framework 0.6.0 → 0.7.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.
- package/bin/gate-trace.js +25 -2
- package/bin/index.js +32 -5
- package/bin/lint-trace.js +41 -0
- package/bin/self-check.js +430 -3
- package/bin/trace-schema.json +418 -31
- package/core/FRAMEWORK_VERSION +1 -1
- package/{commands/extend-prd.md → core/commands/amend-prd.md} +206 -173
- package/core/commands/dev-run-test.md +48 -10
- package/core/commands/extend-prd.md +39 -12
- package/core/commands/generate-bdd.md +52 -10
- package/core/commands/generate-code.md +35 -2
- package/core/commands/generate-tech-docs.md +36 -4
- package/core/commands/map-testids.md +1 -1
- package/core/commands/qc-run-test.md +29 -3
- package/core/commands/refine-prd.md +13 -2
- package/core/commands/review-context.md +43 -8
- package/core/commands/sync.md +105 -1
- package/core/commands/validate-traces.md +289 -16
- package/core/rules/workflow.md +34 -0
- package/core/steps/context-loader.md +27 -6
- package/core/templates/feature.template +1 -1
- package/core/templates/project-context.yaml +3 -3
- package/core/templates/tech-design.template.md +2 -2
- package/docs/02-concepts/architecture.md +37 -1
- package/docs/02-concepts/overview.md +1 -1
- package/docs/02-concepts/pipeline-steps/02-specification.md +13 -7
- package/docs/02-concepts/pipeline-steps/07-dev-selftest.md +2 -0
- package/docs/02-concepts/pipeline-steps/08-qc-automation.md +1 -0
- package/docs/02-concepts/pipeline-steps/09-validate-traces.md +34 -3
- package/docs/02-concepts/pipeline-steps/10-feedback-loop.md +10 -1
- package/docs/02-concepts/traceability.md +187 -183
- package/docs/03-guides/architect.md +13 -4
- package/docs/03-guides/developer.md +1 -0
- package/docs/03-guides/product-owner.md +89 -72
- package/docs/03-guides/tester-qa.md +81 -81
- package/docs/04-reference/commands.md +148 -134
- package/docs/04-reference/trace-schema.md +45 -1
- package/docs/explain/02b-extend-prd.md +1 -1
- package/docs/explain/02c-amend-prd.md +152 -0
- package/docs/explain/06-generate-bdd.md +1 -1
- package/docs/explain/13-dev-run-test.md +15 -1
- package/docs/explain/19-qc-run-test.md +91 -87
- package/docs/explain/21-validate-traces.md +79 -75
- package/docs/explain/28-sync.md +25 -0
- package/docs/explain/README.md +136 -135
- package/package.json +1 -8
- package/commands/debug.md +0 -529
- package/commands/debug.tmpl +0 -260
- package/commands/define-product.md +0 -438
- package/commands/define-product.tmpl +0 -225
- package/commands/dev-gen-test.md +0 -700
- package/commands/dev-gen-test.tmpl +0 -490
- package/commands/dev-run-test.md +0 -435
- package/commands/dev-run-test.tmpl +0 -225
- package/commands/dev-smoke-test.md +0 -374
- package/commands/dev-smoke-test.tmpl +0 -217
- package/commands/extend-prd.tmpl +0 -273
- package/commands/fix-bug.md +0 -519
- package/commands/fix-bug.tmpl +0 -197
- package/commands/generate-architecture.md +0 -354
- package/commands/generate-architecture.tmpl +0 -197
- package/commands/generate-bdd.md +0 -923
- package/commands/generate-bdd.tmpl +0 -590
- package/commands/generate-code.md +0 -859
- package/commands/generate-code.tmpl +0 -649
- package/commands/generate-design-spec.md +0 -737
- package/commands/generate-design-spec.tmpl +0 -524
- package/commands/generate-prd.md +0 -722
- package/commands/generate-prd.tmpl +0 -226
- package/commands/generate-spec-manifest.md +0 -321
- package/commands/generate-spec-manifest.tmpl +0 -164
- package/commands/generate-tech-docs.md +0 -920
- package/commands/generate-tech-docs.tmpl +0 -273
- package/commands/learn.md +0 -399
- package/commands/learn.tmpl +0 -130
- package/commands/map-testids.md +0 -238
- package/commands/map-testids.tmpl +0 -81
- package/commands/propose-scenario.md +0 -359
- package/commands/propose-scenario.tmpl +0 -202
- package/commands/qc-analyze.md +0 -269
- package/commands/qc-analyze.tmpl +0 -112
- package/commands/qc-design-test.md +0 -226
- package/commands/qc-design-test.tmpl +0 -69
- package/commands/qc-plan.md +0 -206
- package/commands/qc-plan.tmpl +0 -49
- package/commands/qc-report.md +0 -217
- package/commands/qc-report.tmpl +0 -60
- package/commands/qc-review.md +0 -210
- package/commands/qc-review.tmpl +0 -53
- package/commands/qc-run-test.md +0 -326
- package/commands/qc-run-test.tmpl +0 -116
- package/commands/refine-prd.md +0 -653
- package/commands/refine-prd.tmpl +0 -281
- package/commands/report-bug.md +0 -305
- package/commands/report-bug.tmpl +0 -148
- package/commands/review-code.md +0 -415
- package/commands/review-code.tmpl +0 -146
- package/commands/review-context.md +0 -902
- package/commands/review-context.tmpl +0 -530
- package/commands/review-tech-docs.md +0 -561
- package/commands/review-tech-docs.tmpl +0 -404
- package/commands/setup-ai-first.md +0 -602
- package/commands/setup-ai-first.tmpl +0 -450
- package/commands/sync.md +0 -430
- package/commands/sync.tmpl +0 -429
- package/commands/update-framework.md +0 -203
- package/commands/update-framework.tmpl +0 -202
- package/commands/validate-traces.md +0 -1077
- package/commands/validate-traces.tmpl +0 -920
- package/hooks/data-guard.js +0 -232
- package/hooks/settings.json +0 -19
- package/modules/android-compose/module.yaml +0 -13
- package/modules/android-compose/stack-profile.yaml +0 -57
- package/modules/angular/architecture-snippets/component-patterns.md +0 -187
- package/modules/angular/module.yaml +0 -6
- package/modules/angular/stack-profile.yaml +0 -38
- package/modules/context-engineering/architecture-snippets/context-design.md +0 -119
- package/modules/context-engineering/module.yaml +0 -9
- package/modules/context-engineering/stack-profile.yaml +0 -61
- package/modules/dotnet/architecture-snippets/clean-arch.md +0 -160
- package/modules/dotnet/module.yaml +0 -6
- package/modules/dotnet/stack-profile.yaml +0 -50
- package/modules/flutter/module.yaml +0 -14
- package/modules/flutter/stack-profile.yaml +0 -59
- package/modules/golang/architecture-snippets/domain-layout.md +0 -283
- package/modules/golang/module.yaml +0 -6
- package/modules/golang/stack-profile.yaml +0 -40
- package/modules/ios-swiftui/module.yaml +0 -13
- package/modules/ios-swiftui/stack-profile.yaml +0 -55
- package/modules/java-spring/architecture-snippets/layered-arch.md +0 -201
- package/modules/java-spring/module.yaml +0 -15
- package/modules/java-spring/stack-profile.yaml +0 -28
- package/modules/nextjs/architecture-snippets/app-router-patterns.md +0 -269
- package/modules/nextjs/module.yaml +0 -14
- package/modules/nextjs/stack-profile.yaml +0 -74
- package/modules/nuxt/module.yaml +0 -14
- package/modules/nuxt/stack-profile.yaml +0 -58
- package/modules/phaser-game/architecture-snippets/phaser-scene-patterns.md +0 -646
- package/modules/phaser-game/module.yaml +0 -15
- package/modules/phaser-game/stack-profile.yaml +0 -90
- package/modules/php-laravel/architecture-snippets/service-repository.md +0 -302
- package/modules/php-laravel/module.yaml +0 -15
- package/modules/php-laravel/stack-profile.yaml +0 -56
- package/modules/qc-playwright/stack-profile.yaml +0 -66
- package/modules/react/architecture-snippets/hooks-query-patterns.md +0 -254
- package/modules/react/module.yaml +0 -14
- package/modules/react/stack-profile.yaml +0 -63
- package/modules/react-native/module.yaml +0 -14
- package/modules/react-native/stack-profile.yaml +0 -56
- package/modules/vue/module.yaml +0 -14
- package/modules/vue/stack-profile.yaml +0 -65
- package/rules/data-protection.md +0 -80
- package/rules/workflow.md +0 -99
- package/skills/code/SKILL.md +0 -19
- package/skills/code/SKILL.tmpl +0 -19
- package/skills/debug/SKILL.md +0 -19
- package/skills/debug/SKILL.tmpl +0 -19
- package/skills/design-spec/SKILL.md +0 -11
- package/skills/design-spec/SKILL.tmpl +0 -11
- package/skills/discovery/SKILL.md +0 -14
- package/skills/discovery/SKILL.tmpl +0 -14
- package/skills/prd/SKILL.md +0 -19
- package/skills/prd/SKILL.tmpl +0 -19
- package/skills/qc/qa-analyst/DOC_GAPS.template.md +0 -63
- package/skills/qc/qa-analyst/acceptance-criteria.md +0 -60
- package/skills/qc/qa-analyst/business-rules.md +0 -59
- package/skills/qc/qa-analyst/data-flow.md +0 -64
- package/skills/qc/qa-analyst/spec-breakdown.md +0 -61
- package/skills/qc/qa-designer/e2e/journey.md +0 -41
- package/skills/qc/qa-designer/exploratory/charter.md +0 -68
- package/skills/qc/qa-designer/exploratory/explore-to-functional.md +0 -43
- package/skills/qc/qa-designer/functional/api.md +0 -45
- package/skills/qc/qa-designer/functional/gui-feature.md +0 -46
- package/skills/qc/qa-designer/functional/gui-screen.md +0 -52
- package/skills/qc/qa-designer/integration/api.md +0 -42
- package/skills/qc/qa-designer/integration/db.md +0 -39
- package/skills/qc/qa-designer/integration/gui.md +0 -40
- package/skills/qc/qa-designer/integration/kafka.md +0 -40
- package/skills/qc/qa-designer/non-functional.md +0 -40
- package/skills/qc/qa-planner/test-plan.md +0 -120
- package/skills/qc/qa-reviewer/script/e2e.md +0 -87
- package/skills/qc/qa-reviewer/script/exploratory.md +0 -45
- package/skills/qc/qa-reviewer/script/functional.md +0 -101
- package/skills/qc/qa-reviewer/script/integration.md +0 -91
- package/skills/qc/qa-reviewer/script/non-functional.md +0 -126
- package/skills/qc/qa-reviewer/test-case/e2e.md +0 -73
- package/skills/qc/qa-reviewer/test-case/exploratory.md +0 -43
- package/skills/qc/qa-reviewer/test-case/functional.md +0 -76
- package/skills/qc/qa-reviewer/test-case/integration.md +0 -69
- package/skills/qc/qa-reviewer/test-case/non-functional.md +0 -73
- package/skills/qc/qa-runner/e2e.md +0 -49
- package/skills/qc/qa-runner/exploratory/session.md +0 -36
- package/skills/qc/qa-runner/functional/api.md +0 -35
- package/skills/qc/qa-runner/functional/gui-feature.md +0 -51
- package/skills/qc/qa-runner/functional/gui-screen.md +0 -55
- package/skills/qc/qa-runner/integration.md +0 -47
- package/skills/qc/qa-runner/non-functional.md +0 -49
- package/skills/qc/qa-runner/report/report.md +0 -37
- package/skills/setup-ai-first/SKILL.md +0 -19
- package/skills/setup-ai-first/SKILL.tmpl +0 -19
- package/skills/spec/SKILL.md +0 -19
- package/skills/spec/SKILL.tmpl +0 -19
- package/skills/test/SKILL.md +0 -18
- package/skills/test/SKILL.tmpl +0 -18
- package/steps/business-language.md +0 -56
- package/steps/capture-lesson.md +0 -112
- package/steps/context-loader.md +0 -406
- package/steps/gate.md +0 -151
- package/steps/report-footer.md +0 -125
- package/steps/review-fanout.md +0 -159
- package/steps/spawn-agent.md +0 -129
- package/steps/trace-mirror.md +0 -53
- package/templates/README.md +0 -70
- package/templates/architecture.template.md +0 -394
- package/templates/ci/trace-gate.yml +0 -146
- package/templates/design-spec.template.md +0 -217
- package/templates/feature.template +0 -123
- package/templates/hooks/pre-push +0 -61
- package/templates/platform-guide.template.md +0 -145
- package/templates/prd.template.md +0 -283
- package/templates/product-definition.template.md +0 -188
- package/templates/project-context.yaml +0 -212
- package/templates/tech-design.template.md +0 -490
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
# /update-framework — Cập nhật SDD Framework Framework
|
|
2
|
-
|
|
3
|
-
Nâng cấp **framework tooling** (`.agent/commands/`, `steps/`, `modules/`, `hooks/`, `rules/`, `templates/`, `skills/`) lên version mới nhất publish trên npm.
|
|
4
|
-
|
|
5
|
-
> **Không giống `/sync`.**
|
|
6
|
-
> - `/sync` → pull **nội dung dự án** (code/specs submodule) + làm mới Living Docs. Chạy hằng ngày.
|
|
7
|
-
> - `/update-framework` → nâng cấp **chính các file command của framework**. Chạy thỉnh thoảng, khi có version framework mới.
|
|
8
|
-
|
|
9
|
-
Lệnh này wrap `npx @educa-corp/sdd-framework@latest --init`. Cần network + npm access.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Step 0 — Phát hiện trạng thái hiện tại
|
|
14
|
-
|
|
15
|
-
1. Đọc `.agent/FRAMEWORK_VERSION` → version đang cài.
|
|
16
|
-
- Nếu thiếu → dự án này không được cài qua `--init`. Dừng:
|
|
17
|
-
```
|
|
18
|
-
❌ .agent/FRAMEWORK_VERSION not found.
|
|
19
|
-
This project was not set up with the framework installer.
|
|
20
|
-
Run: npx @educa-corp/sdd-framework --init
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
2. Đọc `.agent/project-context.yaml` → trích `setup.mode` (`umbrella` / vắng = single) và `services`.
|
|
24
|
-
|
|
25
|
-
3. Liệt kê `.agent/modules/` → ghi tên các module đã cài (phải truyền lại khi nâng cấp để chúng cũng update).
|
|
26
|
-
|
|
27
|
-
In:
|
|
28
|
-
```
|
|
29
|
-
Current framework : v{current}
|
|
30
|
-
Mode : {umbrella | single-service}
|
|
31
|
-
Installed modules : {list or "none"}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Step 1 — Kiểm tra version mới nhất
|
|
37
|
-
|
|
38
|
-
Chạy:
|
|
39
|
-
```bash
|
|
40
|
-
npm view @educa-corp/sdd-framework version
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
So `current` vs `latest`:
|
|
44
|
-
|
|
45
|
-
| Kết quả | Hành động |
|
|
46
|
-
|--------|--------|
|
|
47
|
-
| Network/registry không tới được | Cảnh báo `⚠️ Could not reach npm registry — check connection.` và dừng |
|
|
48
|
-
| `current == latest` | In `✅ Already up to date (v{current}). Nothing to do.` và dừng |
|
|
49
|
-
| `latest > current` | In `Update available: v{current} → v{latest}` và tiếp tục |
|
|
50
|
-
|
|
51
|
-
Hỏi: `Proceed with upgrade? (Y/N)` — chờ `Y`.
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Step 2 — Umbrella Awareness *(chỉ umbrella mode)*
|
|
56
|
-
|
|
57
|
-
Nếu `setup.mode == umbrella`, in note này trước khi nâng cấp:
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
ℹ️ Umbrella mode — framework tooling lives ONLY at this umbrella root.
|
|
61
|
-
Service submodules contain just .agent/project-context.yaml (config), not
|
|
62
|
-
command files — they read commands from the umbrella root. No per-service
|
|
63
|
-
framework update is needed here.
|
|
64
|
-
|
|
65
|
-
Exception: if a teammate opens Claude Code directly INSIDE a service repo
|
|
66
|
-
(outside the umbrella), that repo has its own .agent/ — its owning team runs
|
|
67
|
-
/update-framework there independently.
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Step 3 — Pre-flight Git Check
|
|
73
|
-
|
|
74
|
-
Chạy `git status --short .agent/ .claude/commands/`.
|
|
75
|
-
|
|
76
|
-
Nếu có thay đổi chưa commit trong các path đó:
|
|
77
|
-
```
|
|
78
|
-
⚠️ Uncommitted changes in .agent/ or .claude/commands/.
|
|
79
|
-
The upgrade overwrites framework files. Commit or stash first so you can
|
|
80
|
-
cleanly review the upgrade diff:
|
|
81
|
-
git add .agent/ .claude/commands/ && git commit -m "wip" (or git stash)
|
|
82
|
-
```
|
|
83
|
-
Hỏi có tiếp tục không `(Y/N)`. Mặc định dừng.
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Step 4 — Chạy nâng cấp
|
|
88
|
-
|
|
89
|
-
Dựng module flag từ Step 0 (một `--module {name}` cho mỗi module đã cài), rồi chạy:
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
npx -y @educa-corp/sdd-framework@latest --init {--module X ...}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Cái này **ghi đè** (làm mới về version mới):
|
|
96
|
-
- `.agent/commands/`, `.agent/steps/`, `.agent/hooks/`, `.agent/rules/`, `.agent/templates/`, `.agent/skills/`, `.agent/modules/{installed}/`
|
|
97
|
-
- `.agent/FRAMEWORK_VERSION`
|
|
98
|
-
- `.claude/commands/` shortcuts
|
|
99
|
-
|
|
100
|
-
Cái này **KHÔNG đụng tới** (nội dung của bạn an toàn):
|
|
101
|
-
- `.agent/project-context.yaml`
|
|
102
|
-
- `CLAUDE.md`
|
|
103
|
-
- `specs/domain-knowledge/` (business-dictionary, core-entities)
|
|
104
|
-
- `.trace/`
|
|
105
|
-
|
|
106
|
-
Nếu lệnh npx exit khác 0 → in lỗi và dừng với `❌`.
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Step 5 — Review Changes
|
|
111
|
-
|
|
112
|
-
Chạy:
|
|
113
|
-
```bash
|
|
114
|
-
git diff --stat .agent/ .claude/commands/
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Tóm tắt cho người dùng:
|
|
118
|
-
- **New commands** — file `.md` giờ có mà trước không
|
|
119
|
-
- **Updated commands** — file có nội dung thay đổi
|
|
120
|
-
- **Removed commands** — file bị xoá trong version mới
|
|
121
|
-
|
|
122
|
-
> **Từ v0.5.1, "Removed" là trạng thái CÓ THẬT.** Trước đó `installCore` chỉ copy, không có
|
|
123
|
-
> nhánh xoá nào — nên lệnh bị bỏ ở version mới nằm lại trong `.agent/commands/` và
|
|
124
|
-
> `.claude/commands/` **vĩnh viễn**: vẫn hiện trong menu `/`, vẫn chạy được, vẫn mang logic
|
|
125
|
-
> của version cũ, kể cả khi framework đã bỏ nó *vì nó sai*. Step này từng hứa báo cáo một
|
|
126
|
-
> trạng thái mà installer không thể tạo ra (GAPS-v3 G44).
|
|
127
|
-
> Giờ installer tự in ra ngay sau bước cài — đọc các dòng đó, chúng chính xác hơn `git diff`:
|
|
128
|
-
> ```
|
|
129
|
-
> 🗑️ {n} file framework đã bị BỎ ở version này — đã gỡ khỏi .agent/
|
|
130
|
-
> 🗑️ {n} shortcut của lệnh đã bị bỏ — đã gỡ khỏi .claude/commands/
|
|
131
|
-
> ⚠️ {n} file framework đã bị bỏ NHƯNG bạn đã sửa — GIỮ LẠI
|
|
132
|
-
> ```
|
|
133
|
-
> **Chỉ file còn nguyên bản mới bị gỡ.** File bạn đã sửa luôn được giữ + backup — thà để lại
|
|
134
|
-
> một file lạc còn hơn xoá thứ ai đó đã bỏ công viết.
|
|
135
|
-
|
|
136
|
-
Nếu có command mới xuất hiện (vd một slash command mới), nêu rõ để user biết nó giờ đã có.
|
|
137
|
-
|
|
138
|
-
**Kiểm file bị ghi đè.** `--init` copy `core/` → `.agent/` **vô điều kiện** — mọi thứ project đã sửa trong `.agent/` (trừ `project-context.yaml`) bị ghi đè. Từ v0.4.2 lệnh cài tự cứu chúng. Kiểm:
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
ls -d .agent/.overwritten-*/ 2>/dev/null
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
Nếu có → nêu **nổi bật** trong report (đây là thứ dễ trôi nhất trong một diff nâng cấp lớn):
|
|
145
|
-
```
|
|
146
|
-
⚠️ {n} file bạn sửa trong .agent/ đã bị bản nâng cấp ghi đè.
|
|
147
|
-
Bản cũ: .agent/.overwritten-{version}-{date}/
|
|
148
|
-
Xem diff: diff -r .agent/.overwritten-{version}-{date}/ .agent/
|
|
149
|
-
Sửa trực tiếp trong .agent/ KHÔNG bền — nó là mirror sinh ra. Muốn giữ thay đổi:
|
|
150
|
-
chuyển vào repo framework rồi phát hành, hoặc đặt ở CLAUDE.md /
|
|
151
|
-
.agent/project-context.yaml / .agent/project-lessons.md (ba chỗ không bị ghi đè).
|
|
152
|
-
Xử lý xong thì xoá thư mục backup.
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
Nếu **không** có thư mục nào → không in gì. *(Ranh giới vùng-sửa-được đầy đủ: `.agent/README.md`.)*
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## Step 5.5 — Kiểm bố cục spec cần migrate
|
|
160
|
-
|
|
161
|
-
*Chỉ quét, KHÔNG tự chuyển file — di chuyển spec là việc người dùng chốt.*
|
|
162
|
-
|
|
163
|
-
Một số version thay đổi **bố cục** spec, không chỉ nội dung command. Quét nhanh hai dạng cũ và in hướng dẫn nếu gặp:
|
|
164
|
-
|
|
165
|
-
| Phát hiện | Nghĩa | Lệnh migrate (dry-run trước) |
|
|
166
|
-
|---|---|---|
|
|
167
|
-
| Có file `.feature` **trực tiếp** dưới `{paths.specs_dir}/*/*/bdd/` (không trong subfolder platform) | Bố cục phẳng trước v0.4.1. `web`/`system` cùng UC va tên nhau; `/validate-traces` không thấy file; System BDD Synthesis luôn rơi về Backend-only. | `npx @educa-corp/sdd-framework --migrate-bdd-platform` → xem plan → thêm `--apply` |
|
|
168
|
-
| Có `{paths.specs_dir}/prd/` hoặc `{paths.specs_dir}/bdd/` ở cấp gốc | Bố cục artifact-type-first (rất cũ) | `npx @educa-corp/sdd-framework --migrate-specs` → `--apply` |
|
|
169
|
-
| Có `{paths.trace_dir}/*.tsv` phẳng (không có `{domain}/{prd-slug}/`) | Trace layout cũ | `--migrate-specs` (xử luôn) |
|
|
170
|
-
|
|
171
|
-
Nếu sạch cả ba → không in gì.
|
|
172
|
-
|
|
173
|
-
Sau migrate, nhắc chạy `/validate-traces` để reconcile sổ trace với bố cục mới.
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## Output
|
|
178
|
-
|
|
179
|
-
{{include:steps/report-footer.md}}
|
|
180
|
-
|
|
181
|
-
```
|
|
182
|
-
/update-framework — v{current} → v{latest}
|
|
183
|
-
|
|
184
|
-
✅ Framework upgraded
|
|
185
|
-
Updated : {N} command files, {M} step files
|
|
186
|
-
New : {list any new commands, e.g. /some-new-command}
|
|
187
|
-
Removed : {list any removed commands, or "none"}
|
|
188
|
-
|
|
189
|
-
Your content was preserved:
|
|
190
|
-
project-context.yaml, CLAUDE.md, domain-knowledge/, .trace/ — untouched
|
|
191
|
-
|
|
192
|
-
Review & commit:
|
|
193
|
-
git diff .agent/
|
|
194
|
-
git add .agent/ .claude/commands/
|
|
195
|
-
git commit -m "chore: upgrade spec-driven-docs v{current} → v{latest}"
|
|
196
|
-
{umbrella mode: this is the umbrella root — service submodules need no framework update}
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
Status : ✅ Complete | ⚠️ Warnings
|
|
200
|
-
Output Artifacts: refreshed .agent/ framework files, .claude/commands/ shortcuts
|
|
201
|
-
Next : review git diff, then commit | /sync to refresh project content
|
|
202
|
-
```
|