feat: add empty IDE selection warning and promote Antigravity to recommended
- Add persistent warning loop when no tools selected in installer - Users must press spacebar to select, not just highlight - Red warning explains the issue and offers to go back - Only way to proceed without tools is explicit "No" confirmation - Promote Google Antigravity to preferred/recommended IDE section
This commit is contained in:
parent
09533e4abb
commit
a6f089cfd2
|
|
@ -20,7 +20,7 @@ const { getAgentsFromBmad, getAgentsFromDir } = require('./shared/bmad-artifacts
|
||||||
*/
|
*/
|
||||||
class AntigravitySetup extends BaseIdeSetup {
|
class AntigravitySetup extends BaseIdeSetup {
|
||||||
constructor() {
|
constructor() {
|
||||||
super('antigravity', 'Google Antigravity', false);
|
super('antigravity', 'Google Antigravity', true);
|
||||||
this.configDir = '.agent';
|
this.configDir = '.agent';
|
||||||
this.workflowsDir = 'workflows';
|
this.workflowsDir = 'workflows';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -201,15 +201,51 @@ class UI {
|
||||||
|
|
||||||
CLIUtils.displaySection('Tool Integration', 'Select AI coding assistants and IDEs to configure');
|
CLIUtils.displaySection('Tool Integration', 'Select AI coding assistants and IDEs to configure');
|
||||||
|
|
||||||
const answers = await inquirer.prompt([
|
let answers;
|
||||||
{
|
let userConfirmedNoTools = false;
|
||||||
type: 'checkbox',
|
|
||||||
name: 'ides',
|
// Loop until user selects at least one tool OR explicitly confirms no tools
|
||||||
message: 'Select tools to configure:',
|
while (!userConfirmedNoTools) {
|
||||||
choices: ideChoices,
|
answers = await inquirer.prompt([
|
||||||
pageSize: 15,
|
{
|
||||||
},
|
type: 'checkbox',
|
||||||
]);
|
name: 'ides',
|
||||||
|
message: 'Select tools to configure:',
|
||||||
|
choices: ideChoices,
|
||||||
|
pageSize: 15,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
// If tools were selected, we're done
|
||||||
|
if (answers.ides && answers.ides.length > 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Warn that no tools were selected - users often miss the spacebar requirement
|
||||||
|
console.log();
|
||||||
|
console.log(chalk.red.bold('⚠️ WARNING: No tools were selected!'));
|
||||||
|
console.log(chalk.red(' You must press SPACEBAR to select items, then ENTER to confirm.'));
|
||||||
|
console.log(chalk.red(' Simply highlighting an item does NOT select it.'));
|
||||||
|
console.log();
|
||||||
|
|
||||||
|
const { goBack } = await inquirer.prompt([
|
||||||
|
{
|
||||||
|
type: 'confirm',
|
||||||
|
name: 'goBack',
|
||||||
|
message: chalk.yellow('Would you like to go back and select at least one tool?'),
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (goBack) {
|
||||||
|
// Re-display the section header before looping back
|
||||||
|
console.log();
|
||||||
|
CLIUtils.displaySection('Tool Integration', 'Select AI coding assistants and IDEs to configure');
|
||||||
|
} else {
|
||||||
|
// User explicitly chose to proceed without tools
|
||||||
|
userConfirmedNoTools = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
ides: answers.ides || [],
|
ides: answers.ides || [],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue