bmad-enhanced 1.1.3 → 1.3.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/README.md +178 -58
- package/package.json +7 -3
- package/scripts/install-all-agents.js +9 -9
- package/scripts/install-emma.js +4 -4
- package/scripts/install-wade.js +4 -4
- package/scripts/postinstall.js +100 -11
- package/scripts/update/bmad-migrate.js +116 -0
- package/scripts/update/bmad-update.js +206 -0
- package/scripts/update/bmad-version.js +94 -0
- package/scripts/update/lib/backup-manager.js +279 -0
- package/scripts/update/lib/config-merger.js +232 -0
- package/scripts/update/lib/migration-runner.js +402 -0
- package/scripts/update/lib/validator.js +430 -0
- package/scripts/update/lib/version-detector.js +246 -0
- package/scripts/update/migrations/1.0.x-to-1.3.0.js +265 -0
- package/scripts/update/migrations/1.1.x-to-1.3.0.js +166 -0
- package/scripts/update/migrations/1.2.x-to-1.3.0.js +166 -0
- package/scripts/update/migrations/registry.js +185 -0
package/README.md
CHANGED
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
> Strategic framing and validated learning through Emma and Wade
|
|
6
6
|
|
|
7
|
-
[]()
|
|
8
|
+
[]()
|
|
9
|
+
[]()
|
|
10
|
+
[]()
|
|
11
|
+
[]()
|
|
11
12
|
[]()
|
|
12
13
|
|
|
13
14
|
---
|
|
@@ -62,10 +63,10 @@ npx bmad-method@alpha install
|
|
|
62
63
|
Once BMAD Method is installed:
|
|
63
64
|
|
|
64
65
|
```bash
|
|
65
|
-
npm install bmad-enhanced@1.
|
|
66
|
+
npm install bmad-enhanced@1.3.0 && npx bmad-install-agents
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
That's it! Emma and Wade (Vortex framework) are now added to your BMAD installation.
|
|
69
|
+
That's it! Emma and Wade (Vortex framework) with all 7 workflows are now added to your BMAD installation.
|
|
69
70
|
|
|
70
71
|
### Installation
|
|
71
72
|
|
|
@@ -73,14 +74,14 @@ That's it! Emma and Wade (Vortex framework) are now added to your BMAD installat
|
|
|
73
74
|
|
|
74
75
|
```bash
|
|
75
76
|
# Install into your project
|
|
76
|
-
npm install bmad-enhanced@1.
|
|
77
|
+
npm install bmad-enhanced@1.3.0
|
|
77
78
|
|
|
78
|
-
# Install all agents (Emma + Wade)
|
|
79
|
+
# Install all agents (Emma + Wade) with all 7 workflows
|
|
79
80
|
npx bmad-install-agents
|
|
80
81
|
|
|
81
82
|
# Or install individually
|
|
82
|
-
npx bmad-install-emma # Install Emma (
|
|
83
|
-
npx bmad-install-wade # Install Wade (
|
|
83
|
+
npx bmad-install-emma # Install Emma (3 Contextualize workflows)
|
|
84
|
+
npx bmad-install-wade # Install Wade (4 Externalize workflows)
|
|
84
85
|
```
|
|
85
86
|
|
|
86
87
|
**Option 2: Clone from source**
|
|
@@ -99,10 +100,12 @@ cat _bmad/bme/_vortex/agents/contextualization-expert.md
|
|
|
99
100
|
|
|
100
101
|
**What gets installed:**
|
|
101
102
|
- Agent definition files (`_bmad/bme/_vortex/agents/`)
|
|
102
|
-
-
|
|
103
|
+
- **7 complete workflows** (56 files):
|
|
104
|
+
- Emma: lean-persona, product-vision, contextualize-scope
|
|
105
|
+
- Wade: mvp, lean-experiment, proof-of-concept, proof-of-value
|
|
103
106
|
- Configuration file (`_bmad/bme/_vortex/config.yaml`)
|
|
104
107
|
- Output directory (`_bmad-output/vortex-artifacts/`)
|
|
105
|
-
- User guides (
|
|
108
|
+
- User guides (Emma & Wade v1.2.0)
|
|
106
109
|
|
|
107
110
|
### Your First Lean Persona with Emma
|
|
108
111
|
|
|
@@ -111,12 +114,22 @@ cat _bmad/bme/_vortex/agents/contextualization-expert.md
|
|
|
111
114
|
cat _bmad/bme/_vortex/agents/contextualization-expert.md
|
|
112
115
|
```
|
|
113
116
|
|
|
114
|
-
Emma will guide you through strategic contextualization:
|
|
115
|
-
- **Lean Persona:** Jobs-to-be-done focused user personas (coming in v1.2.0)
|
|
116
|
-
- **Product Vision:** Align team around the "why" before the "what" (coming in v1.2.0)
|
|
117
|
-
- **Contextualize Scope:** Decide which problem space to investigate (coming in v1.2.0)
|
|
117
|
+
Emma will guide you through strategic contextualization with 3 workflows:
|
|
118
118
|
|
|
119
|
-
**
|
|
119
|
+
- **[LP] Lean Persona** - Create jobs-to-be-done focused user personas
|
|
120
|
+
- 6-step guided workflow
|
|
121
|
+
- Hypothesis-driven with validation planning
|
|
122
|
+
- Output: Lean persona document with riskiest assumptions identified
|
|
123
|
+
|
|
124
|
+
- **[PV] Product Vision** - Define strategic product vision
|
|
125
|
+
- Vision statement, future state (3-5 years), guiding principles
|
|
126
|
+
- Strategic assumptions and validation plan
|
|
127
|
+
- Output: Complete product vision document
|
|
128
|
+
|
|
129
|
+
- **[CS] Contextualize Scope** - Decide which problem space to investigate
|
|
130
|
+
- Systematic opportunity evaluation with scoring matrix
|
|
131
|
+
- Clear scope boundaries (what's in, what's out)
|
|
132
|
+
- Output: Scope decision document with rationale
|
|
120
133
|
|
|
121
134
|
### Your First Lean Experiment with Wade
|
|
122
135
|
|
|
@@ -125,13 +138,106 @@ Emma will guide you through strategic contextualization:
|
|
|
125
138
|
cat _bmad/bme/_vortex/agents/lean-experiments-specialist.md
|
|
126
139
|
```
|
|
127
140
|
|
|
128
|
-
Wade will guide you through validated learning:
|
|
129
|
-
|
|
130
|
-
- **
|
|
131
|
-
-
|
|
132
|
-
-
|
|
141
|
+
Wade will guide you through validated learning with 4 workflows:
|
|
142
|
+
|
|
143
|
+
- **[MVP] Minimum Viable Product** - Design MVPs to test riskiest assumptions
|
|
144
|
+
- Not feature-light products - smallest thing to test assumptions
|
|
145
|
+
- Build-Measure-Learn cycle planning
|
|
146
|
+
- Output: MVP specification document
|
|
147
|
+
|
|
148
|
+
- **[LE] Lean Experiment** - Execute Build-Measure-Learn cycles
|
|
149
|
+
- Hypothesis-driven experimentation framework
|
|
150
|
+
- Metrics definition and pivot-or-persevere decisions
|
|
151
|
+
- Output: Experiment results and learning documentation
|
|
152
|
+
|
|
153
|
+
- **[POC] Proof-of-Concept** - Validate technical feasibility
|
|
154
|
+
- Test "Can we build it?" before "Should we build it?"
|
|
155
|
+
- Technical risk assessment and PoC scoping
|
|
156
|
+
- Output: Feasibility evaluation document
|
|
133
157
|
|
|
134
|
-
**
|
|
158
|
+
- **[POV] Proof-of-Value** - Validate business value
|
|
159
|
+
- Test "Should we build it?" (business case)
|
|
160
|
+
- Willingness to pay and market demand experiments
|
|
161
|
+
- Output: Business case and build/pivot/kill decision
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 🔄 Updating BMAD-Enhanced
|
|
166
|
+
|
|
167
|
+
### Check Version
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
npx bmad-version
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Output shows:**
|
|
174
|
+
- Current installed version
|
|
175
|
+
- Latest package version
|
|
176
|
+
- Update availability status
|
|
177
|
+
- Migration history
|
|
178
|
+
|
|
179
|
+
### Update to Latest Version
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Update the package
|
|
183
|
+
npm install bmad-enhanced@latest
|
|
184
|
+
|
|
185
|
+
# Preview changes (dry run)
|
|
186
|
+
npx bmad-update --dry-run
|
|
187
|
+
|
|
188
|
+
# Apply the update
|
|
189
|
+
npx bmad-update
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Your data is automatically backed up before any changes.**
|
|
193
|
+
|
|
194
|
+
### Update Commands
|
|
195
|
+
|
|
196
|
+
- `npx bmad-update` - Apply updates and migrations
|
|
197
|
+
- `npx bmad-update --dry-run` - Preview changes without applying
|
|
198
|
+
- `npx bmad-update --yes` - Skip confirmation prompt
|
|
199
|
+
- `npx bmad-version` - Show current version and status
|
|
200
|
+
|
|
201
|
+
### Data Safety
|
|
202
|
+
|
|
203
|
+
**Automatic backups before every update:**
|
|
204
|
+
- Location: `_bmad-output/.backups/backup-{version}-{timestamp}/`
|
|
205
|
+
- Automatic rollback if migration fails
|
|
206
|
+
- Keeps last 5 backups
|
|
207
|
+
|
|
208
|
+
**Never touched:**
|
|
209
|
+
- All user data in `_bmad-output/`
|
|
210
|
+
- User preferences (name, language)
|
|
211
|
+
- Custom configurations
|
|
212
|
+
|
|
213
|
+
### Migration Paths
|
|
214
|
+
|
|
215
|
+
**From v1.1.x to v1.3.0:**
|
|
216
|
+
- No breaking changes
|
|
217
|
+
- Agent files refreshed (bug fixes)
|
|
218
|
+
- User guides updated
|
|
219
|
+
|
|
220
|
+
**From v1.0.x to v1.3.0:**
|
|
221
|
+
- ⚠️ Breaking: empathy-map → lean-persona
|
|
222
|
+
- Old workflows preserved in `_deprecated/`
|
|
223
|
+
- 7 new workflows installed
|
|
224
|
+
|
|
225
|
+
### Troubleshooting
|
|
226
|
+
|
|
227
|
+
If update fails:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Check migration logs
|
|
231
|
+
ls _bmad-output/.logs/
|
|
232
|
+
|
|
233
|
+
# Restore from backup
|
|
234
|
+
cp -r _bmad-output/.backups/backup-{version}-{timestamp}/* _bmad/bme/_vortex/
|
|
235
|
+
|
|
236
|
+
# Reinstall (preserves user data)
|
|
237
|
+
npx bmad-install-agents
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**📖 See [UPDATE-GUIDE.md](UPDATE-GUIDE.md) for comprehensive update documentation**
|
|
135
241
|
|
|
136
242
|
---
|
|
137
243
|
|
|
@@ -155,82 +261,85 @@ All agents built using a standard pattern:
|
|
|
155
261
|
|
|
156
262
|
## 🚀 Agents
|
|
157
263
|
|
|
158
|
-
### Emma (contextualization-expert) - ✅
|
|
264
|
+
### Emma (contextualization-expert) - ✅ COMPLETE
|
|
159
265
|
|
|
160
|
-
**Status:**
|
|
266
|
+
**Status:** v1.2.0 - All 3 workflows implemented and ready to use
|
|
161
267
|
**Title:** Contextualization Expert 🎯
|
|
162
268
|
**Stream:** Contextualize
|
|
163
269
|
**Domain:** Strategic framing, problem-product space navigation
|
|
164
270
|
|
|
165
|
-
**
|
|
166
|
-
- **
|
|
167
|
-
- **
|
|
168
|
-
- **
|
|
271
|
+
**Workflows Available Now:**
|
|
272
|
+
- **lean-persona** - Create jobs-to-be-done focused personas (6 steps)
|
|
273
|
+
- **product-vision** - Define clear product vision and strategic direction (6 steps)
|
|
274
|
+
- **contextualize-scope** - Decide which problem space to investigate (6 steps)
|
|
169
275
|
|
|
170
276
|
**Key Positioning:**
|
|
171
277
|
- Helps teams frame the right problem before building solutions
|
|
172
278
|
- Focus on Lean Startup methodologies and validated assumptions
|
|
173
279
|
- Guides teams through strategic clarity before tactical execution
|
|
280
|
+
- Hypothesis-driven with built-in validation planning
|
|
174
281
|
|
|
175
282
|
**Differentiation:**
|
|
176
283
|
- **Emma vs Maya:** Emma contextualizes (problem space), Maya creates (solution space)
|
|
177
284
|
- Emma answers "What should we solve?" before Maya answers "How should we solve it?"
|
|
178
285
|
|
|
179
|
-
**
|
|
286
|
+
**Output:** Lean personas, product visions, and scope decisions in `_bmad-output/vortex-artifacts/`
|
|
180
287
|
|
|
181
288
|
---
|
|
182
289
|
|
|
183
|
-
### Wade (lean-experiments-specialist) - ✅
|
|
290
|
+
### Wade (lean-experiments-specialist) - ✅ COMPLETE
|
|
184
291
|
|
|
185
|
-
**Status:**
|
|
292
|
+
**Status:** v1.2.0 - All 4 workflows implemented and ready to use
|
|
186
293
|
**Title:** Lean Experiments Specialist 🧪
|
|
187
294
|
**Stream:** Externalize
|
|
188
295
|
**Domain:** Lean Startup experimentation, validated learning
|
|
189
296
|
|
|
190
|
-
**
|
|
191
|
-
- **
|
|
192
|
-
- **
|
|
193
|
-
- **
|
|
194
|
-
- **
|
|
297
|
+
**Workflows Available Now:**
|
|
298
|
+
- **mvp** - Design Minimum Viable Product to test riskiest assumptions (6 steps)
|
|
299
|
+
- **lean-experiment** - Run Build-Measure-Learn cycles (6 steps)
|
|
300
|
+
- **proof-of-concept** - Validate technical feasibility (6 steps)
|
|
301
|
+
- **proof-of-value** - Validate business value (6 steps)
|
|
195
302
|
|
|
196
303
|
**Key Positioning:**
|
|
197
304
|
- Helps teams test assumptions with real users through rapid experiments
|
|
198
305
|
- Focus on validated learning over perfection
|
|
199
306
|
- Guides teams from hypotheses to evidence
|
|
307
|
+
- Build-Measure-Learn cycles with pivot-or-persevere decisions
|
|
200
308
|
|
|
201
309
|
**Differentiation:**
|
|
202
310
|
- **Wade vs Sally:** Wade externalizes (test with users), Sally internalizes (test with code)
|
|
203
311
|
- Wade answers "Should we build this?" before Sally answers "How do we build this well?"
|
|
204
312
|
|
|
205
|
-
**
|
|
313
|
+
**Output:** MVP specs, experiment results, PoC/PoV evaluations in `_bmad-output/vortex-artifacts/`
|
|
206
314
|
|
|
207
315
|
---
|
|
208
316
|
|
|
209
317
|
## 📊 Project Status
|
|
210
318
|
|
|
211
|
-
**Current Version:** v1.
|
|
319
|
+
**Current Version:** v1.2.0 - Complete Vortex Framework Implementation ✅
|
|
212
320
|
|
|
213
321
|
**Progress:**
|
|
214
|
-
- ✅ Emma -
|
|
215
|
-
- ✅ Wade -
|
|
216
|
-
-
|
|
322
|
+
- ✅ Emma - 3 Contextualize workflows IMPLEMENTED (v1.2.0)
|
|
323
|
+
- ✅ Wade - 4 Externalize workflows IMPLEMENTED (v1.2.0)
|
|
324
|
+
- ✅ 56 workflow files created (7 workflows × 8 files each)
|
|
325
|
+
- ✅ User guides updated to v1.2.0
|
|
217
326
|
|
|
218
|
-
**What
|
|
219
|
-
-
|
|
220
|
-
-
|
|
221
|
-
-
|
|
222
|
-
-
|
|
327
|
+
**What's New in v1.2.0:**
|
|
328
|
+
- **7 complete workflows** - lean-persona, product-vision, contextualize-scope (Emma) + mvp, lean-experiment, proof-of-concept, proof-of-value (Wade)
|
|
329
|
+
- **Lean Startup methodology** - Hypothesis-driven, Build-Measure-Learn cycles
|
|
330
|
+
- **Updated documentation** - Emma & Wade user guides v1.2.0
|
|
331
|
+
- **Deprecated workflows archived** - empathy-map and wireframe moved to `_deprecated/` (still functional)
|
|
223
332
|
|
|
224
333
|
**Roadmap:**
|
|
225
334
|
```
|
|
226
|
-
v1.1.0 v1.2.0 v2.0.0
|
|
227
|
-
|
|
228
|
-
│ Repositioning ✅ │ Workflows 📋
|
|
229
|
-
│ • New identity │ • 7 workflows
|
|
230
|
-
│ • Framework │ • Templates │ • Integration │
|
|
231
|
-
│ • Structure │ • User guides
|
|
232
|
-
|
|
233
|
-
Feb 2026
|
|
335
|
+
v1.1.0 v1.2.0 v1.3.0 v2.0.0
|
|
336
|
+
├─────────────────┬────────────────────────┬──────────────────┬──────────────────┤
|
|
337
|
+
│ Repositioning ✅ │ Workflows ✅ │ Tooling 📋 │ Advanced 📋 │
|
|
338
|
+
│ • New identity │ • 7 workflows │ • Update tools │ • Multi-agent │
|
|
339
|
+
│ • Framework │ • Templates │ • Migration │ • Integration │
|
|
340
|
+
│ • Structure │ • User guides │ • Automation │ • Analytics │
|
|
341
|
+
└─────────────────┴────────────────────────┴──────────────────┴──────────────────┘
|
|
342
|
+
Feb 2026 Feb 2026 Q2 2026 Q3 2026
|
|
234
343
|
```
|
|
235
344
|
|
|
236
345
|
**See:** [CHANGELOG.md](CHANGELOG.md) for complete version history
|
|
@@ -721,11 +830,22 @@ Built on:
|
|
|
721
830
|
- Use Wade alone for experiment design and validation
|
|
722
831
|
- Use both together for complete Contextualize → Externalize flow
|
|
723
832
|
|
|
724
|
-
###
|
|
833
|
+
### Are the new workflows ready?
|
|
834
|
+
|
|
835
|
+
**Yes! v1.2.0 released February 2026.** All 7 workflows are fully implemented and ready to use:
|
|
836
|
+
|
|
837
|
+
**Emma (Contextualize):**
|
|
838
|
+
- lean-persona (6-step workflow)
|
|
839
|
+
- product-vision (6-step workflow)
|
|
840
|
+
- contextualize-scope (6-step workflow)
|
|
725
841
|
|
|
726
|
-
**
|
|
842
|
+
**Wade (Externalize):**
|
|
843
|
+
- mvp (6-step workflow)
|
|
844
|
+
- lean-experiment (6-step workflow)
|
|
845
|
+
- proof-of-concept (6-step workflow)
|
|
846
|
+
- proof-of-value (6-step workflow)
|
|
727
847
|
|
|
728
|
-
|
|
848
|
+
Each workflow includes templates, step files, and comprehensive guidance.
|
|
729
849
|
|
|
730
850
|
### How is this different from BMAD core agents?
|
|
731
851
|
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bmad-enhanced",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Vortex Framework - Contextualize and Externalize streams for Lean Startup validation",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"bmad-install-agents": "scripts/install-all-agents.js",
|
|
8
8
|
"bmad-install-emma": "scripts/install-emma.js",
|
|
9
|
-
"bmad-install-wade": "scripts/install-wade.js"
|
|
9
|
+
"bmad-install-wade": "scripts/install-wade.js",
|
|
10
|
+
"bmad-update": "scripts/update/bmad-update.js",
|
|
11
|
+
"bmad-version": "scripts/update/bmad-version.js",
|
|
12
|
+
"bmad-migrate": "scripts/update/bmad-migrate.js"
|
|
10
13
|
},
|
|
11
14
|
"scripts": {
|
|
12
15
|
"install:emma": "node scripts/install-emma.js",
|
|
@@ -37,6 +40,7 @@
|
|
|
37
40
|
},
|
|
38
41
|
"dependencies": {
|
|
39
42
|
"chalk": "^4.1.2",
|
|
40
|
-
"fs-extra": "^11.3.3"
|
|
43
|
+
"fs-extra": "^11.3.3",
|
|
44
|
+
"js-yaml": "^4.1.0"
|
|
41
45
|
}
|
|
42
46
|
}
|
|
@@ -65,8 +65,8 @@ function copyAllAgentFiles() {
|
|
|
65
65
|
|
|
66
66
|
// Create target directory structure
|
|
67
67
|
fs.mkdirSync(path.join(targetDir, 'agents'), { recursive: true });
|
|
68
|
-
fs.mkdirSync(path.join(targetDir, 'workflows', 'empathy-map', 'steps'), { recursive: true });
|
|
69
|
-
fs.mkdirSync(path.join(targetDir, 'workflows', 'wireframe', 'steps'), { recursive: true });
|
|
68
|
+
fs.mkdirSync(path.join(targetDir, 'workflows', '_deprecated', 'empathy-map', 'steps'), { recursive: true });
|
|
69
|
+
fs.mkdirSync(path.join(targetDir, 'workflows', '_deprecated', 'wireframe', 'steps'), { recursive: true });
|
|
70
70
|
|
|
71
71
|
// Copy Emma agent file
|
|
72
72
|
console.log(`${CYAN} →${RESET} Installing Emma (contextualization-expert)...`);
|
|
@@ -89,8 +89,8 @@ function copyAllAgentFiles() {
|
|
|
89
89
|
|
|
90
90
|
emmaWorkflowFiles.forEach(file => {
|
|
91
91
|
fs.copyFileSync(
|
|
92
|
-
path.join(sourceDir, 'workflows', 'empathy-map', file),
|
|
93
|
-
path.join(targetDir, 'workflows', 'empathy-map', file)
|
|
92
|
+
path.join(sourceDir, 'workflows', '_deprecated', 'empathy-map', file),
|
|
93
|
+
path.join(targetDir, 'workflows', '_deprecated', 'empathy-map', file)
|
|
94
94
|
);
|
|
95
95
|
});
|
|
96
96
|
|
|
@@ -117,8 +117,8 @@ function copyAllAgentFiles() {
|
|
|
117
117
|
|
|
118
118
|
wadeWorkflowFiles.forEach(file => {
|
|
119
119
|
fs.copyFileSync(
|
|
120
|
-
path.join(sourceDir, 'workflows', 'wireframe', file),
|
|
121
|
-
path.join(targetDir, 'workflows', 'wireframe', file)
|
|
120
|
+
path.join(sourceDir, 'workflows', '_deprecated', 'wireframe', file),
|
|
121
|
+
path.join(targetDir, 'workflows', '_deprecated', 'wireframe', file)
|
|
122
122
|
);
|
|
123
123
|
});
|
|
124
124
|
|
|
@@ -136,7 +136,7 @@ function updateConfig() {
|
|
|
136
136
|
submodule_name: _vortex
|
|
137
137
|
description: Contextualize and Externalize streams - Strategic framing and validated learning
|
|
138
138
|
module: bme
|
|
139
|
-
version: 1.
|
|
139
|
+
version: 1.2.0
|
|
140
140
|
|
|
141
141
|
# Output Configuration
|
|
142
142
|
output_folder: "{project-root}/_bmad-output/vortex-artifacts"
|
|
@@ -194,8 +194,8 @@ function verifyInstallation() {
|
|
|
194
194
|
const checks = [
|
|
195
195
|
{ path: '_bmad/bme/_vortex/agents/contextualization-expert.md', name: 'Emma agent file' },
|
|
196
196
|
{ path: '_bmad/bme/_vortex/agents/lean-experiments-specialist.md', name: 'Wade agent file' },
|
|
197
|
-
{ path: '_bmad/bme/_vortex/workflows/empathy-map/workflow.md', name: 'Emma workflow' },
|
|
198
|
-
{ path: '_bmad/bme/_vortex/workflows/wireframe/workflow.md', name: 'Wade workflow' },
|
|
197
|
+
{ path: '_bmad/bme/_vortex/workflows/_deprecated/empathy-map/workflow.md', name: 'Emma workflow (legacy)' },
|
|
198
|
+
{ path: '_bmad/bme/_vortex/workflows/_deprecated/wireframe/workflow.md', name: 'Wade workflow (legacy)' },
|
|
199
199
|
{ path: '_bmad/bme/_vortex/config.yaml', name: 'Configuration file' },
|
|
200
200
|
];
|
|
201
201
|
|
package/scripts/install-emma.js
CHANGED
|
@@ -53,7 +53,7 @@ function copyAgentFiles() {
|
|
|
53
53
|
|
|
54
54
|
// Create target directory structure
|
|
55
55
|
fs.mkdirSync(path.join(targetDir, 'agents'), { recursive: true });
|
|
56
|
-
fs.mkdirSync(path.join(targetDir, 'workflows', 'empathy-map', 'steps'), { recursive: true });
|
|
56
|
+
fs.mkdirSync(path.join(targetDir, 'workflows', '_deprecated', 'empathy-map', 'steps'), { recursive: true });
|
|
57
57
|
|
|
58
58
|
// Copy Emma agent file
|
|
59
59
|
fs.copyFileSync(
|
|
@@ -75,8 +75,8 @@ function copyAgentFiles() {
|
|
|
75
75
|
|
|
76
76
|
workflowFiles.forEach(file => {
|
|
77
77
|
fs.copyFileSync(
|
|
78
|
-
path.join(sourceDir, 'workflows', 'empathy-map', file),
|
|
79
|
-
path.join(targetDir, 'workflows', 'empathy-map', file)
|
|
78
|
+
path.join(sourceDir, 'workflows', '_deprecated', 'empathy-map', file),
|
|
79
|
+
path.join(targetDir, 'workflows', '_deprecated', 'empathy-map', file)
|
|
80
80
|
);
|
|
81
81
|
});
|
|
82
82
|
|
|
@@ -95,7 +95,7 @@ function updateConfig() {
|
|
|
95
95
|
submodule_name: _vortex
|
|
96
96
|
description: Contextualize and Externalize streams - Strategic framing and validated learning
|
|
97
97
|
module: bme
|
|
98
|
-
version: 1.
|
|
98
|
+
version: 1.2.0
|
|
99
99
|
|
|
100
100
|
# Output Configuration
|
|
101
101
|
output_folder: "{project-root}/_bmad-output/vortex-artifacts"
|
package/scripts/install-wade.js
CHANGED
|
@@ -53,7 +53,7 @@ function copyAgentFiles() {
|
|
|
53
53
|
|
|
54
54
|
// Create target directory structure
|
|
55
55
|
fs.mkdirSync(path.join(targetDir, 'agents'), { recursive: true });
|
|
56
|
-
fs.mkdirSync(path.join(targetDir, 'workflows', 'wireframe', 'steps'), { recursive: true });
|
|
56
|
+
fs.mkdirSync(path.join(targetDir, 'workflows', '_deprecated', 'wireframe', 'steps'), { recursive: true });
|
|
57
57
|
|
|
58
58
|
// Copy Wade agent file
|
|
59
59
|
fs.copyFileSync(
|
|
@@ -75,8 +75,8 @@ function copyAgentFiles() {
|
|
|
75
75
|
|
|
76
76
|
workflowFiles.forEach(file => {
|
|
77
77
|
fs.copyFileSync(
|
|
78
|
-
path.join(sourceDir, 'workflows', 'wireframe', file),
|
|
79
|
-
path.join(targetDir, 'workflows', 'wireframe', file)
|
|
78
|
+
path.join(sourceDir, 'workflows', '_deprecated', 'wireframe', file),
|
|
79
|
+
path.join(targetDir, 'workflows', '_deprecated', 'wireframe', file)
|
|
80
80
|
);
|
|
81
81
|
});
|
|
82
82
|
|
|
@@ -95,7 +95,7 @@ function updateConfig() {
|
|
|
95
95
|
submodule_name: _vortex
|
|
96
96
|
description: Contextualize and Externalize streams - Strategic framing and validated learning
|
|
97
97
|
module: bme
|
|
98
|
-
version: 1.
|
|
98
|
+
version: 1.2.0
|
|
99
99
|
|
|
100
100
|
# Output Configuration
|
|
101
101
|
output_folder: "{project-root}/_bmad-output/vortex-artifacts"
|
package/scripts/postinstall.js
CHANGED
|
@@ -1,17 +1,106 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
|
|
6
|
+
// Check if update system is available
|
|
7
|
+
const versionDetectorPath = path.join(__dirname, 'update/lib/version-detector.js');
|
|
8
|
+
const registryPath = path.join(__dirname, 'update/migrations/registry.js');
|
|
9
|
+
|
|
10
|
+
const hasUpdateSystem = fs.existsSync(versionDetectorPath) && fs.existsSync(registryPath);
|
|
11
|
+
|
|
12
|
+
// ANSI color codes
|
|
3
13
|
const BOLD = '\x1b[1m';
|
|
4
14
|
const RESET = '\x1b[0m';
|
|
5
15
|
const CYAN = '\x1b[36m';
|
|
16
|
+
const GREEN = '\x1b[32m';
|
|
17
|
+
const YELLOW = '\x1b[33m';
|
|
18
|
+
const RED = '\x1b[31m';
|
|
19
|
+
|
|
20
|
+
async function main() {
|
|
21
|
+
console.log('');
|
|
22
|
+
console.log(`${BOLD}BMAD-Enhanced installed!${RESET}`);
|
|
23
|
+
console.log('');
|
|
24
|
+
|
|
25
|
+
// If update system available, check for upgrades
|
|
26
|
+
if (hasUpdateSystem) {
|
|
27
|
+
const versionDetector = require('./update/lib/version-detector');
|
|
28
|
+
const registry = require('./update/migrations/registry');
|
|
29
|
+
|
|
30
|
+
const currentVersion = versionDetector.getCurrentVersion();
|
|
31
|
+
const targetVersion = versionDetector.getTargetVersion();
|
|
32
|
+
const scenario = versionDetector.detectInstallationScenario();
|
|
33
|
+
|
|
34
|
+
// Fresh install
|
|
35
|
+
if (scenario === 'fresh' || !currentVersion) {
|
|
36
|
+
console.log('To install agents into your project, run:');
|
|
37
|
+
console.log('');
|
|
38
|
+
console.log(` ${CYAN}npx bmad-install-agents${RESET} - Install all agents (Emma + Wade)`);
|
|
39
|
+
console.log('');
|
|
40
|
+
console.log('Or install individually:');
|
|
41
|
+
console.log(` ${CYAN}npx bmad-install-emma${RESET} - Install Emma (contextualization-expert)`);
|
|
42
|
+
console.log(` ${CYAN}npx bmad-install-wade${RESET} - Install Wade (lean-experiments-specialist)`);
|
|
43
|
+
console.log('');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Already up to date
|
|
48
|
+
if (currentVersion === targetVersion) {
|
|
49
|
+
console.log(`${GREEN}✓ BMAD-Enhanced is up to date! (v${currentVersion})${RESET}`);
|
|
50
|
+
console.log('');
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Upgrade detected
|
|
55
|
+
if (versionDetector.compareVersions(currentVersion, targetVersion) < 0) {
|
|
56
|
+
console.log(`${YELLOW}${BOLD}⚠ UPGRADE DETECTED${RESET}`);
|
|
57
|
+
console.log('');
|
|
58
|
+
console.log(` Current version: ${RED}${currentVersion}${RESET}`);
|
|
59
|
+
console.log(` New version: ${GREEN}${targetVersion}${RESET}`);
|
|
60
|
+
console.log('');
|
|
61
|
+
|
|
62
|
+
// Check for breaking changes
|
|
63
|
+
const breakingChanges = registry.getBreakingChanges(currentVersion, targetVersion);
|
|
64
|
+
if (breakingChanges.length > 0) {
|
|
65
|
+
console.log(`${RED}${BOLD} ⚠ Breaking changes detected!${RESET}`);
|
|
66
|
+
console.log('');
|
|
67
|
+
console.log(' Breaking changes:');
|
|
68
|
+
breakingChanges.forEach(change => {
|
|
69
|
+
console.log(`${YELLOW} - ${change}${RESET}`);
|
|
70
|
+
});
|
|
71
|
+
console.log('');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
console.log('To preview changes without applying:');
|
|
75
|
+
console.log(` ${CYAN}npx bmad-update --dry-run${RESET}`);
|
|
76
|
+
console.log('');
|
|
77
|
+
console.log('To apply the update:');
|
|
78
|
+
console.log(` ${CYAN}npx bmad-update${RESET}`);
|
|
79
|
+
console.log('');
|
|
80
|
+
console.log(`${BOLD}Your data will be backed up automatically before any changes.${RESET}`);
|
|
81
|
+
console.log('');
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Downgrade (shouldn't happen normally)
|
|
86
|
+
if (versionDetector.compareVersions(currentVersion, targetVersion) > 0) {
|
|
87
|
+
console.log(`${YELLOW}Note: Package version (${targetVersion}) is older than installed version (${currentVersion})${RESET}`);
|
|
88
|
+
console.log('');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
// Fallback to original message if update system not available
|
|
93
|
+
console.log('To install agents into your project, run:');
|
|
94
|
+
console.log('');
|
|
95
|
+
console.log(` ${CYAN}npx bmad-install-agents${RESET} - Install all agents (Emma + Wade)`);
|
|
96
|
+
console.log('');
|
|
97
|
+
console.log('Or install individually:');
|
|
98
|
+
console.log(` ${CYAN}npx bmad-install-emma${RESET} - Install Emma (empathy-mapper)`);
|
|
99
|
+
console.log(` ${CYAN}npx bmad-install-wade${RESET} - Install Wade (wireframe-designer)`);
|
|
100
|
+
console.log('');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
6
103
|
|
|
7
|
-
|
|
8
|
-
console.
|
|
9
|
-
|
|
10
|
-
console.log('To install agents into your project, run:');
|
|
11
|
-
console.log('');
|
|
12
|
-
console.log(` ${CYAN}npx bmad-install-agents${RESET} - Install all agents (Emma + Wade)`);
|
|
13
|
-
console.log('');
|
|
14
|
-
console.log('Or install individually:');
|
|
15
|
-
console.log(` ${CYAN}npx bmad-install-emma${RESET} - Install Emma (empathy-mapper)`);
|
|
16
|
-
console.log(` ${CYAN}npx bmad-install-wade${RESET} - Install Wade (wireframe-designer)`);
|
|
17
|
-
console.log('');
|
|
104
|
+
main().catch(error => {
|
|
105
|
+
console.error('Error in postinstall:', error.message);
|
|
106
|
+
});
|