bmad-method 4.6.1 ā 4.6.3
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
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [4.6.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.2...v4.6.3) (2025-06-19)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* SM fixed file resolution issue in v4 ([61ab116](https://github.com/bmadcode/BMAD-METHOD/commit/61ab1161e59a92d657ab663082abcaf26729fa6b))
|
|
7
|
+
|
|
8
|
+
## [4.6.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.1...v4.6.2) (2025-06-19)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* installer upgrade path fixed ([bd6a558](https://github.com/bmadcode/BMAD-METHOD/commit/bd6a55892906077a700f488bde175b57e846729d))
|
|
14
|
+
|
|
1
15
|
## [4.6.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.0...v4.6.1) (2025-06-19)
|
|
2
16
|
|
|
3
17
|
|
package/bmad-core/agents/sm.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
|
4
4
|
|
|
5
|
+
## Task and File Resolution
|
|
6
|
+
|
|
7
|
+
`Create Next Story`: `.bmad-core/tasks/create-next-story.md`
|
|
8
|
+
`story-tmpl`: `.bmad-core/templates/story-tmpl.md`
|
|
9
|
+
`story-draft-checklist`: `.bmad-core/checklists/story-draft-checklist.md`
|
|
10
|
+
|
|
5
11
|
```yaml
|
|
6
12
|
activation-instructions:
|
|
7
13
|
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
|
@@ -21,14 +27,14 @@ persona:
|
|
|
21
27
|
identity: Story creation expert who prepares detailed, actionable stories for AI developers
|
|
22
28
|
focus: Creating crystal-clear stories that dumb AI agents can implement without confusion
|
|
23
29
|
core_principles:
|
|
24
|
-
- Task Adherence - Rigorously follow
|
|
30
|
+
- Task Adherence - Rigorously follow `Create Next Story` procedures
|
|
25
31
|
- Checklist-Driven Validation - Apply story-draft-checklist meticulously
|
|
26
32
|
- Clarity for Developer Handoff - Stories must be immediately actionable
|
|
27
33
|
- Focus on One Story at a Time - Complete one before starting next
|
|
28
34
|
- Numbered Options Protocol - Always use numbered lists for selections
|
|
29
35
|
startup:
|
|
30
36
|
- Greet the user with your name and role, and inform of the *help command.
|
|
31
|
-
- CRITICAL: Do NOT automatically execute
|
|
37
|
+
- CRITICAL: Do NOT automatically execute `Create Next Story` tasks during startup
|
|
32
38
|
- CRITICAL: Do NOT create or modify any files during startup
|
|
33
39
|
- Offer to help with story preparation but wait for explicit user confirmation
|
|
34
40
|
- Only execute tasks when user explicitly requests them
|
|
@@ -36,7 +42,7 @@ startup:
|
|
|
36
42
|
commands:
|
|
37
43
|
- '*help" - Show: numbered list of the following commands to allow selection'
|
|
38
44
|
- '*chat-mode" - Conversational mode with advanced-elicitation for advice'
|
|
39
|
-
- '*create" - Execute all steps in Create Next Story
|
|
45
|
+
- '*create" - Execute all steps in `Create Next Story`'
|
|
40
46
|
- '*pivot" - Run correct-course task (ensure no story already created first)'
|
|
41
47
|
- '*checklist {checklist}" - Show numbered list of checklists, execute selection'
|
|
42
48
|
- '*doc-shard {PRD|Architecture|Other}" - Execute shard-doc task'
|
package/package.json
CHANGED
|
@@ -425,7 +425,10 @@ class Installer {
|
|
|
425
425
|
console.log(chalk.cyan("\nš¦ Starting v3 to v4 upgrade process..."));
|
|
426
426
|
const V3ToV4Upgrader = require("../../upgraders/v3-to-v4-upgrader");
|
|
427
427
|
const upgrader = new V3ToV4Upgrader();
|
|
428
|
-
return await upgrader.upgrade({
|
|
428
|
+
return await upgrader.upgrade({
|
|
429
|
+
projectPath: installDir,
|
|
430
|
+
ides: config.ides || [] // Pass IDE selections from initial config
|
|
431
|
+
});
|
|
429
432
|
}
|
|
430
433
|
case "alongside":
|
|
431
434
|
return await this.performFreshInstall(config, installDir, spinner);
|
|
@@ -98,7 +98,7 @@ class V3ToV4Upgrader {
|
|
|
98
98
|
|
|
99
99
|
// 8. Setup IDE
|
|
100
100
|
if (!options.dryRun) {
|
|
101
|
-
await this.setupIDE(projectPath);
|
|
101
|
+
await this.setupIDE(projectPath, options.ides);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
// 9. Show completion report
|
|
@@ -379,8 +379,8 @@ class V3ToV4Upgrader {
|
|
|
379
379
|
const spinner = ora("Installing V4 structure...").start();
|
|
380
380
|
|
|
381
381
|
try {
|
|
382
|
-
// Get the source
|
|
383
|
-
const sourcePath = path.join(__dirname, "..", "..", "
|
|
382
|
+
// Get the source bmad-core directory (without dot prefix)
|
|
383
|
+
const sourcePath = path.join(__dirname, "..", "..", "bmad-core");
|
|
384
384
|
const destPath = path.join(projectPath, ".bmad-core");
|
|
385
385
|
|
|
386
386
|
// Copy .bmad-core
|
|
@@ -545,47 +545,37 @@ class V3ToV4Upgrader {
|
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
547
|
|
|
548
|
-
async setupIDE(projectPath) {
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
choices: [
|
|
555
|
-
{ name: "Cursor", value: "cursor" },
|
|
556
|
-
{ name: "Claude Code", value: "claude-code" },
|
|
557
|
-
{ name: "Windsurf", value: "windsurf" },
|
|
558
|
-
{ name: "Roo Code", value: "roo" },
|
|
559
|
-
{ name: "VS Code", value: "skip" },
|
|
560
|
-
{ name: "Other/Skip", value: "skip" },
|
|
561
|
-
],
|
|
562
|
-
},
|
|
563
|
-
]);
|
|
564
|
-
|
|
565
|
-
const selectedIde = ide === "skip" ? null : ide;
|
|
566
|
-
|
|
567
|
-
if (selectedIde) {
|
|
568
|
-
const ideSetup = require("../installer/lib/ide-setup");
|
|
569
|
-
const spinner = ora("Setting up IDE rules for all agents...").start();
|
|
570
|
-
|
|
571
|
-
try {
|
|
572
|
-
await ideSetup.setup(selectedIde, projectPath);
|
|
573
|
-
spinner.succeed("IDE setup complete!");
|
|
548
|
+
async setupIDE(projectPath, selectedIdes) {
|
|
549
|
+
// Use the IDE selections passed from the installer
|
|
550
|
+
if (!selectedIdes || selectedIdes.length === 0) {
|
|
551
|
+
console.log(chalk.dim("No IDE setup requested - skipping"));
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
574
554
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
"claude-code": "Commands created in .claude/commands/",
|
|
578
|
-
windsurf: "Rules created in .windsurf/rules/",
|
|
579
|
-
roo: "Custom modes created in .roomodes",
|
|
580
|
-
};
|
|
555
|
+
const ideSetup = require("../installer/lib/ide-setup");
|
|
556
|
+
const spinner = ora("Setting up IDE rules for all agents...").start();
|
|
581
557
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
558
|
+
try {
|
|
559
|
+
const ideMessages = {
|
|
560
|
+
cursor: "Rules created in .cursor/rules/",
|
|
561
|
+
"claude-code": "Commands created in .claude/commands/",
|
|
562
|
+
windsurf: "Rules created in .windsurf/rules/",
|
|
563
|
+
roo: "Custom modes created in .roomodes",
|
|
564
|
+
};
|
|
565
|
+
|
|
566
|
+
// Setup each selected IDE
|
|
567
|
+
for (const ide of selectedIdes) {
|
|
568
|
+
spinner.text = `Setting up ${ide}...`;
|
|
569
|
+
await ideSetup.setup(ide, projectPath);
|
|
570
|
+
console.log(chalk.green(`\nā ${ideMessages[ide]}`));
|
|
588
571
|
}
|
|
572
|
+
|
|
573
|
+
spinner.succeed(`IDE setup complete for ${selectedIdes.length} IDE(s)!`);
|
|
574
|
+
} catch (error) {
|
|
575
|
+
spinner.fail("IDE setup failed");
|
|
576
|
+
console.error(
|
|
577
|
+
chalk.yellow("IDE setup failed, but upgrade is complete.")
|
|
578
|
+
);
|
|
589
579
|
}
|
|
590
580
|
}
|
|
591
581
|
|