Skip to content

Commit fb3b40f

Browse files
authored
Merge pull request #1755 from dgageot/change-commands
Review cagent commands
2 parents 1f9d59f + 74733c8 commit fb3b40f

37 files changed

Lines changed: 294 additions & 734 deletions

AGENTS.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020
- `./bin/cagent run <config.yaml>` - Run agent with configuration (launches TUI by default)
2121
- `./bin/cagent run <config.yaml> -a <agent_name>` - Run specific agent from multi-agent config
2222
- `./bin/cagent run agentcatalog/pirate` - Run agent directly from OCI registry
23-
- `./bin/cagent exec <config.yaml>` - Execute agent without TUI (non-interactive)
23+
- `./bin/cagent run --exec <config.yaml>` - Execute agent without TUI (non-interactive)
2424
- `./bin/cagent new` - Generate new agent configuration interactively
2525
- `./bin/cagent new --model openai/gpt-5` - Generate with specific model
26-
- `./bin/cagent push ./agent.yaml namespace/repo` - Push agent to OCI registry
27-
- `./bin/cagent pull namespace/repo` - Pull agent from OCI registry
28-
- `./bin/cagent mcp ./agent.yaml` - Expose agents as MCP tools
29-
- `./bin/cagent a2a <config.yaml>` - Start agent as A2A server
30-
- `./bin/cagent api` - Start Docker `cagent` API server
26+
- `./bin/cagent share push ./agent.yaml namespace/repo` - Push agent to OCI registry
27+
- `./bin/cagent share pull namespace/repo` - Pull agent from OCI registry
28+
- `./bin/cagent serve mcp ./agent.yaml` - Expose agents as MCP tools
29+
- `./bin/cagent serve a2a <config.yaml>` - Start agent as A2A server
30+
- `./bin/cagent serve api` - Start Docker `cagent` API server
3131

3232
### Debug and Development Flags
3333

@@ -1029,7 +1029,6 @@ task push-image # Build and push multi-platform
10291029
| `main.go` | Entry point, signal handling |
10301030
| `cmd/root/root.go` | Root command, logging setup, persistent flags |
10311031
| `cmd/root/run.go` | `cagent run` command implementation |
1032-
| `cmd/root/exec.go` | `cagent exec` command (non-TUI) |
10331032
| `pkg/runtime/runtime.go` | Core execution loop, tool handling, streaming |
10341033
| `pkg/agent/agent.go` | Agent abstraction, tool discovery |
10351034
| `pkg/session/session.go` | Message history management |

Taskfile.yml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -81,27 +81,6 @@ tasks:
8181
desc: Build and Push Docker image
8282
cmd: docker buildx build --push --platform linux/amd64,linux/arm64 -t docker/cagent {{.BUILD_ARGS}} .
8383

84-
push-agent:
85-
desc: Build dockerized agent
86-
internal: true
87-
vars:
88-
DOCKER_ID:
89-
sh: curl -s --unix-socket ~/Library/Containers/com.docker.docker/Data/backend.sock http://_/registry/info | jq -r .id
90-
deps: ["build"]
91-
cmd: ./bin/cagent build --push ./examples/{{.AGENT}}.yaml {{.DOCKER_ID}}/cagent-{{.AGENT}}
92-
93-
push-agents:
94-
desc: Build dockerized agents
95-
deps:
96-
- task: push-agent
97-
vars: { AGENT: "pirate" }
98-
- task: push-agent
99-
vars: { AGENT: "github" }
100-
- task: push-agent
101-
vars: { AGENT: "gopher" }
102-
- task: push-agent
103-
vars: { AGENT: "mem" }
104-
10584
record-demo:
10685
desc: Record demo gif
10786
cmd: vhs ./docs/recordings/demo.tape

cmd/root/a2a.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ func newA2ACmd() *cobra.Command {
2222
Use: "a2a <agent-file>|<registry-ref>",
2323
Short: "Start an agent as an A2A (Agent-to-Agent) server",
2424
Long: "Start an A2A server that exposes the agent via the Agent-to-Agent protocol",
25-
Example: ` cagent a2a ./agent.yaml
26-
cagent a2a agentcatalog/pirate --listen 127.0.0.1:9090`,
27-
Args: cobra.ExactArgs(1),
28-
GroupID: "server",
29-
RunE: flags.runA2ACommand,
25+
Example: ` cagent serve a2a ./agent.yaml
26+
cagent serve a2a agentcatalog/pirate --listen 127.0.0.1:9090`,
27+
Args: cobra.ExactArgs(1),
28+
RunE: flags.runA2ACommand,
3029
}
3130

