@anhth2/spec-driven-dev-plugin 0.5.0 → 0.6.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/ARCHITECTURE.md +1 -1
- package/bin/index.js +5 -5
- package/commands/setup-ai-first.md +24 -6
- package/commands/setup-ai-first.tmpl +24 -6
- package/core/FRAMEWORK_VERSION +1 -1
- package/core/commands/setup-ai-first.md +24 -6
- package/package.json +1 -1
- package/scripts/init.sh +2 -2
- package/scripts/upgrade.sh +4 -4
package/ARCHITECTURE.md
CHANGED
|
@@ -128,7 +128,7 @@ Available modules (modules/):
|
|
|
128
128
|
dotnet, golang, php-laravel, context-engineering
|
|
129
129
|
|
|
130
130
|
Usage:
|
|
131
|
-
npx @anhth2/spec-driven-dev --module java-spring
|
|
131
|
+
npx @anhth2/spec-driven-dev-plugin --module java-spring
|
|
132
132
|
└─ copies modules/java-spring/ → consumer/.agent/modules/java-spring/
|
|
133
133
|
|
|
134
134
|
At runtime, context-loader.md reads:
|
package/bin/index.js
CHANGED
|
@@ -25,7 +25,7 @@ const AVAILABLE_MODULES = [
|
|
|
25
25
|
];
|
|
26
26
|
|
|
27
27
|
if (showHelp) {
|
|
28
|
-
console.log('Usage: npx @anhth2/spec-driven-dev [options]');
|
|
28
|
+
console.log('Usage: npx @anhth2/spec-driven-dev-plugin [options]');
|
|
29
29
|
console.log('');
|
|
30
30
|
console.log('Install modes:');
|
|
31
31
|
console.log(' --init NEW: Install framework to .agent/ + create shortcuts in .claude/commands/');
|
|
@@ -41,9 +41,9 @@ if (showHelp) {
|
|
|
41
41
|
AVAILABLE_MODULES.forEach(m => console.log(` ${m}`));
|
|
42
42
|
console.log('');
|
|
43
43
|
console.log('Examples:');
|
|
44
|
-
console.log(' npx @anhth2/spec-driven-dev --init # new project setup');
|
|
45
|
-
console.log(' npx @anhth2/spec-driven-dev --init --module java-spring # with stack module');
|
|
46
|
-
console.log(' npx @anhth2/spec-driven-dev --project --hooks # legacy project install');
|
|
44
|
+
console.log(' npx @anhth2/spec-driven-dev-plugin --init # new project setup');
|
|
45
|
+
console.log(' npx @anhth2/spec-driven-dev-plugin --init --module java-spring # with stack module');
|
|
46
|
+
console.log(' npx @anhth2/spec-driven-dev-plugin --project --hooks # legacy project install');
|
|
47
47
|
process.exit(0);
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -157,7 +157,7 @@ if (isInit) {
|
|
|
157
157
|
console.log(' 2. Commit .agent/ to git so your whole team has the framework');
|
|
158
158
|
console.log('');
|
|
159
159
|
console.log('To upgrade later: bash scripts/upgrade.sh');
|
|
160
|
-
console.log(' (or: npx @anhth2/spec-driven-dev@latest --init)');
|
|
160
|
+
console.log(' (or: npx @anhth2/spec-driven-dev-plugin@latest --init)');
|
|
161
161
|
console.log('');
|
|
162
162
|
process.exit(0);
|
|
163
163
|
}
|
|
@@ -86,15 +86,17 @@ Wait for explicit "Y" or "N" from the user before continuing.
|
|
|
86
86
|
- "N" → stop and ask what the user wants to change.
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
*Note: For this command, there is no input file
|
|
89
|
+
*Note: For this command — **skip Gate Steps 1, 2, and 3** (there is no input file and no project context yet). Only run Step 0-B (model check). The project root is the **current working directory**. Proceed directly to the Precondition Check below.*
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
93
93
|
## Precondition Check
|
|
94
94
|
|
|
95
95
|
Check if already set up:
|
|
96
|
-
- If
|
|
97
|
-
-
|
|
96
|
+
- If `CLAUDE.md` **and** `.agent/project-context.yaml` both exist → ask: "This project is already initialized. Re-run setup to regenerate config files? (Y/N)"
|
|
97
|
+
- N → stop
|
|
98
|
+
- Y → continue (existing files will be preserved — each step will offer merge/skip)
|
|
99
|
+
- If only `specs/` exists or only partial setup detected → continue normally (safe to re-run)
|
|
98
100
|
|
|
99
101
|
## Step 1 — Create Directory Structure
|
|
100
102
|
|
|
@@ -171,7 +173,7 @@ commit_feature: "feat({{TICKET_PREFIX}}-{N}): {description}"
|
|
|
171
173
|
|
|
172
174
|
## Step 3 — Create project-context.yaml
|
|
173
175
|
|
|
174
|
-
Create `.agent/project-context.yaml` using
|
|
176
|
+
Create `.agent/project-context.yaml` using `.agent/templates/project-context.yaml` as the source template.
|
|
175
177
|
|
|
176
178
|
Copy the template and instruct: "Open `.agent/project-context.yaml` and fill in all `{{PLACEHOLDER}}` values. The `paths` section is pre-configured with sensible defaults — adjust if your project uses different directory names."
|
|
177
179
|
|
|
@@ -254,7 +256,21 @@ Create `specs/domain-knowledge/core-entities.md` if it does not exist:
|
|
|
254
256
|
|
|
255
257
|
Instruct: "Open `specs/domain-knowledge/core-entities.md` and define your key domain entities. Start with aggregate roots. This file is loaded by every AI command — good definitions here save significant back-and-forth during code generation."
|
|
256
258
|
|
|
257
|
-
## Step 6 —
|
|
259
|
+
## Step 6 — Install VS Code Extension (Recommended)
|
|
260
|
+
|
|
261
|
+
Recommend the user install the **Spec Driven Dev** VS Code extension — it provides Review Board + Living Documentation panels that integrate with this workflow.
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
code --install-extension edupia-team.spec-driven-dev-team
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Or: VS Code → `Ctrl+Shift+P` → **"Extensions: Install from Marketplace"** → search **Spec Driven Dev**.
|
|
268
|
+
|
|
269
|
+
**What it does:**
|
|
270
|
+
- 📋 **Review Board** — visual UI to review findings from `/refine-prd`, `/review-context`, `/review-tech-docs`
|
|
271
|
+
- 📊 **Living Documentation** — traceability dashboard driven by `.trace/*.tsv`
|
|
272
|
+
|
|
273
|
+
## Step 7 — Verify
|
|
258
274
|
|
|
259
275
|
- [ ] `specs/` exists
|
|
260
276
|
- [ ] `specs/domain-knowledge/` exists
|
|
@@ -274,5 +290,7 @@ Next:
|
|
|
274
290
|
3. Fill specs/domain-knowledge/business-dictionary.md ← terminology rules
|
|
275
291
|
4. Fill specs/domain-knowledge/core-entities.md ← entity glossary for code gen
|
|
276
292
|
5. git add and commit those 4 files
|
|
277
|
-
6.
|
|
293
|
+
6. Install VS Code extension (if not yet installed):
|
|
294
|
+
code --install-extension edupia-team.spec-driven-dev-team
|
|
295
|
+
7. /define-product to start your first feature
|
|
278
296
|
```
|
|
@@ -5,15 +5,17 @@ Walk the user through a one-time setup that creates all required directories, in
|
|
|
5
5
|
## Gate
|
|
6
6
|
{{include:steps/gate.md}}
|
|
7
7
|
|
|
8
|
-
*Note: For this command, there is no input file
|
|
8
|
+
*Note: For this command — **skip Gate Steps 1, 2, and 3** (there is no input file and no project context yet). Only run Step 0-B (model check). The project root is the **current working directory**. Proceed directly to the Precondition Check below.*
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
## Precondition Check
|
|
13
13
|
|
|
14
14
|
Check if already set up:
|
|
15
|
-
- If
|
|
16
|
-
-
|
|
15
|
+
- If `CLAUDE.md` **and** `.agent/project-context.yaml` both exist → ask: "This project is already initialized. Re-run setup to regenerate config files? (Y/N)"
|
|
16
|
+
- N → stop
|
|
17
|
+
- Y → continue (existing files will be preserved — each step will offer merge/skip)
|
|
18
|
+
- If only `specs/` exists or only partial setup detected → continue normally (safe to re-run)
|
|
17
19
|
|
|
18
20
|
## Step 1 — Create Directory Structure
|
|
19
21
|
|
|
@@ -90,7 +92,7 @@ commit_feature: "feat({{TICKET_PREFIX}}-{N}): {description}"
|
|
|
90
92
|
|
|
91
93
|
## Step 3 — Create project-context.yaml
|
|
92
94
|
|
|
93
|
-
Create `.agent/project-context.yaml` using
|
|
95
|
+
Create `.agent/project-context.yaml` using `.agent/templates/project-context.yaml` as the source template.
|
|
94
96
|
|
|
95
97
|
Copy the template and instruct: "Open `.agent/project-context.yaml` and fill in all `{{PLACEHOLDER}}` values. The `paths` section is pre-configured with sensible defaults — adjust if your project uses different directory names."
|
|
96
98
|
|
|
@@ -173,7 +175,21 @@ Create `specs/domain-knowledge/core-entities.md` if it does not exist:
|
|
|
173
175
|
|
|
174
176
|
Instruct: "Open `specs/domain-knowledge/core-entities.md` and define your key domain entities. Start with aggregate roots. This file is loaded by every AI command — good definitions here save significant back-and-forth during code generation."
|
|
175
177
|
|
|
176
|
-
## Step 6 —
|
|
178
|
+
## Step 6 — Install VS Code Extension (Recommended)
|
|
179
|
+
|
|
180
|
+
Recommend the user install the **Spec Driven Dev** VS Code extension — it provides Review Board + Living Documentation panels that integrate with this workflow.
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
code --install-extension edupia-team.spec-driven-dev-team
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Or: VS Code → `Ctrl+Shift+P` → **"Extensions: Install from Marketplace"** → search **Spec Driven Dev**.
|
|
187
|
+
|
|
188
|
+
**What it does:**
|
|
189
|
+
- 📋 **Review Board** — visual UI to review findings from `/refine-prd`, `/review-context`, `/review-tech-docs`
|
|
190
|
+
- 📊 **Living Documentation** — traceability dashboard driven by `.trace/*.tsv`
|
|
191
|
+
|
|
192
|
+
## Step 7 — Verify
|
|
177
193
|
|
|
178
194
|
- [ ] `specs/` exists
|
|
179
195
|
- [ ] `specs/domain-knowledge/` exists
|
|
@@ -193,5 +209,7 @@ Next:
|
|
|
193
209
|
3. Fill specs/domain-knowledge/business-dictionary.md ← terminology rules
|
|
194
210
|
4. Fill specs/domain-knowledge/core-entities.md ← entity glossary for code gen
|
|
195
211
|
5. git add and commit those 4 files
|
|
196
|
-
6.
|
|
212
|
+
6. Install VS Code extension (if not yet installed):
|
|
213
|
+
code --install-extension edupia-team.spec-driven-dev-team
|
|
214
|
+
7. /define-product to start your first feature
|
|
197
215
|
```
|
package/core/FRAMEWORK_VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.6.0
|
|
@@ -86,15 +86,17 @@ Wait for explicit "Y" or "N" from the user before continuing.
|
|
|
86
86
|
- "N" → stop and ask what the user wants to change.
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
*Note: For this command, there is no input file
|
|
89
|
+
*Note: For this command — **skip Gate Steps 1, 2, and 3** (there is no input file and no project context yet). Only run Step 0-B (model check). The project root is the **current working directory**. Proceed directly to the Precondition Check below.*
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
93
93
|
## Precondition Check
|
|
94
94
|
|
|
95
95
|
Check if already set up:
|
|
96
|
-
- If
|
|
97
|
-
-
|
|
96
|
+
- If `CLAUDE.md` **and** `.agent/project-context.yaml` both exist → ask: "This project is already initialized. Re-run setup to regenerate config files? (Y/N)"
|
|
97
|
+
- N → stop
|
|
98
|
+
- Y → continue (existing files will be preserved — each step will offer merge/skip)
|
|
99
|
+
- If only `specs/` exists or only partial setup detected → continue normally (safe to re-run)
|
|
98
100
|
|
|
99
101
|
## Step 1 — Create Directory Structure
|
|
100
102
|
|
|
@@ -171,7 +173,7 @@ commit_feature: "feat({{TICKET_PREFIX}}-{N}): {description}"
|
|
|
171
173
|
|
|
172
174
|
## Step 3 — Create project-context.yaml
|
|
173
175
|
|
|
174
|
-
Create `.agent/project-context.yaml` using
|
|
176
|
+
Create `.agent/project-context.yaml` using `.agent/templates/project-context.yaml` as the source template.
|
|
175
177
|
|
|
176
178
|
Copy the template and instruct: "Open `.agent/project-context.yaml` and fill in all `{{PLACEHOLDER}}` values. The `paths` section is pre-configured with sensible defaults — adjust if your project uses different directory names."
|
|
177
179
|
|
|
@@ -254,7 +256,21 @@ Create `specs/domain-knowledge/core-entities.md` if it does not exist:
|
|
|
254
256
|
|
|
255
257
|
Instruct: "Open `specs/domain-knowledge/core-entities.md` and define your key domain entities. Start with aggregate roots. This file is loaded by every AI command — good definitions here save significant back-and-forth during code generation."
|
|
256
258
|
|
|
257
|
-
## Step 6 —
|
|
259
|
+
## Step 6 — Install VS Code Extension (Recommended)
|
|
260
|
+
|
|
261
|
+
Recommend the user install the **Spec Driven Dev** VS Code extension — it provides Review Board + Living Documentation panels that integrate with this workflow.
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
code --install-extension edupia-team.spec-driven-dev-team
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Or: VS Code → `Ctrl+Shift+P` → **"Extensions: Install from Marketplace"** → search **Spec Driven Dev**.
|
|
268
|
+
|
|
269
|
+
**What it does:**
|
|
270
|
+
- 📋 **Review Board** — visual UI to review findings from `/refine-prd`, `/review-context`, `/review-tech-docs`
|
|
271
|
+
- 📊 **Living Documentation** — traceability dashboard driven by `.trace/*.tsv`
|
|
272
|
+
|
|
273
|
+
## Step 7 — Verify
|
|
258
274
|
|
|
259
275
|
- [ ] `specs/` exists
|
|
260
276
|
- [ ] `specs/domain-knowledge/` exists
|
|
@@ -274,5 +290,7 @@ Next:
|
|
|
274
290
|
3. Fill specs/domain-knowledge/business-dictionary.md ← terminology rules
|
|
275
291
|
4. Fill specs/domain-knowledge/core-entities.md ← entity glossary for code gen
|
|
276
292
|
5. git add and commit those 4 files
|
|
277
|
-
6.
|
|
293
|
+
6. Install VS Code extension (if not yet installed):
|
|
294
|
+
code --install-extension edupia-team.spec-driven-dev-team
|
|
295
|
+
7. /define-product to start your first feature
|
|
278
296
|
```
|
package/package.json
CHANGED
package/scripts/init.sh
CHANGED
|
@@ -33,10 +33,10 @@ fi
|
|
|
33
33
|
|
|
34
34
|
# ── Run installer via npx ─────────────────────────────────────────────────────
|
|
35
35
|
|
|
36
|
-
echo "Running: npx @anhth2/spec-driven-dev --init $*"
|
|
36
|
+
echo "Running: npx @anhth2/spec-driven-dev-plugin --init $*"
|
|
37
37
|
echo ""
|
|
38
38
|
|
|
39
|
-
npx -y @anhth2/spec-driven-dev --init "$@"
|
|
39
|
+
npx -y @anhth2/spec-driven-dev-plugin --init "$@"
|
|
40
40
|
|
|
41
41
|
echo ""
|
|
42
42
|
echo "✅ Init complete!"
|
package/scripts/upgrade.sh
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
# What it does:
|
|
9
9
|
# 1. Reads current installed version from .agent/FRAMEWORK_VERSION
|
|
10
10
|
# 2. Checks npm registry for the latest published version
|
|
11
|
-
# 3. If newer: runs npx @anhth2/spec-driven-dev@latest --init to update .agent/
|
|
11
|
+
# 3. If newer: runs npx @anhth2/spec-driven-dev-plugin@latest --init to update .agent/
|
|
12
12
|
# 4. Reports what changed so you can review before committing
|
|
13
13
|
#
|
|
14
14
|
# Requirements:
|
|
@@ -46,7 +46,7 @@ if [ ! -f "$VERSION_FILE" ]; then
|
|
|
46
46
|
echo ""
|
|
47
47
|
echo " bash scripts/init.sh"
|
|
48
48
|
echo " or:"
|
|
49
|
-
echo " npx @anhth2/spec-driven-dev --init"
|
|
49
|
+
echo " npx @anhth2/spec-driven-dev-plugin --init"
|
|
50
50
|
echo ""
|
|
51
51
|
exit 1
|
|
52
52
|
fi
|
|
@@ -56,7 +56,7 @@ fi
|
|
|
56
56
|
CURRENT=$(cat "$VERSION_FILE" | tr -d '[:space:]')
|
|
57
57
|
echo "Checking npm registry ..."
|
|
58
58
|
|
|
59
|
-
LATEST=$(npm view @anhth2/spec-driven-dev version 2>/dev/null || echo "unknown")
|
|
59
|
+
LATEST=$(npm view @anhth2/spec-driven-dev-plugin version 2>/dev/null || echo "unknown")
|
|
60
60
|
|
|
61
61
|
echo ""
|
|
62
62
|
echo " Installed : v${CURRENT}"
|
|
@@ -79,7 +79,7 @@ fi
|
|
|
79
79
|
echo "Upgrading v${CURRENT} → v${LATEST} ..."
|
|
80
80
|
echo ""
|
|
81
81
|
|
|
82
|
-
npx -y @anhth2/spec-driven-dev@latest --init "$@"
|
|
82
|
+
npx -y @anhth2/spec-driven-dev-plugin@latest --init "$@"
|
|
83
83
|
|
|
84
84
|
# ── Post-upgrade guidance ─────────────────────────────────────────────────────
|
|
85
85
|
|