package cli import ( "encoding/json" "fmt" "github.com/spf13/cobra" ) var ( version = "0.1.0-dev" gitCommit = "unknown" buildTime = "unknown" ) var rootCmd = &cobra.Command{ Use: "orca", Short: "Orca — offline/CLI-first orchestration engine", Long: `Orca is a minimalist, offline-first, CLI-first orchestration engine inspired by HashiCorp Nomad, prioritizing stability, security, and simplicity over feature richness.`, SilenceUsage: true, SilenceErrors: true, } var jsonOutput bool func init() { rootCmd.PersistentFlags().BoolVar(&jsonOutput, "json", false, "output in JSON format") } func Execute() error { return rootCmd.Execute() } func printJSON(v any) error { enc := json.NewEncoder(rootCmd.OutOrStdout()) enc.SetIndent("", " ") return enc.Encode(v) } func printText(format string, args ...any) { fmt.Fprintf(rootCmd.OutOrStdout(), format, args...) } func printResult(text string, jsonObj any) { if jsonOutput { _ = printJSON(jsonObj) return } printText("%s\n", text) }