bmad-method 4.20.0 → 4.21.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/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +38 -4
- package/bmad-core/core-config.yml +1 -0
- package/dist/agents/dev.txt +1 -1
- package/dist/teams/team-all.txt +1 -1
- package/dist/teams/team-ide-minimal.txt +1 -1
- package/docs/how-to-contribute-with-pull-requests.md +24 -7
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yml +4 -2
- package/expansion-packs/bmad-creator-tools/config.yml +1 -1
- package/expansion-packs/bmad-infrastructure-devops/config.yml +5 -2
- package/package.json +15 -1
- package/tools/bump-all-versions.js +107 -0
- package/tools/bump-core-version.js +57 -0
- package/tools/bump-expansion-version.js +78 -0
- package/tools/installer/bin/bmad.js +79 -158
- package/tools/installer/lib/file-manager.js +90 -2
- package/tools/installer/lib/installer.js +515 -64
- package/tools/installer/package.json +1 -1
- package/tools/update-expansion-version.js +54 -0
- package/test-ide-paths.js +0 -41
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const yaml = require('js-yaml');
|
|
6
|
+
|
|
7
|
+
const args = process.argv.slice(2);
|
|
8
|
+
|
|
9
|
+
if (args.length < 2) {
|
|
10
|
+
console.log('Usage: node update-expansion-version.js <expansion-pack-id> <new-version>');
|
|
11
|
+
console.log('Example: node update-expansion-version.js bmad-creator-tools 1.1.0');
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const [packId, newVersion] = args;
|
|
16
|
+
|
|
17
|
+
// Validate version format
|
|
18
|
+
if (!/^\d+\.\d+\.\d+$/.test(newVersion)) {
|
|
19
|
+
console.error('Error: Version must be in format X.Y.Z (e.g., 1.2.3)');
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async function updateVersion() {
|
|
24
|
+
try {
|
|
25
|
+
// Update in config.yml
|
|
26
|
+
const configPath = path.join(__dirname, '..', 'expansion-packs', packId, 'config.yml');
|
|
27
|
+
|
|
28
|
+
if (!fs.existsSync(configPath)) {
|
|
29
|
+
console.error(`Error: Expansion pack '${packId}' not found`);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const configContent = fs.readFileSync(configPath, 'utf8');
|
|
34
|
+
const config = yaml.load(configContent);
|
|
35
|
+
const oldVersion = config.version || 'unknown';
|
|
36
|
+
|
|
37
|
+
config.version = newVersion;
|
|
38
|
+
|
|
39
|
+
const updatedYaml = yaml.dump(config, { indent: 2 });
|
|
40
|
+
fs.writeFileSync(configPath, updatedYaml);
|
|
41
|
+
|
|
42
|
+
console.log(`✓ Updated ${packId}/config.yml: ${oldVersion} → ${newVersion}`);
|
|
43
|
+
console.log(`\n✓ Successfully updated ${packId} to version ${newVersion}`);
|
|
44
|
+
console.log('\nNext steps:');
|
|
45
|
+
console.log('1. Test the changes');
|
|
46
|
+
console.log('2. Commit: git add -A && git commit -m "chore: bump ' + packId + ' to v' + newVersion + '"');
|
|
47
|
+
|
|
48
|
+
} catch (error) {
|
|
49
|
+
console.error('Error updating version:', error.message);
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
updateVersion();
|
package/test-ide-paths.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
// Test script to verify IDE setup paths for expansion pack agents
|
|
2
|
-
const path = require('path');
|
|
3
|
-
const fs = require('fs-extra');
|
|
4
|
-
|
|
5
|
-
// Simulate the findAgentPath logic
|
|
6
|
-
function simulateFindAgentPath(agentId, installDir) {
|
|
7
|
-
const possiblePaths = [
|
|
8
|
-
path.join(installDir, ".bmad-core", "agents", `${agentId}.md`),
|
|
9
|
-
path.join(installDir, "agents", `${agentId}.md`),
|
|
10
|
-
// Expansion pack paths
|
|
11
|
-
path.join(installDir, ".bmad-2d-phaser-game-dev", "agents", `${agentId}.md`),
|
|
12
|
-
path.join(installDir, ".bmad-infrastructure-devops", "agents", `${agentId}.md`),
|
|
13
|
-
path.join(installDir, ".bmad-creator-tools", "agents", `${agentId}.md`)
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
// Simulate finding the agent in an expansion pack
|
|
17
|
-
if (agentId === 'game-developer') {
|
|
18
|
-
return path.join(installDir, ".bmad-2d-phaser-game-dev", "agents", `${agentId}.md`);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// Default to core
|
|
22
|
-
return path.join(installDir, ".bmad-core", "agents", `${agentId}.md`);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// Test different scenarios
|
|
26
|
-
const testDir = '/project';
|
|
27
|
-
const agents = ['dev', 'game-developer', 'infra-devops-platform'];
|
|
28
|
-
|
|
29
|
-
console.log('Testing IDE path references:\n');
|
|
30
|
-
|
|
31
|
-
agents.forEach(agentId => {
|
|
32
|
-
const agentPath = simulateFindAgentPath(agentId, testDir);
|
|
33
|
-
const relativePath = path.relative(testDir, agentPath).replace(/\\/g, '/');
|
|
34
|
-
|
|
35
|
-
console.log(`Agent: ${agentId}`);
|
|
36
|
-
console.log(` Full path: ${agentPath}`);
|
|
37
|
-
console.log(` Relative path: ${relativePath}`);
|
|
38
|
-
console.log(` Roo customInstructions: CRITICAL Read the full YML from ${relativePath} ...`);
|
|
39
|
-
console.log(` Cursor MDC reference: [${relativePath}](mdc:${relativePath})`);
|
|
40
|
-
console.log('');
|
|
41
|
-
});
|