diff options
Diffstat (limited to 'internal/cli/root.go')
| -rw-r--r-- | internal/cli/root.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/internal/cli/root.go b/internal/cli/root.go new file mode 100644 index 0000000..2800a76 --- /dev/null +++ b/internal/cli/root.go @@ -0,0 +1,40 @@ +package cli + +import ( + "github.com/claudomator/claudomator/internal/config" + "github.com/spf13/cobra" +) + +var ( + cfgFile string + verbose bool + cfg *config.Config +) + +func NewRootCmd() *cobra.Command { + cfg = config.Default() + + cmd := &cobra.Command{ + Use: "claudomator", + Short: "Automation toolkit for Claude Code", + Long: "Claudomator captures tasks, dispatches them to Claude Code, and reports results.", + } + + cmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default $HOME/.claudomator/config.toml)") + cmd.PersistentFlags().StringVar(&cfg.DataDir, "data-dir", cfg.DataDir, "data directory") + cmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "verbose output") + + cmd.AddCommand( + newRunCmd(), + newServeCmd(), + newListCmd(), + newStatusCmd(), + newInitCmd(), + ) + + return cmd +} + +func Execute() error { + return NewRootCmd().Execute() +} |