3231
cmd.PersistentFlags().StringVarP(&flags.agentName, "agent", "a", "root", "Name of the agent to run")
@@ -37,7 +36,7 @@ func newA2ACmd() *cobra.Command {
3736
}
3837

3938
func (f *a2aFlags) runA2ACommand(cmd *cobra.Command, args []string) error {
40-
telemetry.TrackCommand("a2a", args)
39+
telemetry.TrackCommand("serve", append([]string{"a2a"}, args...))
4140

4241
ctx := cmd.Context()
4342
out := cli.NewPrinter(cmd.OutOrStdout())

cmd/root/acp.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,21 @@ func newACPCmd() *cobra.Command {
2323
Use: "acp <agent-file>|<registry-ref>",
2424
Short: "Start an agent as an ACP (Agent Client Protocol) server",
2525
Long: "Start an ACP server that exposes the agent via the Agent Client Protocol",
26-
Example: ` cagent acp ./agent.yaml
27-
cagent acp ./team.yaml
28-
cagent acp agentcatalog/pirate`,
29-
Args: cobra.ExactArgs(1),
30-
GroupID: "server",
31-
RunE: flags.runACPCommand,
26+
Example: ` cagent serve acp ./agent.yaml
27+
cagent serve acp ./team.yaml
28+
cagent serve acp agentcatalog/pirate`,
29+
Args: cobra.ExactArgs(1),
30+
RunE: flags.runACPCommand,
3231
}
3332

34-
addRuntimeConfigFlags(cmd, &flags.runConfig)
3533
cmd.Flags().StringVarP(&flags.sessionDB, "session-db", "s", filepath.Join(paths.GetHomeDir(), ".cagent", "session.db"), "Path to the session database")
34+
addRuntimeConfigFlags(cmd, &flags.runConfig)
3635

3736
return cmd
3837
}
3938

4039
func (f *acpFlags) runACPCommand(cmd *cobra.Command, args []string) error {
41-
telemetry.TrackCommand("acp", args)
40+
telemetry.TrackCommand("serve", append([]string{"acp"}, args...))
4241

4342
ctx := cmd.Context()
4443
agentFilename := args[0]

cmd/root/api.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,11 @@ func newAPICmd() *cobra.Command {
3232
var flags apiFlags
3333

3434
cmd := &cobra.Command{
35-
Use: "api <agent-file>|<agents-dir>",
36-
Short: "Start the cagent API server",
37-
Long: `Start the API server that exposes the agent via a cagent-specific HTTP API`,
38-
GroupID: "server",
39-
Args: cobra.ExactArgs(1),
40-
RunE: flags.runAPICommand,
35+
Use: "api <agent-file>|<agents-dir>",
36+
Short: "Start the cagent API server",
37+
Long: `Start the API server that exposes the agent via a cagent-specific HTTP API`,
38+
Args: cobra.ExactArgs(1),
39+
RunE: flags.runAPICommand,
4140
}
4241

4342
cmd.PersistentFlags().StringVarP(&flags.listenAddr, "listen", "l", "127.0.0.1:8080", "Address to listen on")
@@ -86,7 +85,7 @@ func monitorStdin(ctx context.Context, cancel context.CancelFunc, stdin *os.File
8685
}
8786

8887
func (f *apiFlags) runAPICommand(cmd *cobra.Command, args []string) error {
89-
telemetry.TrackCommand("api", args)
88+
telemetry.TrackCommand("serve", append([]string{"api"}, args...))
9089

9190
ctx := cmd.Context()
9291

cmd/root/build.go

Lines changed: 0 additions & 47 deletions
This file was deleted.

cmd/root/catalog.go

Lines changed: 0 additions & 137 deletions
This file was deleted.

0 commit comments

Comments
 (0)