package main import ( "fmt" "log" "os" "git.wntrmute.dev/mc/mcp/internal/config" "git.wntrmute.dev/mc/mcp/internal/master" "github.com/spf13/cobra" ) var ( version = "dev" cfgPath string ) func main() { root := &cobra.Command{ Use: "mcp-master", Short: "Metacircular Control Plane master", } root.PersistentFlags().StringVarP(&cfgPath, "config", "c", "", "config file path") root.AddCommand(&cobra.Command{ Use: "version", Short: "Print version", Run: func(cmd *cobra.Command, args []string) { fmt.Println(version) }, }) root.AddCommand(&cobra.Command{ Use: "server", Short: "Start the master server", RunE: func(cmd *cobra.Command, args []string) error { cfg, err := config.LoadMasterConfig(cfgPath) if err != nil { return fmt.Errorf("load config: %w", err) } return master.Run(cfg, version) }, }) if err := root.Execute(); err != nil { log.Fatal(err) os.Exit(1) } }