@@ -16,7 +16,13 @@ import { createDefaultEnvironment } from './environment.js'
1616
1717import type { PackageManager } from './package-manager.js'
1818import type { ToolChain } from './toolchain.js'
19- import type { CliOptions , Framework , Mode , TemplateOptions } from './types.js'
19+ import type {
20+ CliOptions ,
21+ Framework ,
22+ Mode ,
23+ Options ,
24+ TemplateOptions ,
25+ } from './types.js'
2026
2127export function cli ( {
2228 name,
@@ -119,6 +125,7 @@ export function cli({
119125 return value as ToolChain
120126 } ,
121127 )
128+ . option ( '--interactive' , 'interactive mode' , false )
122129 . option ( '--tailwind' , 'add Tailwind CSS' , false )
123130 . option < Array < string > | boolean > (
124131 '--add-ons [...add-ons]' ,
@@ -163,11 +170,17 @@ export function cli({
163170 cliOptions . template = forcedMode as TemplateOptions
164171 }
165172
166- let finalOptions = await normalizeOptions (
167- cliOptions ,
168- forcedMode ,
169- forcedAddOns ,
170- )
173+ let finalOptions : Options | undefined
174+ if ( cliOptions . interactive ) {
175+ cliOptions . addOns = true
176+ } else {
177+ finalOptions = await normalizeOptions (
178+ cliOptions ,
179+ forcedMode ,
180+ forcedAddOns ,
181+ )
182+ }
183+
171184 if ( finalOptions ) {
172185 intro ( `Creating a new ${ appName } app in ${ projectName } ...` )
173186 } else {
@@ -177,7 +190,8 @@ export function cli({
177190 forcedAddOns,
178191 } )
179192 }
180- await createApp ( finalOptions , {
193+
194+ await createApp ( finalOptions ! , {
181195 environment : createDefaultEnvironment ( ) ,
182196 cwd : options . targetDir || undefined ,
183197 name,
0 commit comments