feat: robust installer
This commit is contained in:
@@ -200,7 +200,7 @@ class WebBuilder {
|
||||
const agentTeamsDir = path.join(packDir, 'agent-teams');
|
||||
try {
|
||||
const teamFiles = await fs.readdir(agentTeamsDir);
|
||||
const teamFile = teamFiles.find(f => f.startsWith('team-') && f.endsWith('.yml'));
|
||||
const teamFile = teamFiles.find(f => f.endsWith('.yml'));
|
||||
|
||||
if (teamFile) {
|
||||
console.log(` Building team bundle for ${packName}`);
|
||||
|
||||
15
tools/cli.js
15
tools/cli.js
@@ -52,21 +52,6 @@ program
|
||||
}
|
||||
}
|
||||
|
||||
// Generate IDE configuration folders
|
||||
console.log('Generating IDE configuration folders...');
|
||||
const installDir = process.cwd();
|
||||
|
||||
// Generate configurations for all supported IDEs
|
||||
const ides = ['cursor', 'claude-code', 'windsurf', 'roo'];
|
||||
for (const ide of ides) {
|
||||
try {
|
||||
console.log(`Setting up ${ide} integration...`);
|
||||
await IdeSetup.setup(ide, installDir);
|
||||
} catch (error) {
|
||||
console.warn(`Warning: Failed to setup ${ide}:`, error.message);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Build completed successfully!');
|
||||
} catch (error) {
|
||||
console.error('Build failed:', error.message);
|
||||
|
||||
@@ -236,15 +236,11 @@ async function promptInstallation() {
|
||||
value: pack.id
|
||||
}));
|
||||
} else {
|
||||
message = 'Select expansion packs to install (optional):';
|
||||
choices = [
|
||||
{ name: 'Skip expansion packs', value: 'none', checked: true },
|
||||
new inquirer.Separator(' --- Expansion Packs ---'),
|
||||
...availableExpansionPacks.map(pack => ({
|
||||
name: `${pack.name} - ${pack.description}`,
|
||||
value: pack.id
|
||||
}))
|
||||
];
|
||||
message = 'Select expansion packs to install (press Enter to skip, or check any to install):';
|
||||
choices = availableExpansionPacks.map(pack => ({
|
||||
name: `${pack.name} - ${pack.description}`,
|
||||
value: pack.id
|
||||
}));
|
||||
}
|
||||
|
||||
const { expansionPacks } = await inquirer.prompt([
|
||||
@@ -262,8 +258,8 @@ async function promptInstallation() {
|
||||
}
|
||||
]);
|
||||
|
||||
// Filter out 'none' selection and only include actual expansion packs
|
||||
answers.expansionPacks = expansionPacks.filter(pack => pack !== 'none');
|
||||
// Use selected expansion packs directly
|
||||
answers.expansionPacks = expansionPacks;
|
||||
} else {
|
||||
answers.expansionPacks = [];
|
||||
}
|
||||
@@ -280,25 +276,18 @@ async function promptInstallation() {
|
||||
{
|
||||
type: 'checkbox',
|
||||
name: 'ides',
|
||||
message: 'Which IDE(s) are you using? (Select all that apply)',
|
||||
message: 'Which IDE(s) are you using? (press Enter to skip IDE setup, or select any to configure):',
|
||||
choices: [
|
||||
{ name: 'Cursor', value: 'cursor' },
|
||||
{ name: 'Claude Code', value: 'claude-code' },
|
||||
{ name: 'Windsurf', value: 'windsurf' },
|
||||
{ name: 'Roo Code', value: 'roo' },
|
||||
{ name: 'Other (skip IDE setup)', value: 'other' }
|
||||
],
|
||||
validate: (answer) => {
|
||||
if (answer.length < 1) {
|
||||
return 'You must choose at least one IDE option.';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
{ name: 'Roo Code', value: 'roo' }
|
||||
]
|
||||
}
|
||||
]);
|
||||
|
||||
// Filter out 'other' from the list and only include actual IDEs
|
||||
answers.ides = ides.filter(ide => ide !== 'other');
|
||||
// Use selected IDEs directly
|
||||
answers.ides = ides;
|
||||
|
||||
return answers;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user