diff options
| author | Claudomator Agent <agent@claudomator> | 2026-03-09 04:59:39 +0000 |
|---|---|---|
| committer | Claudomator Agent <agent@claudomator> | 2026-03-09 04:59:39 +0000 |
| commit | 67b8544b222392d8a01847e3d34559c23fd0cd12 (patch) | |
| tree | b7d27c83cac301dc9b902f3dda34d6a2a4da37d6 /internal/cli/serve.go | |
| parent | fc1459be18d4718f2c5f15325e1a1d07fb0b3a9e (diff) | |
api: make workspace root configurable instead of hardcoded /workspace
- Add workspaceRoot field (default "/workspace") to Server struct
- Add SetWorkspaceRoot method on Server
- Update handleListWorkspaces to use s.workspaceRoot
- Add WorkspaceRoot field to Config with default "/workspace"
- Wire cfg.WorkspaceRoot into server in serve.go
- Expose --workspace-root flag on the serve command
- Add TestListWorkspaces_UsesConfiguredRoot integration test
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli/serve.go')
| -rw-r--r-- | internal/cli/serve.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/cli/serve.go b/internal/cli/serve.go index 4253d56..e5bd873 100644 --- a/internal/cli/serve.go +++ b/internal/cli/serve.go @@ -20,16 +20,21 @@ import ( func newServeCmd() *cobra.Command { var addr string + var workspaceRoot string cmd := &cobra.Command{ Use: "serve", Short: "Start the Claudomator API server", RunE: func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("workspace-root") { + cfg.WorkspaceRoot = workspaceRoot + } return serve(addr) }, } cmd.Flags().StringVar(&addr, "addr", ":8484", "listen address") + cmd.Flags().StringVar(&workspaceRoot, "workspace-root", "/workspace", "root directory for listing workspaces") return cmd } @@ -77,6 +82,9 @@ func serve(addr string) error { if cfg.WebhookURL != "" { srv.SetNotifier(notify.NewWebhookNotifier(cfg.WebhookURL, logger)) } + if cfg.WorkspaceRoot != "" { + srv.SetWorkspaceRoot(cfg.WorkspaceRoot) + } // Register scripts. wd, _ := os.Getwd() |
