bmad-enhanced 1.3.6 → 1.3.8
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/package.json +1 -1
- package/scripts/install-all-agents.js +41 -18
- package/scripts/update/migrations/1.0.x-to-1.3.0.js +16 -7
- package/scripts/update/migrations/1.1.x-to-1.3.0.js +18 -9
- package/scripts/update/migrations/1.2.x-to-1.3.0.js +18 -9
- package/scripts/update/migrations/registry.js +3 -3
package/package.json
CHANGED
|
@@ -29,29 +29,20 @@ function checkPrerequisites() {
|
|
|
29
29
|
const targetDir = process.cwd();
|
|
30
30
|
const bmadDir = path.join(targetDir, '_bmad');
|
|
31
31
|
|
|
32
|
-
//
|
|
32
|
+
// Create _bmad directory if it doesn't exist
|
|
33
33
|
if (!fs.existsSync(bmadDir)) {
|
|
34
|
-
console.log(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
console.log(`${
|
|
38
|
-
console.log('');
|
|
39
|
-
console.log('Please install BMAD Method:');
|
|
40
|
-
console.log(` ${CYAN}npx bmad-method@alpha install${RESET}`);
|
|
41
|
-
console.log('');
|
|
42
|
-
console.log('Then run this installer again.');
|
|
43
|
-
console.log('');
|
|
44
|
-
process.exit(1);
|
|
34
|
+
console.log(`${YELLOW} ⚠${RESET} _bmad directory not found - creating it`);
|
|
35
|
+
fs.mkdirSync(bmadDir, { recursive: true });
|
|
36
|
+
} else {
|
|
37
|
+
console.log(`${GREEN} ✓${RESET} BMAD directory detected`);
|
|
45
38
|
}
|
|
46
39
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// Check for BMAD version/compatibility (optional but recommended)
|
|
40
|
+
// Check for BMAD Method configuration (optional)
|
|
50
41
|
const bmadConfigPath = path.join(bmadDir, '_config', 'bmad.yaml');
|
|
51
42
|
if (fs.existsSync(bmadConfigPath)) {
|
|
52
|
-
console.log(`${GREEN} ✓${RESET} BMAD configuration found`);
|
|
43
|
+
console.log(`${GREEN} ✓${RESET} BMAD Method configuration found`);
|
|
53
44
|
} else {
|
|
54
|
-
console.log(`${YELLOW} ⚠${RESET} BMAD
|
|
45
|
+
console.log(`${YELLOW} ⚠${RESET} BMAD Method not detected (BMAD-Enhanced will install standalone)`);
|
|
55
46
|
}
|
|
56
47
|
|
|
57
48
|
console.log(`${GREEN} ✓${RESET} Prerequisites met`);
|
|
@@ -164,7 +155,7 @@ function updateConfig() {
|
|
|
164
155
|
submodule_name: _vortex
|
|
165
156
|
description: Contextualize and Externalize streams - Strategic framing and validated learning
|
|
166
157
|
module: bme
|
|
167
|
-
version: 1.3.
|
|
158
|
+
version: 1.3.8
|
|
168
159
|
|
|
169
160
|
# Output Configuration
|
|
170
161
|
output_folder: "{project-root}/_bmad-output/vortex-artifacts"
|
|
@@ -302,11 +293,43 @@ function printSuccess() {
|
|
|
302
293
|
console.log('');
|
|
303
294
|
}
|
|
304
295
|
|
|
296
|
+
function cleanupLegacyFiles() {
|
|
297
|
+
console.log(`${CYAN} →${RESET} Cleaning up legacy files...`);
|
|
298
|
+
|
|
299
|
+
// Remove _designos directory (pre-Vortex structure) from all possible locations
|
|
300
|
+
const legacyPaths = [
|
|
301
|
+
path.join(process.cwd(), '_bmad', 'bme', '_designos'),
|
|
302
|
+
path.join(process.cwd(), '_bmad', '_designos'),
|
|
303
|
+
];
|
|
304
|
+
|
|
305
|
+
for (const legacyPath of legacyPaths) {
|
|
306
|
+
if (fs.existsSync(legacyPath)) {
|
|
307
|
+
fs.removeSync(legacyPath);
|
|
308
|
+
console.log(`${GREEN} ✓${RESET} Removed legacy directory: ${path.relative(process.cwd(), legacyPath)}`);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// Remove deprecated agent files from _vortex/agents
|
|
313
|
+
const agentsDir = path.join(process.cwd(), '_bmad', 'bme', '_vortex', 'agents');
|
|
314
|
+
const deprecatedAgents = ['empathy-mapper.md', 'wireframe-designer.md'];
|
|
315
|
+
|
|
316
|
+
for (const agent of deprecatedAgents) {
|
|
317
|
+
const agentPath = path.join(agentsDir, agent);
|
|
318
|
+
if (fs.existsSync(agentPath)) {
|
|
319
|
+
fs.removeSync(agentPath);
|
|
320
|
+
console.log(`${GREEN} ✓${RESET} Removed deprecated agent: ${agent}`);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
console.log(`${GREEN} ✓${RESET} Legacy cleanup complete`);
|
|
325
|
+
}
|
|
326
|
+
|
|
305
327
|
async function main() {
|
|
306
328
|
try {
|
|
307
329
|
printBanner();
|
|
308
330
|
checkPrerequisites();
|
|
309
331
|
copyAllAgentFiles();
|
|
332
|
+
cleanupLegacyFiles();
|
|
310
333
|
updateConfig();
|
|
311
334
|
createOutputDirectory();
|
|
312
335
|
verifyInstallation();
|
|
@@ -16,7 +16,7 @@ const configMerger = require('../lib/config-merger');
|
|
|
16
16
|
module.exports = {
|
|
17
17
|
name: '1.0.x-to-1.3.0',
|
|
18
18
|
fromVersion: '1.0.x',
|
|
19
|
-
toVersion: '1.3.
|
|
19
|
+
toVersion: '1.3.8',
|
|
20
20
|
breaking: true,
|
|
21
21
|
|
|
22
22
|
/**
|
|
@@ -65,7 +65,7 @@ module.exports = {
|
|
|
65
65
|
changes.push('Installed 7 new Vortex Framework workflows');
|
|
66
66
|
|
|
67
67
|
// 5. Update config.yaml with new structure
|
|
68
|
-
await updateConfig(targetDir, '1.3.
|
|
68
|
+
await updateConfig(targetDir, '1.3.8');
|
|
69
69
|
changes.push('Updated config.yaml');
|
|
70
70
|
|
|
71
71
|
// 6. Update agent files
|
|
@@ -289,12 +289,21 @@ async function copyUserGuides() {
|
|
|
289
289
|
* Remove old _designos directory (pre-Vortex structure)
|
|
290
290
|
*/
|
|
291
291
|
async function removeOldDesignosDirectory() {
|
|
292
|
-
const
|
|
292
|
+
const legacyPaths = [
|
|
293
|
+
path.join(process.cwd(), '_bmad/bme/_designos'),
|
|
294
|
+
path.join(process.cwd(), '_bmad/_designos'),
|
|
295
|
+
];
|
|
293
296
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
297
|
+
let removed = false;
|
|
298
|
+
for (const designosPath of legacyPaths) {
|
|
299
|
+
if (fs.existsSync(designosPath)) {
|
|
300
|
+
await fs.remove(designosPath);
|
|
301
|
+
console.log(` Removed legacy directory: ${path.relative(process.cwd(), designosPath)}`);
|
|
302
|
+
removed = true;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (!removed) {
|
|
298
307
|
console.log(' No legacy _designos directory found (OK)');
|
|
299
308
|
}
|
|
300
309
|
}
|
|
@@ -17,7 +17,7 @@ const configMerger = require('../lib/config-merger');
|
|
|
17
17
|
module.exports = {
|
|
18
18
|
name: '1.1.x-to-1.3.0',
|
|
19
19
|
fromVersion: '1.1.x',
|
|
20
|
-
toVersion: '1.3.
|
|
20
|
+
toVersion: '1.3.8',
|
|
21
21
|
breaking: false,
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
async preview() {
|
|
28
28
|
return {
|
|
29
29
|
actions: [
|
|
30
|
-
'Update version: 1.1.x → 1.3.
|
|
30
|
+
'Update version: 1.1.x → 1.3.8',
|
|
31
31
|
'Verify deprecated workflows archived',
|
|
32
32
|
'Remove legacy _designos directory (pre-Vortex structure)',
|
|
33
33
|
'Remove deprecated agent files (empathy-mapper.md, wireframe-designer.md)',
|
|
@@ -47,8 +47,8 @@ module.exports = {
|
|
|
47
47
|
const targetDir = path.join(process.cwd(), '_bmad/bme/_vortex');
|
|
48
48
|
|
|
49
49
|
// 1. Update version in config.yaml
|
|
50
|
-
await updateConfigVersion('1.3.
|
|
51
|
-
changes.push('Updated version to 1.3.
|
|
50
|
+
await updateConfigVersion('1.3.8');
|
|
51
|
+
changes.push('Updated version to 1.3.8');
|
|
52
52
|
|
|
53
53
|
// 2. Verify deprecated structure exists
|
|
54
54
|
await ensureDeprecatedStructure(targetDir);
|
|
@@ -190,12 +190,21 @@ async function copyUserGuides() {
|
|
|
190
190
|
* Remove old _designos directory (pre-Vortex structure)
|
|
191
191
|
*/
|
|
192
192
|
async function removeOldDesignosDirectory() {
|
|
193
|
-
const
|
|
193
|
+
const legacyPaths = [
|
|
194
|
+
path.join(process.cwd(), '_bmad/bme/_designos'),
|
|
195
|
+
path.join(process.cwd(), '_bmad/_designos'),
|
|
196
|
+
];
|
|
194
197
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
let removed = false;
|
|
199
|
+
for (const designosPath of legacyPaths) {
|
|
200
|
+
if (fs.existsSync(designosPath)) {
|
|
201
|
+
await fs.remove(designosPath);
|
|
202
|
+
console.log(` Removed legacy directory: ${path.relative(process.cwd(), designosPath)}`);
|
|
203
|
+
removed = true;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
if (!removed) {
|
|
199
208
|
console.log(' No legacy _designos directory found (OK)');
|
|
200
209
|
}
|
|
201
210
|
}
|
|
@@ -17,7 +17,7 @@ const configMerger = require('../lib/config-merger');
|
|
|
17
17
|
module.exports = {
|
|
18
18
|
name: '1.2.x-to-1.3.0',
|
|
19
19
|
fromVersion: '1.2.x',
|
|
20
|
-
toVersion: '1.3.
|
|
20
|
+
toVersion: '1.3.8',
|
|
21
21
|
breaking: false,
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
async preview() {
|
|
28
28
|
return {
|
|
29
29
|
actions: [
|
|
30
|
-
'Update version: 1.2.x → 1.3.
|
|
30
|
+
'Update version: 1.2.x → 1.3.8',
|
|
31
31
|
'Verify deprecated workflows archived',
|
|
32
32
|
'Remove legacy _designos directory (pre-Vortex structure)',
|
|
33
33
|
'Remove deprecated agent files (empathy-mapper.md, wireframe-designer.md)',
|
|
@@ -47,8 +47,8 @@ module.exports = {
|
|
|
47
47
|
const targetDir = path.join(process.cwd(), '_bmad/bme/_vortex');
|
|
48
48
|
|
|
49
49
|
// 1. Update version in config.yaml
|
|
50
|
-
await updateConfigVersion('1.3.
|
|
51
|
-
changes.push('Updated version to 1.3.
|
|
50
|
+
await updateConfigVersion('1.3.8');
|
|
51
|
+
changes.push('Updated version to 1.3.8');
|
|
52
52
|
|
|
53
53
|
// 2. Verify deprecated structure exists
|
|
54
54
|
await ensureDeprecatedStructure(targetDir);
|
|
@@ -190,12 +190,21 @@ async function copyUserGuides() {
|
|
|
190
190
|
* Remove old _designos directory (pre-Vortex structure)
|
|
191
191
|
*/
|
|
192
192
|
async function removeOldDesignosDirectory() {
|
|
193
|
-
const
|
|
193
|
+
const legacyPaths = [
|
|
194
|
+
path.join(process.cwd(), '_bmad/bme/_designos'),
|
|
195
|
+
path.join(process.cwd(), '_bmad/_designos'),
|
|
196
|
+
];
|
|
194
197
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
let removed = false;
|
|
199
|
+
for (const designosPath of legacyPaths) {
|
|
200
|
+
if (fs.existsSync(designosPath)) {
|
|
201
|
+
await fs.remove(designosPath);
|
|
202
|
+
console.log(` Removed legacy directory: ${path.relative(process.cwd(), designosPath)}`);
|
|
203
|
+
removed = true;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
if (!removed) {
|
|
199
208
|
console.log(' No legacy _designos directory found (OK)');
|
|
200
209
|
}
|
|
201
210
|
}
|
|
@@ -14,7 +14,7 @@ const MIGRATIONS = [
|
|
|
14
14
|
{
|
|
15
15
|
name: '1.0.x-to-1.3.0',
|
|
16
16
|
fromVersion: '1.0.x',
|
|
17
|
-
toVersion: '1.3.
|
|
17
|
+
toVersion: '1.3.8',
|
|
18
18
|
breaking: true,
|
|
19
19
|
description: 'Migrate empathy-map workflow to lean-persona',
|
|
20
20
|
module: null // Loaded on demand
|
|
@@ -22,7 +22,7 @@ const MIGRATIONS = [
|
|
|
22
22
|
{
|
|
23
23
|
name: '1.1.x-to-1.3.0',
|
|
24
24
|
fromVersion: '1.1.x',
|
|
25
|
-
toVersion: '1.3.
|
|
25
|
+
toVersion: '1.3.8',
|
|
26
26
|
breaking: false,
|
|
27
27
|
description: 'Archive deprecated workflows, update agents',
|
|
28
28
|
module: null // Loaded on demand
|
|
@@ -30,7 +30,7 @@ const MIGRATIONS = [
|
|
|
30
30
|
{
|
|
31
31
|
name: '1.2.x-to-1.3.0',
|
|
32
32
|
fromVersion: '1.2.x',
|
|
33
|
-
toVersion: '1.3.
|
|
33
|
+
toVersion: '1.3.8',
|
|
34
34
|
breaking: false,
|
|
35
35
|
description: 'Update to v1.3.0 with migration system',
|
|
36
36
|
module: null // Loaded on demand
|