@@ -277,23 +277,55 @@ async function promptInstallation() {
277277 }
278278
279279 // Ask for IDE configuration
280- const { ides } = await inquirer . prompt ( [
281- {
282- type : 'checkbox' ,
283- name : 'ides' ,
284- message : 'Which IDE(s) are you using? (press Enter to skip IDE setup, or select any to configure):' ,
285- choices : [
286- { name : 'Cursor' , value : 'cursor' } ,
287- { name : 'Claude Code' , value : 'claude-code' } ,
288- { name : 'Windsurf' , value : 'windsurf' } ,
289- { name : 'Trae' , value : 'trae' } , // { name: 'Trae', value: 'trae'}
290- { name : 'Roo Code' , value : 'roo' } ,
291- { name : 'Cline' , value : 'cline' } ,
292- { name : 'Gemini CLI' , value : 'gemini' } ,
293- { name : 'Github Copilot' , value : 'github-copilot' }
294- ]
280+ let ides = [ ] ;
281+ let ideSelectionComplete = false ;
282+
283+ while ( ! ideSelectionComplete ) {
284+ console . log ( chalk . cyan ( '\n🛠️ IDE Configuration' ) ) ;
285+ console . log ( chalk . bold . yellow . bgRed ( ' ⚠️ IMPORTANT: This is a MULTISELECT! Use SPACEBAR to toggle each IDE! ' ) ) ;
286+ console . log ( chalk . bold . magenta ( '🔸 Use arrow keys to navigate' ) ) ;
287+ console . log ( chalk . bold . magenta ( '🔸 Use SPACEBAR to select/deselect IDEs' ) ) ;
288+ console . log ( chalk . bold . magenta ( '🔸 Press ENTER when finished selecting\n' ) ) ;
289+
290+ const ideResponse = await inquirer . prompt ( [
291+ {
292+ type : 'checkbox' ,
293+ name : 'ides' ,
294+ message : 'Which IDE(s) do you want to configure? (Select with SPACEBAR, confirm with ENTER):' ,
295+ choices : [
296+ { name : 'Cursor' , value : 'cursor' } ,
297+ { name : 'Claude Code' , value : 'claude-code' } ,
298+ { name : 'Windsurf' , value : 'windsurf' } ,
299+ { name : 'Trae' , value : 'trae' } , // { name: 'Trae', value: 'trae'}
300+ { name : 'Roo Code' , value : 'roo' } ,
301+ { name : 'Cline' , value : 'cline' } ,
302+ { name : 'Gemini CLI' , value : 'gemini' } ,
303+ { name : 'Github Copilot' , value : 'github-copilot' }
304+ ]
305+ }
306+ ] ) ;
307+
308+ ides = ideResponse . ides ;
309+
310+ // Confirm no IDE selection if none selected
311+ if ( ides . length === 0 ) {
312+ const { confirmNoIde } = await inquirer . prompt ( [
313+ {
314+ type : 'confirm' ,
315+ name : 'confirmNoIde' ,
316+ message : chalk . red ( '⚠️ You have NOT selected any IDEs. This means NO IDE integration will be set up. Is this correct?' ) ,
317+ default : false
318+ }
319+ ] ) ;
320+
321+ if ( ! confirmNoIde ) {
322+ console . log ( chalk . bold . red ( '\n🔄 Returning to IDE selection. Remember to use SPACEBAR to select IDEs!\n' ) ) ;
323+ continue ; // Go back to IDE selection only
324+ }
295325 }
296- ] ) ;
326+
327+ ideSelectionComplete = true ;
328+ }
297329
298330 // Use selected IDEs directly
299331 answers . ides = ides ;
0 commit comments