@edupia-tutor/spec-driven-docs 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/bin/build.js +230 -0
- package/bin/index.js +598 -0
- package/commands/debug.md +830 -0
- package/commands/debug.tmpl +257 -0
- package/commands/define-product.md +652 -0
- package/commands/define-product.tmpl +158 -0
- package/commands/dev-gen-test.md +1010 -0
- package/commands/dev-gen-test.tmpl +490 -0
- package/commands/dev-run-test.md +744 -0
- package/commands/dev-run-test.tmpl +224 -0
- package/commands/dev-smoke-test.md +711 -0
- package/commands/dev-smoke-test.tmpl +217 -0
- package/commands/fix-bug.md +744 -0
- package/commands/fix-bug.tmpl +171 -0
- package/commands/generate-bdd.md +1054 -0
- package/commands/generate-bdd.tmpl +534 -0
- package/commands/generate-code.md +869 -0
- package/commands/generate-code.tmpl +349 -0
- package/commands/generate-design-spec.md +958 -0
- package/commands/generate-design-spec.tmpl +464 -0
- package/commands/generate-prd.md +748 -0
- package/commands/generate-prd.tmpl +254 -0
- package/commands/generate-spec-manifest.md +658 -0
- package/commands/generate-spec-manifest.tmpl +164 -0
- package/commands/generate-tech-docs.md +849 -0
- package/commands/generate-tech-docs.tmpl +355 -0
- package/commands/learn.md +636 -0
- package/commands/learn.tmpl +63 -0
- package/commands/map-testids.md +575 -0
- package/commands/map-testids.tmpl +81 -0
- package/commands/propose-scenario.md +623 -0
- package/commands/propose-scenario.tmpl +129 -0
- package/commands/qc-analyze.md +580 -0
- package/commands/qc-analyze.tmpl +86 -0
- package/commands/qc-design-test.md +562 -0
- package/commands/qc-design-test.tmpl +68 -0
- package/commands/qc-plan.md +543 -0
- package/commands/qc-plan.tmpl +49 -0
- package/commands/qc-report.md +554 -0
- package/commands/qc-report.tmpl +60 -0
- package/commands/qc-review.md +547 -0
- package/commands/qc-review.tmpl +53 -0
- package/commands/qc-run-test.md +604 -0
- package/commands/qc-run-test.tmpl +84 -0
- package/commands/refine-prd.md +772 -0
- package/commands/refine-prd.tmpl +140 -0
- package/commands/report-bug.md +639 -0
- package/commands/report-bug.tmpl +145 -0
- package/commands/review-code.md +677 -0
- package/commands/review-code.tmpl +104 -0
- package/commands/review-context.md +1047 -0
- package/commands/review-context.tmpl +415 -0
- package/commands/review-tech-docs.md +811 -0
- package/commands/review-tech-docs.tmpl +317 -0
- package/commands/setup-ai-first.md +545 -0
- package/commands/setup-ai-first.tmpl +358 -0
- package/commands/sync.md +451 -0
- package/commands/sync.tmpl +351 -0
- package/commands/update-framework.md +251 -0
- package/commands/update-framework.tmpl +151 -0
- package/commands/validate-traces.md +842 -0
- package/commands/validate-traces.tmpl +348 -0
- package/core/FRAMEWORK_VERSION +1 -0
- package/core/commands/debug.md +830 -0
- package/core/commands/define-product.md +652 -0
- package/core/commands/dev-gen-test.md +1010 -0
- package/core/commands/dev-run-test.md +744 -0
- package/core/commands/dev-smoke-test.md +711 -0
- package/core/commands/fix-bug.md +744 -0
- package/core/commands/generate-bdd.md +1054 -0
- package/core/commands/generate-code.md +869 -0
- package/core/commands/generate-design-spec.md +958 -0
- package/core/commands/generate-prd.md +748 -0
- package/core/commands/generate-spec-manifest.md +658 -0
- package/core/commands/generate-tech-docs.md +849 -0
- package/core/commands/learn.md +636 -0
- package/core/commands/map-testids.md +575 -0
- package/core/commands/propose-scenario.md +623 -0
- package/core/commands/qc-analyze.md +580 -0
- package/core/commands/qc-design-test.md +562 -0
- package/core/commands/qc-plan.md +543 -0
- package/core/commands/qc-report.md +554 -0
- package/core/commands/qc-review.md +547 -0
- package/core/commands/qc-run-test.md +604 -0
- package/core/commands/refine-prd.md +772 -0
- package/core/commands/report-bug.md +639 -0
- package/core/commands/review-code.md +677 -0
- package/core/commands/review-context.md +1047 -0
- package/core/commands/review-tech-docs.md +811 -0
- package/core/commands/setup-ai-first.md +545 -0
- package/core/commands/sync.md +451 -0
- package/core/commands/update-framework.md +251 -0
- package/core/commands/validate-traces.md +842 -0
- package/core/hooks/data-guard.js +141 -0
- package/core/hooks/settings.json +18 -0
- package/core/modules/android-compose/module.yaml +13 -0
- package/core/modules/android-compose/stack-profile.yaml +57 -0
- package/core/modules/angular/architecture-snippets/component-patterns.md +187 -0
- package/core/modules/angular/module.yaml +6 -0
- package/core/modules/angular/stack-profile.yaml +38 -0
- package/core/modules/context-engineering/architecture-snippets/context-design.md +119 -0
- package/core/modules/context-engineering/module.yaml +9 -0
- package/core/modules/context-engineering/stack-profile.yaml +61 -0
- package/core/modules/dotnet/architecture-snippets/clean-arch.md +160 -0
- package/core/modules/dotnet/module.yaml +6 -0
- package/core/modules/dotnet/stack-profile.yaml +50 -0
- package/core/modules/flutter/module.yaml +14 -0
- package/core/modules/flutter/stack-profile.yaml +59 -0
- package/core/modules/golang/architecture-snippets/domain-layout.md +283 -0
- package/core/modules/golang/module.yaml +6 -0
- package/core/modules/golang/stack-profile.yaml +40 -0
- package/core/modules/ios-swiftui/module.yaml +13 -0
- package/core/modules/ios-swiftui/stack-profile.yaml +55 -0
- package/core/modules/java-spring/architecture-snippets/layered-arch.md +201 -0
- package/core/modules/java-spring/module.yaml +15 -0
- package/core/modules/java-spring/stack-profile.yaml +28 -0
- package/core/modules/nextjs/architecture-snippets/app-router-patterns.md +269 -0
- package/core/modules/nextjs/module.yaml +14 -0
- package/core/modules/nextjs/stack-profile.yaml +74 -0
- package/core/modules/nuxt/module.yaml +14 -0
- package/core/modules/nuxt/stack-profile.yaml +58 -0
- package/core/modules/php-laravel/architecture-snippets/service-repository.md +302 -0
- package/core/modules/php-laravel/module.yaml +15 -0
- package/core/modules/php-laravel/stack-profile.yaml +56 -0
- package/core/modules/qc-playwright/stack-profile.yaml +66 -0
- package/core/modules/react/architecture-snippets/hooks-query-patterns.md +254 -0
- package/core/modules/react/module.yaml +14 -0
- package/core/modules/react/stack-profile.yaml +63 -0
- package/core/modules/react-native/module.yaml +14 -0
- package/core/modules/react-native/stack-profile.yaml +56 -0
- package/core/modules/vue/module.yaml +14 -0
- package/core/modules/vue/stack-profile.yaml +65 -0
- package/core/rules/data-protection.md +80 -0
- package/core/rules/workflow.md +44 -0
- package/core/skills/code/SKILL.md +770 -0
- package/core/skills/debug/SKILL.md +869 -0
- package/core/skills/design-spec/SKILL.md +589 -0
- package/core/skills/discovery/SKILL.md +554 -0
- package/core/skills/prd/SKILL.md +562 -0
- package/core/skills/qc/qa-analyst/DOC_GAPS.template.md +63 -0
- package/core/skills/qc/qa-analyst/acceptance-criteria.md +60 -0
- package/core/skills/qc/qa-analyst/business-rules.md +59 -0
- package/core/skills/qc/qa-analyst/data-flow.md +64 -0
- package/core/skills/qc/qa-analyst/spec-breakdown.md +61 -0
- package/core/skills/qc/qa-designer/e2e/journey.md +41 -0
- package/core/skills/qc/qa-designer/exploratory/charter.md +68 -0
- package/core/skills/qc/qa-designer/exploratory/explore-to-functional.md +43 -0
- package/core/skills/qc/qa-designer/functional/api.md +45 -0
- package/core/skills/qc/qa-designer/functional/gui-feature.md +46 -0
- package/core/skills/qc/qa-designer/functional/gui-screen.md +52 -0
- package/core/skills/qc/qa-designer/integration/api.md +42 -0
- package/core/skills/qc/qa-designer/integration/db.md +39 -0
- package/core/skills/qc/qa-designer/integration/gui.md +40 -0
- package/core/skills/qc/qa-designer/integration/kafka.md +40 -0
- package/core/skills/qc/qa-designer/non-functional.md +40 -0
- package/core/skills/qc/qa-planner/test-plan.md +120 -0
- package/core/skills/qc/qa-reviewer/script/e2e.md +87 -0
- package/core/skills/qc/qa-reviewer/script/exploratory.md +45 -0
- package/core/skills/qc/qa-reviewer/script/functional.md +101 -0
- package/core/skills/qc/qa-reviewer/script/integration.md +91 -0
- package/core/skills/qc/qa-reviewer/script/non-functional.md +126 -0
- package/core/skills/qc/qa-reviewer/test-case/e2e.md +73 -0
- package/core/skills/qc/qa-reviewer/test-case/exploratory.md +43 -0
- package/core/skills/qc/qa-reviewer/test-case/functional.md +76 -0
- package/core/skills/qc/qa-reviewer/test-case/integration.md +69 -0
- package/core/skills/qc/qa-reviewer/test-case/non-functional.md +73 -0
- package/core/skills/qc/qa-runner/e2e.md +49 -0
- package/core/skills/qc/qa-runner/exploratory/session.md +36 -0
- package/core/skills/qc/qa-runner/functional/api.md +35 -0
- package/core/skills/qc/qa-runner/functional/gui-feature.md +51 -0
- package/core/skills/qc/qa-runner/functional/gui-screen.md +55 -0
- package/core/skills/qc/qa-runner/integration.md +47 -0
- package/core/skills/qc/qa-runner/non-functional.md +49 -0
- package/core/skills/qc/qa-runner/report/report.md +37 -0
- package/core/skills/setup-ai-first/SKILL.md +216 -0
- package/core/skills/spec/SKILL.md +461 -0
- package/core/skills/test/SKILL.md +1297 -0
- package/core/steps/capture-lesson.md +79 -0
- package/core/steps/context-loader.md +307 -0
- package/core/steps/gate.md +87 -0
- package/core/steps/report-footer.md +100 -0
- package/core/steps/review-fanout.md +138 -0
- package/core/steps/spawn-agent.md +124 -0
- package/core/steps/trace-mirror.md +26 -0
- package/core/templates/architecture.template.md +113 -0
- package/core/templates/design-spec.template.md +217 -0
- package/core/templates/feature.template +259 -0
- package/core/templates/platform-guide.template.md +145 -0
- package/core/templates/prd.template.md +327 -0
- package/core/templates/product-definition.template.md +168 -0
- package/core/templates/project-context.yaml +161 -0
- package/docs/01-getting-started/README.md +19 -0
- package/docs/01-getting-started/core-concepts.md +102 -0
- package/docs/01-getting-started/installation.md +156 -0
- package/docs/01-getting-started/quickstart.md +85 -0
- package/docs/02-guides/README.md +26 -0
- package/docs/02-guides/developer/README.md +46 -0
- package/docs/02-guides/developer/bdd-and-trace.md +125 -0
- package/docs/02-guides/developer/commands.md +76 -0
- package/docs/02-guides/developer/pr-checklist.md +15 -0
- package/docs/02-guides/developer/scenarios.md +460 -0
- package/docs/02-guides/developer/workflow.md +121 -0
- package/docs/02-guides/product-owner/README.md +79 -0
- package/docs/02-guides/product-owner/commands.md +30 -0
- package/docs/02-guides/product-owner/handoff-checklist.md +42 -0
- package/docs/02-guides/product-owner/prd-writing-rules.md +45 -0
- package/docs/02-guides/product-owner/scenarios.md +436 -0
- package/docs/02-guides/tester/README.md +75 -0
- package/docs/02-guides/tester/bug-reporting.md +117 -0
- package/docs/02-guides/tester/qc-automation.md +165 -0
- package/docs/02-guides/tester/reading-specs.md +79 -0
- package/docs/02-guides/tester/scenarios.md +186 -0
- package/docs/02-guides/tester/spec-manifest.md +130 -0
- package/docs/02-guides/tester/test-checklist.md +31 -0
- package/docs/02-guides/tester/workflow.md +77 -0
- package/docs/03-concepts/README.md +19 -0
- package/docs/03-concepts/architecture.md +248 -0
- package/docs/03-concepts/pipeline.md +274 -0
- package/docs/03-concepts/traceability.md +149 -0
- package/docs/04-operations/README.md +33 -0
- package/docs/04-operations/bug-flow.md +362 -0
- package/docs/04-operations/publishing.md +137 -0
- package/docs/04-operations/sync-and-update.md +522 -0
- package/docs/05-reference/README.md +32 -0
- package/docs/05-reference/command-cheatsheet.md +147 -0
- package/docs/05-reference/commands.md +232 -0
- package/docs/05-reference/modules.md +110 -0
- package/docs/05-reference/trace-schema.md +153 -0
- package/docs/README.md +49 -0
- package/hooks/data-guard.js +141 -0
- package/hooks/settings.json +18 -0
- package/modules/android-compose/module.yaml +13 -0
- package/modules/android-compose/stack-profile.yaml +57 -0
- package/modules/angular/architecture-snippets/component-patterns.md +187 -0
- package/modules/angular/module.yaml +6 -0
- package/modules/angular/stack-profile.yaml +38 -0
- package/modules/context-engineering/architecture-snippets/context-design.md +119 -0
- package/modules/context-engineering/module.yaml +9 -0
- package/modules/context-engineering/stack-profile.yaml +61 -0
- package/modules/dotnet/architecture-snippets/clean-arch.md +160 -0
- package/modules/dotnet/module.yaml +6 -0
- package/modules/dotnet/stack-profile.yaml +50 -0
- package/modules/flutter/module.yaml +14 -0
- package/modules/flutter/stack-profile.yaml +59 -0
- package/modules/golang/architecture-snippets/domain-layout.md +283 -0
- package/modules/golang/module.yaml +6 -0
- package/modules/golang/stack-profile.yaml +40 -0
- package/modules/ios-swiftui/module.yaml +13 -0
- package/modules/ios-swiftui/stack-profile.yaml +55 -0
- package/modules/java-spring/architecture-snippets/layered-arch.md +201 -0
- package/modules/java-spring/module.yaml +15 -0
- package/modules/java-spring/stack-profile.yaml +28 -0
- package/modules/nextjs/architecture-snippets/app-router-patterns.md +269 -0
- package/modules/nextjs/module.yaml +14 -0
- package/modules/nextjs/stack-profile.yaml +74 -0
- package/modules/nuxt/module.yaml +14 -0
- package/modules/nuxt/stack-profile.yaml +58 -0
- package/modules/php-laravel/architecture-snippets/service-repository.md +302 -0
- package/modules/php-laravel/module.yaml +15 -0
- package/modules/php-laravel/stack-profile.yaml +56 -0
- package/modules/qc-playwright/stack-profile.yaml +66 -0
- package/modules/react/architecture-snippets/hooks-query-patterns.md +254 -0
- package/modules/react/module.yaml +14 -0
- package/modules/react/stack-profile.yaml +63 -0
- package/modules/react-native/module.yaml +14 -0
- package/modules/react-native/stack-profile.yaml +56 -0
- package/modules/vue/module.yaml +14 -0
- package/modules/vue/stack-profile.yaml +65 -0
- package/package.json +49 -0
- package/rules/data-protection.md +80 -0
- package/rules/workflow.md +44 -0
- package/scripts/init.sh +49 -0
- package/scripts/migrate-specs.js +256 -0
- package/scripts/upgrade.sh +94 -0
- package/skills/code/SKILL.md +770 -0
- package/skills/code/SKILL.tmpl +176 -0
- package/skills/debug/SKILL.md +869 -0
- package/skills/debug/SKILL.tmpl +262 -0
- package/skills/design-spec/SKILL.md +589 -0
- package/skills/design-spec/SKILL.tmpl +95 -0
- package/skills/discovery/SKILL.md +554 -0
- package/skills/discovery/SKILL.tmpl +147 -0
- package/skills/prd/SKILL.md +562 -0
- package/skills/prd/SKILL.tmpl +188 -0
- package/skills/qc/qa-analyst/DOC_GAPS.template.md +63 -0
- package/skills/qc/qa-analyst/acceptance-criteria.md +60 -0
- package/skills/qc/qa-analyst/business-rules.md +59 -0
- package/skills/qc/qa-analyst/data-flow.md +64 -0
- package/skills/qc/qa-analyst/spec-breakdown.md +61 -0
- package/skills/qc/qa-designer/e2e/journey.md +41 -0
- package/skills/qc/qa-designer/exploratory/charter.md +68 -0
- package/skills/qc/qa-designer/exploratory/explore-to-functional.md +43 -0
- package/skills/qc/qa-designer/functional/api.md +45 -0
- package/skills/qc/qa-designer/functional/gui-feature.md +46 -0
- package/skills/qc/qa-designer/functional/gui-screen.md +52 -0
- package/skills/qc/qa-designer/integration/api.md +42 -0
- package/skills/qc/qa-designer/integration/db.md +39 -0
- package/skills/qc/qa-designer/integration/gui.md +40 -0
- package/skills/qc/qa-designer/integration/kafka.md +40 -0
- package/skills/qc/qa-designer/non-functional.md +40 -0
- package/skills/qc/qa-planner/test-plan.md +120 -0
- package/skills/qc/qa-reviewer/script/e2e.md +87 -0
- package/skills/qc/qa-reviewer/script/exploratory.md +45 -0
- package/skills/qc/qa-reviewer/script/functional.md +101 -0
- package/skills/qc/qa-reviewer/script/integration.md +91 -0
- package/skills/qc/qa-reviewer/script/non-functional.md +126 -0
- package/skills/qc/qa-reviewer/test-case/e2e.md +73 -0
- package/skills/qc/qa-reviewer/test-case/exploratory.md +43 -0
- package/skills/qc/qa-reviewer/test-case/functional.md +76 -0
- package/skills/qc/qa-reviewer/test-case/integration.md +69 -0
- package/skills/qc/qa-reviewer/test-case/non-functional.md +73 -0
- package/skills/qc/qa-runner/e2e.md +49 -0
- package/skills/qc/qa-runner/exploratory/session.md +36 -0
- package/skills/qc/qa-runner/functional/api.md +35 -0
- package/skills/qc/qa-runner/functional/gui-feature.md +51 -0
- package/skills/qc/qa-runner/functional/gui-screen.md +55 -0
- package/skills/qc/qa-runner/integration.md +47 -0
- package/skills/qc/qa-runner/non-functional.md +49 -0
- package/skills/qc/qa-runner/report/report.md +37 -0
- package/skills/setup-ai-first/SKILL.md +216 -0
- package/skills/setup-ai-first/SKILL.tmpl +116 -0
- package/skills/spec/SKILL.md +461 -0
- package/skills/spec/SKILL.tmpl +174 -0
- package/skills/test/SKILL.md +1297 -0
- package/skills/test/SKILL.tmpl +296 -0
- package/steps/capture-lesson.md +79 -0
- package/steps/context-loader.md +307 -0
- package/steps/gate.md +87 -0
- package/steps/report-footer.md +100 -0
- package/steps/review-fanout.md +138 -0
- package/steps/spawn-agent.md +124 -0
- package/steps/trace-mirror.md +26 -0
- package/templates/architecture.template.md +113 -0
- package/templates/design-spec.template.md +217 -0
- package/templates/feature.template +259 -0
- package/templates/platform-guide.template.md +145 -0
- package/templates/prd.template.md +327 -0
- package/templates/product-definition.template.md +168 -0
- package/templates/project-context.yaml +161 -0
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
# /update-framework — Update the Spec-Driven Docs Framework
|
|
2
|
+
|
|
3
|
+
Upgrades the **framework tooling** (`.agent/commands/`, `steps/`, `modules/`, `hooks/`, `rules/`, `templates/`, `skills/`) to the latest published version from npm.
|
|
4
|
+
|
|
5
|
+
> **Not the same as `/sync`.**
|
|
6
|
+
> - `/sync` → pulls **project content** (submodule code/specs) + refreshes Living Docs. Run daily.
|
|
7
|
+
> - `/update-framework` → upgrades the **framework command files themselves**. Run occasionally, when a new framework version ships.
|
|
8
|
+
|
|
9
|
+
This command wraps `npx @edupia-tutor/spec-driven-docs@latest --init`. It requires network + npm access.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Step 0 — Detect Current State
|
|
14
|
+
|
|
15
|
+
1. Read `.agent/FRAMEWORK_VERSION` → current installed version.
|
|
16
|
+
- If missing → this project was not installed via `--init`. Stop:
|
|
17
|
+
```
|
|
18
|
+
❌ .agent/FRAMEWORK_VERSION not found.
|
|
19
|
+
This project was not set up with the framework installer.
|
|
20
|
+
Run: npx @edupia-tutor/spec-driven-docs --init
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
2. Read `.agent/project-context.yaml` → extract `setup.mode` (`umbrella` / absent = single) and `services`.
|
|
24
|
+
|
|
25
|
+
3. List `.agent/modules/` → record installed module names (these must be re-passed on upgrade so they update too).
|
|
26
|
+
|
|
27
|
+
Print:
|
|
28
|
+
```
|
|
29
|
+
Current framework : v{current}
|
|
30
|
+
Mode : {umbrella | single-service}
|
|
31
|
+
Installed modules : {list or "none"}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Step 1 — Check Latest Version
|
|
37
|
+
|
|
38
|
+
Run:
|
|
39
|
+
```bash
|
|
40
|
+
npm view @edupia-tutor/spec-driven-docs version
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Compare `current` vs `latest`:
|
|
44
|
+
|
|
45
|
+
| Result | Action |
|
|
46
|
+
|--------|--------|
|
|
47
|
+
| Network/registry unreachable | Warn `⚠️ Could not reach npm registry — check connection.` and stop |
|
|
48
|
+
| `current == latest` | Print `✅ Already up to date (v{current}). Nothing to do.` and stop |
|
|
49
|
+
| `latest > current` | Print `Update available: v{current} → v{latest}` and continue |
|
|
50
|
+
|
|
51
|
+
Ask: `Proceed with upgrade? (Y/N)` — wait for `Y`.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Step 2 — Umbrella Awareness *(umbrella mode only)*
|
|
56
|
+
|
|
57
|
+
If `setup.mode == umbrella`, print this note before upgrading:
|
|
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
|
+
Run `git status --short .agent/ .claude/commands/`.
|
|
75
|
+
|
|
76
|
+
If there are uncommitted changes in those paths:
|
|
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
|
+
Ask whether to continue anyway `(Y/N)`. Default to stopping.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Step 4 — Run the Upgrade
|
|
88
|
+
|
|
89
|
+
Build the module flags from Step 0 (one `--module {name}` per installed module), then run:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npx -y @edupia-tutor/spec-driven-docs@latest --init {--module X ...}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
This **overwrites** (refreshes to the new version):
|
|
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
|
+
This **does NOT touch** (your content is safe):
|
|
101
|
+
- `.agent/project-context.yaml`
|
|
102
|
+
- `CLAUDE.md`
|
|
103
|
+
- `specs/domain-knowledge/` (business-dictionary, core-entities)
|
|
104
|
+
- `.trace/`
|
|
105
|
+
|
|
106
|
+
If the npx command exits non-zero → print the error and stop with `❌`.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Step 5 — Review Changes
|
|
111
|
+
|
|
112
|
+
Run:
|
|
113
|
+
```bash
|
|
114
|
+
git diff --stat .agent/ .claude/commands/
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Summarize for the user:
|
|
118
|
+
- **New commands** — `.md` files present now but not before
|
|
119
|
+
- **Updated commands** — files with changed content
|
|
120
|
+
- **Removed commands** — files deleted in the new version
|
|
121
|
+
|
|
122
|
+
If a new command appeared (e.g. a new slash command), call it out explicitly so the user knows it is now available.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Output
|
|
127
|
+
|
|
128
|
+
# Report Footer — Standard Command Output Format
|
|
129
|
+
|
|
130
|
+
Every command report must end with this standard footer section.
|
|
131
|
+
|
|
132
|
+
## Status Badge
|
|
133
|
+
|
|
134
|
+
Choose one based on outcome:
|
|
135
|
+
- `✅ Complete` — all steps succeeded, no issues found
|
|
136
|
+
- `❌ Failed` — command could not complete due to a blocking error
|
|
137
|
+
- `⚠️ Warnings` — completed with non-blocking issues that should be reviewed
|
|
138
|
+
|
|
139
|
+
## Output Artifacts
|
|
140
|
+
|
|
141
|
+
List every file created or modified by this command:
|
|
142
|
+
```
|
|
143
|
+
Output Artifacts:
|
|
144
|
+
{created|updated} {file-path} ({brief description})
|
|
145
|
+
{created|updated} {file-path} ({brief description})
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
If no files were written (e.g., review or analysis commands) → write `Output Artifacts: none (read-only)`.
|
|
149
|
+
|
|
150
|
+
## Pipeline Position
|
|
151
|
+
|
|
152
|
+
Print a one-line map of the pipeline with the CURRENT command's phase marked `◀ bạn ở đây`,
|
|
153
|
+
so the user always sees where this command sits in the end-to-end flow:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Discovery → PRD → [Design Spec] → BDD → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Find the current command in this phase legend and mark **its** phase in the map above:
|
|
160
|
+
|
|
161
|
+
| Phase | Commands |
|
|
162
|
+
|-------|----------|
|
|
163
|
+
| Discovery | `/define-product` |
|
|
164
|
+
| PRD | `/generate-prd` · `/refine-prd` · `/review-context` (PRD) |
|
|
165
|
+
| Design Spec | `/generate-design-spec` |
|
|
166
|
+
| BDD | `/generate-bdd` · `/review-context` (BDD) |
|
|
167
|
+
| Tech Design | `/generate-tech-docs` · `/map-testids` · `/review-tech-docs` |
|
|
168
|
+
| Code | `/generate-code` · `/review-code` |
|
|
169
|
+
| Dev Self-Check | `/dev-gen-test` · `/dev-run-test` · `/dev-smoke-test` |
|
|
170
|
+
| QC | `/qc-analyze` · `/qc-plan` · `/qc-design-test` · `/qc-review` · `/qc-run-test` · `/qc-report` |
|
|
171
|
+
| Trace Audit | `/validate-traces` |
|
|
172
|
+
|
|
173
|
+
For a **review command**, also append the 3-step review loop with the current step marked, e.g.:
|
|
174
|
+
`Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume`.
|
|
175
|
+
|
|
176
|
+
**Cross-cutting commands** (`/sync`, `/update-framework`, `/fix-bug`, `/debug`, `/learn`,
|
|
177
|
+
`/report-bug`, `/propose-scenario`, `/generate-spec-manifest`) sit outside the linear pipeline —
|
|
178
|
+
**omit the Pipeline line entirely** for these (do not force-fit them onto the map).
|
|
179
|
+
|
|
180
|
+
## Next Command Suggestion
|
|
181
|
+
|
|
182
|
+
Suggest the logical next command based on workflow phase:
|
|
183
|
+
|
|
184
|
+
| Current command | Suggest next |
|
|
185
|
+
|-------------------------|-----------------------------------------------|
|
|
186
|
+
| /setup-ai-first | `/define-product` to start your first feature |
|
|
187
|
+
| /define-product | `/generate-prd {product-definition-file}` |
|
|
188
|
+
| /generate-prd | `/refine-prd {prd-file}` then `/review-context {prd-file}` |
|
|
189
|
+
| /refine-prd | Open Review Board → update PRD → `/review-context {prd-file}` |
|
|
190
|
+
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (then BDD after sign-off); BE: `/generate-bdd {prd-file}` directly; fix PRD if NEEDS_FIX |
|
|
191
|
+
| /generate-design-spec | Designer review → Figma links confirmed → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
192
|
+
| /generate-bdd | `/review-context {feature-file}` to verify coverage |
|
|
193
|
+
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` if APPROVED; regenerate if NEEDS_FIX |
|
|
194
|
+
| /qc-analyze | `/qc-plan {UC-ID}` (resolve 🔴 blocker gaps first) |
|
|
195
|
+
| /qc-plan | `/qc-design-test {UC-ID}` |
|
|
196
|
+
| /qc-design-test | `/qc-review {UC-ID}` (test-case review) |
|
|
197
|
+
| /qc-review (test-case) | `/qc-run-test {UC-ID}` if APPROVED; fix TCs if NEEDS_FIX |
|
|
198
|
+
| /qc-run-test | `/qc-report {UC-ID}` then `/qc-review {UC-ID}` (script review) |
|
|
199
|
+
| /qc-review (script) | `/qc-report {UC-ID}` then create PR if APPROVED |
|
|
200
|
+
| /qc-report | `/validate-traces {UC-ID}` to refresh Living Docs (qc_status) |
|
|
201
|
+
| /generate-tech-docs | `/review-tech-docs {tech-design-file}` |
|
|
202
|
+
| /review-tech-docs | `/generate-code {feature-file}` if APPROVED; fix doc if NEEDS_FIX |
|
|
203
|
+
| /generate-code | First gen → `/review-code {UC-ID}`; re-gen → `/dev-gen-test {UC-ID}` |
|
|
204
|
+
| /dev-gen-test | `/dev-run-test {UC-ID}` |
|
|
205
|
+
| /dev-run-test (passing) | `/review-code {UC-ID}` |
|
|
206
|
+
| /dev-run-test (failing) | `/fix-bug {ticket-id}` or `/debug {error}` |
|
|
207
|
+
| /review-code | `/dev-smoke-test {UC-ID}` or create PR |
|
|
208
|
+
| /dev-smoke-test | Create PR and link to ticket |
|
|
209
|
+
| /validate-traces | DRIFT/UNTRACKED → `/generate-code {UC-ID}`; GAP → `/dev-gen-test {UC-ID}`; all OK → create PR |
|
|
210
|
+
| /fix-bug | Create PR and link to ticket |
|
|
211
|
+
| /debug | `/fix-bug {ticket-id}` if fix needed |
|
|
212
|
+
| /report-bug | Send to dev (`/fix-bug {BUG-ID}`); if coverage gap → `/propose-scenario {UC-ID}` |
|
|
213
|
+
| /propose-scenario | Notify PO/Dev to review the proposal in `feedback/bdd-proposals/` |
|
|
214
|
+
| /learn | Continue working — lesson applies on next command |
|
|
215
|
+
| /sync | `/validate-traces` for full coverage; act on any `📥 tester feedback` surfaced |
|
|
216
|
+
| /update-framework | Review `git diff .agent/`, commit; `/sync` for project content |
|
|
217
|
+
|
|
218
|
+
Format the footer as:
|
|
219
|
+
```
|
|
220
|
+
---
|
|
221
|
+
Status : {badge}
|
|
222
|
+
{Output Artifacts block}
|
|
223
|
+
Pipeline : Discovery → PRD → [BDD ◀ bạn ở đây] → Tech Design → Code → Dev Self-Check → QC → Trace Audit
|
|
224
|
+
(review cmd) Vòng review: [① phân tích ◀] → ② Review Board → ③ --resume
|
|
225
|
+
Next : {suggested command with example arguments}
|
|
226
|
+
```
|
|
227
|
+
*(Omit the `Pipeline` line for cross-cutting commands listed above.)*
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
/update-framework — v{current} → v{latest}
|
|
232
|
+
|
|
233
|
+
✅ Framework upgraded
|
|
234
|
+
Updated : {N} command files, {M} step files
|
|
235
|
+
New : {list any new commands, e.g. /some-new-command}
|
|
236
|
+
Removed : {list any removed commands, or "none"}
|
|
237
|
+
|
|
238
|
+
Your content was preserved:
|
|
239
|
+
project-context.yaml, CLAUDE.md, domain-knowledge/, .trace/ — untouched
|
|
240
|
+
|
|
241
|
+
Review & commit:
|
|
242
|
+
git diff .agent/
|
|
243
|
+
git add .agent/ .claude/commands/
|
|
244
|
+
git commit -m "chore: upgrade spec-driven-docs v{current} → v{latest}"
|
|
245
|
+
{umbrella mode: this is the umbrella root — service submodules need no framework update}
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
Status : ✅ Complete | ⚠️ Warnings
|
|
249
|
+
Output Artifacts: refreshed .agent/ framework files, .claude/commands/ shortcuts
|
|
250
|
+
Next : review git diff, then commit | /sync to refresh project content
|
|
251
|
+
```
|