Skip to content

Commit 544577b

Browse files
committed
feat: improve interactive prompt logic for architecture and frontend selection
1 parent b7e49fc commit 544577b

1 file changed

Lines changed: 21 additions & 18 deletions

File tree

cmd/grit/main.go

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -146,24 +146,27 @@ func newCmd() *cobra.Command {
146146
return fmt.Errorf("invalid frontend %q: must be next, vite, or tanstack", frontendFlag)
147147
}
148148

149-
// Apply legacy flag mappings
150-
opts.Normalize()
151-
152-
// If architecture is still empty (no flags set), show interactive prompt
153-
if opts.Architecture == "" || (!cmd.Flags().Changed("arch") && !apiOnly && !mobileOnly && !full && !includeExpo && opts.Architecture == scaffold.ArchTriple) {
154-
// Only prompt if no explicit flags were set
155-
anyFlagSet := cmd.Flags().Changed("arch") || cmd.Flags().Changed("frontend") ||
156-
cmd.Flags().Changed("api") || cmd.Flags().Changed("mobile") ||
157-
cmd.Flags().Changed("expo") || cmd.Flags().Changed("full")
158-
159-
if !anyFlagSet {
160-
printLogo()
161-
// Reset to empty so prompt shows
162-
opts.Architecture = ""
163-
opts.Frontend = ""
164-
if err := prompt.RunNewProjectPrompt(&opts); err != nil {
165-
return err
166-
}
149+
// Show interactive selector only when the user did not provide any
150+
// architecture/frontend shortcuts or explicit long-form flags.
151+
anyScaffoldSelection := cmd.Flags().Changed("arch") ||
152+
cmd.Flags().Changed("frontend") ||
153+
cmd.Flags().Changed("single") ||
154+
cmd.Flags().Changed("double") ||
155+
cmd.Flags().Changed("triple") ||
156+
cmd.Flags().Changed("vite") ||
157+
cmd.Flags().Changed("next") ||
158+
cmd.Flags().Changed("api") ||
159+
cmd.Flags().Changed("mobile") ||
160+
cmd.Flags().Changed("expo") ||
161+
cmd.Flags().Changed("full")
162+
163+
if !anyScaffoldSelection {
164+
printLogo()
165+
// Keep empty values so the prompt can collect architecture/frontend.
166+
opts.Architecture = ""
167+
opts.Frontend = ""
168+
if err := prompt.RunNewProjectPrompt(&opts); err != nil {
169+
return err
167170
}
168171
}
169172

0 commit comments

Comments
 (0)