fix: installer upgrade path fixed
This commit is contained in:
@@ -425,7 +425,10 @@ class Installer {
|
||||
console.log(chalk.cyan("\n📦 Starting v3 to v4 upgrade process..."));
|
||||
const V3ToV4Upgrader = require("../../upgraders/v3-to-v4-upgrader");
|
||||
const upgrader = new V3ToV4Upgrader();
|
||||
return await upgrader.upgrade({ projectPath: installDir });
|
||||
return await upgrader.upgrade({
|
||||
projectPath: installDir,
|
||||
ides: config.ides || [] // Pass IDE selections from initial config
|
||||
});
|
||||
}
|
||||
case "alongside":
|
||||
return await this.performFreshInstall(config, installDir, spinner);
|
||||
|
||||
@@ -98,7 +98,7 @@ class V3ToV4Upgrader {
|
||||
|
||||
// 8. Setup IDE
|
||||
if (!options.dryRun) {
|
||||
await this.setupIDE(projectPath);
|
||||
await this.setupIDE(projectPath, options.ides);
|
||||
}
|
||||
|
||||
// 9. Show completion report
|
||||
@@ -379,8 +379,8 @@ class V3ToV4Upgrader {
|
||||
const spinner = ora("Installing V4 structure...").start();
|
||||
|
||||
try {
|
||||
// Get the source .bmad-core directory
|
||||
const sourcePath = path.join(__dirname, "..", "..", ".bmad-core");
|
||||
// Get the source bmad-core directory (without dot prefix)
|
||||
const sourcePath = path.join(__dirname, "..", "..", "bmad-core");
|
||||
const destPath = path.join(projectPath, ".bmad-core");
|
||||
|
||||
// Copy .bmad-core
|
||||
@@ -545,33 +545,17 @@ class V3ToV4Upgrader {
|
||||
}
|
||||
}
|
||||
|
||||
async setupIDE(projectPath) {
|
||||
const { ide } = await inquirer.prompt([
|
||||
{
|
||||
type: "list",
|
||||
name: "ide",
|
||||
message: "Which IDE are you using?",
|
||||
choices: [
|
||||
{ name: "Cursor", value: "cursor" },
|
||||
{ name: "Claude Code", value: "claude-code" },
|
||||
{ name: "Windsurf", value: "windsurf" },
|
||||
{ name: "Roo Code", value: "roo" },
|
||||
{ name: "VS Code", value: "skip" },
|
||||
{ name: "Other/Skip", value: "skip" },
|
||||
],
|
||||
},
|
||||
]);
|
||||
async setupIDE(projectPath, selectedIdes) {
|
||||
// Use the IDE selections passed from the installer
|
||||
if (!selectedIdes || selectedIdes.length === 0) {
|
||||
console.log(chalk.dim("No IDE setup requested - skipping"));
|
||||
return;
|
||||
}
|
||||
|
||||
const selectedIde = ide === "skip" ? null : ide;
|
||||
|
||||
if (selectedIde) {
|
||||
const ideSetup = require("../installer/lib/ide-setup");
|
||||
const spinner = ora("Setting up IDE rules for all agents...").start();
|
||||
|
||||
try {
|
||||
await ideSetup.setup(selectedIde, projectPath);
|
||||
spinner.succeed("IDE setup complete!");
|
||||
|
||||
const ideMessages = {
|
||||
cursor: "Rules created in .cursor/rules/",
|
||||
"claude-code": "Commands created in .claude/commands/",
|
||||
@@ -579,7 +563,14 @@ class V3ToV4Upgrader {
|
||||
roo: "Custom modes created in .roomodes",
|
||||
};
|
||||
|
||||
console.log(chalk.green(`- ${ideMessages[selectedIde]}`));
|
||||
// Setup each selected IDE
|
||||
for (const ide of selectedIdes) {
|
||||
spinner.text = `Setting up ${ide}...`;
|
||||
await ideSetup.setup(ide, projectPath);
|
||||
console.log(chalk.green(`\n✓ ${ideMessages[ide]}`));
|
||||
}
|
||||
|
||||
spinner.succeed(`IDE setup complete for ${selectedIdes.length} IDE(s)!`);
|
||||
} catch (error) {
|
||||
spinner.fail("IDE setup failed");
|
||||
console.error(
|
||||
@@ -587,7 +578,6 @@ class V3ToV4Upgrader {
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
showCompletionReport(projectPath, analysis) {
|
||||
console.log(chalk.bold.green("\n✓ Upgrade Complete!\n"));
|
||||
|
||||
Reference in New Issue
Block a user