package cmd import ( "os" "github.com/spf13/cobra" "gmgauthier.com/grokkit/config" "gmgauthier.com/grokkit/internal/logger" ) var rootCmd = &cobra.Command{ Use: "grokkit", Short: "Personal Grok / xAI command-line toolkit", Long: `A fast, native Go CLI for Grok. Chat, edit files, and supercharge your git workflow.`, PersistentPreRun: func(cmd *cobra.Command, args []string) { config.Load() _ = logger.Init() // Logging is optional, don't fail if it errors }, } func Execute() { if err := rootCmd.Execute(); err != nil { os.Exit(1) } } func init() { rootCmd.AddCommand(chatCmd) rootCmd.AddCommand(editCmd) rootCmd.AddCommand(reviewCmd) rootCmd.AddCommand(commitMsgCmd) rootCmd.AddCommand(commitCmd) rootCmd.AddCommand(prDescribeCmd) rootCmd.AddCommand(historyCmd) rootCmd.AddCommand(agentCmd) rootCmd.AddCommand(completionCmd) // Add model flag to all commands rootCmd.PersistentFlags().StringP("model", "m", "", "Grok model to use (overrides config)") }