summaryrefslogtreecommitdiff
path: root/internal/cli/root.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-08 20:40:55 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-08 20:40:55 +0000
commit1ce83b6b6a300f4389dd84c4477f3ca73a431524 (patch)
treebefe1444267d0f4f333b226f016a7767e354c2a2 /internal/cli/root.go
parentdb1ebb7a3f9310ca2cc483d65e9c0e578c2eb4ff (diff)
cli: newLogger helper, defaultServerURL, shared http client, report command
- Extract newLogger() to remove duplication across run/serve/start - Add defaultServerURL const ("http://localhost:8484") used by all client commands - Move http.Client into internal/cli/http.go with 30s timeout - Add 'report' command for printing execution summaries - Add test coverage for create and serve commands Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli/root.go')
-rw-r--r--internal/cli/root.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/internal/cli/root.go b/internal/cli/root.go
index 1a528fb..ab6ac1f 100644
--- a/internal/cli/root.go
+++ b/internal/cli/root.go
@@ -1,12 +1,17 @@
package cli
import (
+ "fmt"
+ "log/slog"
+ "os"
"path/filepath"
"github.com/thepeterstone/claudomator/internal/config"
"github.com/spf13/cobra"
)
+const defaultServerURL = "http://localhost:8484"
+
var (
cfgFile string
verbose bool
@@ -14,7 +19,12 @@ var (
)
func NewRootCmd() *cobra.Command {
- cfg = config.Default()
+ var err error
+ cfg, err = config.Default()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "fatal: %v\n", err)
+ os.Exit(1)
+ }
cmd := &cobra.Command{
Use: "claudomator",
@@ -43,6 +53,7 @@ func NewRootCmd() *cobra.Command {
newLogsCmd(),
newStartCmd(),
newCreateCmd(),
+ newReportCmd(),
)
return cmd
@@ -51,3 +62,11 @@ func NewRootCmd() *cobra.Command {
func Execute() error {
return NewRootCmd().Execute()
}
+
+func newLogger(v bool) *slog.Logger {
+ level := slog.LevelInfo
+ if v {
+ level = slog.LevelDebug
+ }
+ return slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: level}))
+}