context-forge
Version:
AI orchestration platform with autonomous teams, enhancement planning, migration tools, 25+ slash commands, checkpoints & hooks. Multi-IDE: Claude, Cursor, Windsurf, Cline, Copilot
123 lines ⢠4.99 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ideSelection = ideSelection;
const inquirer_1 = __importDefault(require("inquirer"));
const adapters_1 = require("../../adapters");
const chalk_1 = __importDefault(require("chalk"));
async function ideSelection() {
console.log(chalk_1.default.blue('\nš± Step 2 of 7: IDE Selection'));
console.log(chalk_1.default.gray('Context Forge can generate configuration for multiple AI IDEs.\n'));
console.log(chalk_1.default.yellow('š” Tip: Choose Claude Code for the best experience with this tool!\n'));
const { ideChoice } = await inquirer_1.default.prompt([
{
type: 'list',
name: 'ideChoice',
message: 'Which AI IDE are you using?',
choices: [
{
name: `${chalk_1.default.green('ā
Claude Code')} ${chalk_1.default.gray('(recommended)')} - Anthropic's official CLI`,
value: 'single:claude',
},
{
name: 'Cursor IDE - AI-powered IDE built on VS Code',
value: 'single:cursor',
},
{
name: 'Roo Code - VS Code extension for AI development',
value: 'single:roo',
},
{
name: 'Cline - VS Code AI pair programming extension',
value: 'single:cline',
},
{
name: 'Windsurf IDE - IDE with Cascade AI integration (Coming soon)',
value: 'single:windsurf',
disabled: true,
},
{
name: 'GitHub Copilot - AI pair programmer (Coming soon)',
value: 'single:copilot',
disabled: true,
},
{
name: "Gemini - Google's AI tools (CLI & Code Assist)",
value: 'single:gemini',
},
new inquirer_1.default.Separator(),
{
name: chalk_1.default.cyan('Multiple IDEs') + ' - Generate for several IDEs',
value: 'multiple',
},
],
},
]);
// If single IDE selected, return it
if (ideChoice.startsWith('single:')) {
const selectedIDE = ideChoice.replace('single:', '');
console.log(chalk_1.default.green(`\nā Selected: ${adapters_1.IDE_INFO[selectedIDE].name}\n`));
return [selectedIDE];
}
// If multiple IDEs selected, show checkbox list
const { selectedIDEs } = await inquirer_1.default.prompt([
{
type: 'checkbox',
name: 'selectedIDEs',
message: 'Select all IDEs you want to generate configuration for:',
choices: [
{
name: `Claude Code - ${adapters_1.IDE_INFO.claude.description}`,
value: 'claude',
checked: true,
disabled: false,
},
{
name: `Cursor IDE - ${adapters_1.IDE_INFO.cursor.description}`,
value: 'cursor',
disabled: false,
},
{
name: `Roo Code - ${adapters_1.IDE_INFO.roo.description}`,
value: 'roo',
disabled: false,
},
{
name: `Cline - ${adapters_1.IDE_INFO.cline.description}`,
value: 'cline',
disabled: false,
},
{
name: `Windsurf IDE - ${adapters_1.IDE_INFO.windsurf.description} (Coming soon)`,
value: 'windsurf',
disabled: true,
},
{
name: `GitHub Copilot - ${adapters_1.IDE_INFO.copilot.description} (Coming soon)`,
value: 'copilot',
disabled: true,
},
{
name: `Gemini - ${adapters_1.IDE_INFO.gemini.description}`,
value: 'gemini',
disabled: false,
},
],
validate: (answers) => {
if (answers.length === 0) {
return 'Please select at least one IDE';
}
return true;
},
},
]);
console.log(chalk_1.default.green(`\nā Selected ${selectedIDEs.length} IDE(s):`));
selectedIDEs.forEach((ide) => {
console.log(chalk_1.default.gray(` - ${adapters_1.IDE_INFO[ide].name}`));
});
console.log();
return selectedIDEs;
}
//# sourceMappingURL=ideSelection.js.map