MCPcopy Create free account
hub / github.com/docker/docker-agent / addRunOrExecFlags

Function addRunOrExecFlags

cmd/root/run.go:140–210  ·  view source on GitHub ↗
(cmd *cobra.Command, flags *runExecFlags)

Source from the content-addressed store, hash-verified

138}
139
140func addRunOrExecFlags(cmd *cobra.Command, flags *runExecFlags) {
141 cmd.PersistentFlags().StringVarP(&flags.agentName, "agent", "a", "", "Name of the agent to run (defaults to the team's first agent)")
142 cmd.PersistentFlags().BoolVar(&flags.autoApprove, "yolo", false, "Automatically approve all tool calls without prompting")
143 cmd.PersistentFlags().BoolVar(&flags.hideToolResults, "hide-tool-results", false, "Hide tool call results")
144 cmd.PersistentFlags().StringVar(&flags.attachmentPath, "attach", "", "Attach an image file to the message")
145 cmd.PersistentFlags().StringArrayVar(&flags.promptFiles, "prompt-file", nil, "Append file contents to the prompt (repeatable)")
146 cmd.PersistentFlags().StringArrayVar(&flags.modelOverrides, "model", nil, "Override agent model: [agent=]provider/model (repeatable)")
147 cmd.PersistentFlags().BoolVar(&flags.dryRun, "dry-run", false, "Initialize the agent without executing anything")
148 cmd.PersistentFlags().StringVar(&flags.remoteAddress, "remote", "", "Use remote runtime with specified address")
149 cmd.PersistentFlags().StringVarP(&flags.sessionDB, "session-db", "s", filepath.Join(paths.GetHomeDir(), ".cagent", "session.db"), "Path to the session database")
150 cmd.PersistentFlags().StringVar(&flags.sessionID, "session", "", "Continue from a previous session by ID or relative offset (e.g., -1 for last session). An explicit ID that does not exist yet is created with that ID.")
151 cmd.PersistentFlags().StringVar(&flags.fakeResponses, "fake", "", "Replay AI responses from cassette file (for testing)")
152 cmd.PersistentFlags().IntVar(&flags.fakeStreamDelay, "fake-stream", 0, "Simulate streaming with delay in ms between chunks (default 15ms if no value given)")
153 cmd.Flag("fake-stream").NoOptDefVal = "15" // --fake-stream without value uses 15ms
154 cmd.PersistentFlags().StringVar(&flags.recordPath, "record", "", "Record AI API interactions to cassette file and generate a TUI e2e test from the session (auto-generates filename if empty)")
155 cmd.PersistentFlags().Lookup("record").NoOptDefVal = "true"
156 cmd.PersistentFlags().BoolVar(&flags.exitAfterResponse, "exit-after-response", false, "Exit TUI after first assistant response completes")
157 _ = cmd.PersistentFlags().MarkHidden("exit-after-response")
158 cmd.PersistentFlags().StringVar(&flags.listenAddr, "listen", "", "Expose this run's control plane on the given address (e.g. 127.0.0.1:0)")
159 _ = cmd.PersistentFlags().MarkHidden("listen")
160 cmd.PersistentFlags().StringArrayVar(&flags.onEventSpecs, "on-event", nil, "Run shell command on event: --on-event <type>=<cmd> (or *=<cmd> for any). Repeatable.")
161 cmd.PersistentFlags().StringVar(&flags.cpuProfile, "cpuprofile", "", "Write CPU profile to file")
162 _ = cmd.PersistentFlags().MarkHidden("cpuprofile")
163 cmd.PersistentFlags().StringVar(&flags.memProfile, "memprofile", "", "Write memory profile to file")
164 _ = cmd.PersistentFlags().MarkHidden("memprofile")
165 cmd.PersistentFlags().BoolVar(&flags.forceTUI, "force-tui", false, "Force TUI mode even when not in a terminal")
166 _ = cmd.PersistentFlags().MarkHidden("force-tui")
167 cmd.PersistentFlags().BoolVar(&flags.tour, "tour", false, "Start the interactive getting-started tour in the TUI")
168 _ = cmd.PersistentFlags().MarkHidden("tour")
169 cmd.PersistentFlags().BoolVar(&flags.lean, "lean", false, "Use a simplified TUI with minimal chrome")
170 cmd.PersistentFlags().StringVar(&flags.appName, "app-name", "", "Application name shown in the TUI in place of \"docker agent\"")
171 cmd.PersistentFlags().StringSliceVar(&flags.disabledCommands, "disable-commands", nil, "Comma-separated list of slash commands to hide and disable in the TUI (e.g. /cost,/eval,/model)")
172 cmd.PersistentFlags().BoolVar(&flags.sidebar, "sidebar", true, "Show the sidebar in the TUI (set --sidebar=false to hide it)")
173 cmd.PersistentFlags().StringVar(&flags.theme, "theme", "", "Preselect a TUI theme by name (overrides the theme from user config; ignored outside the interactive TUI)")
174 _ = cmd.RegisterFlagCompletionFunc("theme", completeTheme)
175 cmd.PersistentFlags().BoolVar(&flags.sandbox, "sandbox", false, "Run the agent inside a Docker sandbox (requires Docker Desktop with sandbox support)")
176 cmd.PersistentFlags().StringVar(&flags.sandboxTemplate, "template", "docker/sandbox-templates:docker-agent", "Template image for the sandbox (passed to docker sandbox create -t)")
177 cmd.PersistentFlags().BoolVar(&flags.sbx, "sbx", true, "Prefer the sbx CLI backend when available (set --sbx=false to force docker sandbox)")
178 cmd.PersistentFlags().BoolVar(&flags.noKit, "no-kit", false, "Do not stage a docker-agent kit (skills, prompt files) when running in a sandbox")
179 cmd.PersistentFlags().StringVar(&flags.agentPickerSpec, "agent-picker", "", "Show a full-screen picker to choose an agent before launching. Optional comma-separated list of agent refs; \"defaults\" (or no value) offers the built-in agents plus any configs in ~/.agents")
180 cmd.PersistentFlags().Lookup("agent-picker").NoOptDefVal = agentPickerDefaultsSpec
181 cmd.PersistentFlags().StringVarP(&flags.worktreeName, "worktree", "w", "", "Run the agent in a fresh git worktree of the working directory (isolates changes from your checkout). Optionally name it: --worktree=my-name")
182 cmd.PersistentFlags().Lookup("worktree").NoOptDefVal = worktreeAutoName
183 cmd.PersistentFlags().StringVar(&flags.worktreePR, "worktree-pr", "", "Run the agent in a git worktree checked out on an existing GitHub pull request (number or URL). Continues the PR's branch; requires the GitHub CLI (gh).")
184 cmd.PersistentFlags().StringVar(&flags.worktreeBase, "worktree-base", "", "Branch the --worktree from this ref instead of the current HEAD (e.g. main, origin/main). A remote-tracking ref is fetched first so the worktree starts from the latest remote state.")
185 cmd.PersistentFlags().BoolVar(&flags.sessionReadOnly, "session-read-only", false, "Open the session in read-only mode (view conversation history but prevent new messages)")
186 cmd.MarkFlagsMutuallyExclusive("fake", "record")
187 cmd.MarkFlagsMutuallyExclusive("remote", "sandbox")
188 cmd.MarkFlagsMutuallyExclusive("remote", "session-db")
189 cmd.MarkFlagsMutuallyExclusive("remote", "session")
190 cmd.MarkFlagsMutuallyExclusive("remote", "record")
191 cmd.MarkFlagsMutuallyExclusive("remote", "fake")
192 // A worktree is a local directory: it has no meaning for a remote runtime
193 // and is not wired through the sandbox boundary.
194 cmd.MarkFlagsMutuallyExclusive("remote", "worktree")
195 cmd.MarkFlagsMutuallyExclusive("sandbox", "worktree")
196 cmd.MarkFlagsMutuallyExclusive("remote", "worktree-pr")
197 cmd.MarkFlagsMutuallyExclusive("sandbox", "worktree-pr")

Callers 1

newRunCmdFunction · 0.85

Calls 2

GetHomeDirFunction · 0.92
LookupMethod · 0.45

Tested by

no test coverage detected