Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@
- `./bin/cagent run <config.yaml>` - Run agent with configuration (launches TUI by default)
- `./bin/cagent run <config.yaml> -a <agent_name>` - Run specific agent from multi-agent config
- `./bin/cagent run agentcatalog/pirate` - Run agent directly from OCI registry
- `./bin/cagent exec <config.yaml>` - Execute agent without TUI (non-interactive)
- `./bin/cagent run --exec <config.yaml>` - Execute agent without TUI (non-interactive)
- `./bin/cagent new` - Generate new agent configuration interactively
- `./bin/cagent new --model openai/gpt-5` - Generate with specific model
- `./bin/cagent push ./agent.yaml namespace/repo` - Push agent to OCI registry
- `./bin/cagent pull namespace/repo` - Pull agent from OCI registry
- `./bin/cagent mcp ./agent.yaml` - Expose agents as MCP tools
- `./bin/cagent a2a <config.yaml>` - Start agent as A2A server
- `./bin/cagent api` - Start Docker `cagent` API server
- `./bin/cagent share push ./agent.yaml namespace/repo` - Push agent to OCI registry
- `./bin/cagent share pull namespace/repo` - Pull agent from OCI registry
- `./bin/cagent serve mcp ./agent.yaml` - Expose agents as MCP tools
- `./bin/cagent serve a2a <config.yaml>` - Start agent as A2A server
- `./bin/cagent serve api` - Start Docker `cagent` API server

### Debug and Development Flags

Expand Down Expand Up @@ -1029,7 +1029,6 @@ task push-image # Build and push multi-platform
| `main.go` | Entry point, signal handling |
| `cmd/root/root.go` | Root command, logging setup, persistent flags |
| `cmd/root/run.go` | `cagent run` command implementation |
| `cmd/root/exec.go` | `cagent exec` command (non-TUI) |
| `pkg/runtime/runtime.go` | Core execution loop, tool handling, streaming |
| `pkg/agent/agent.go` | Agent abstraction, tool discovery |
| `pkg/session/session.go` | Message history management |
Expand Down
21 changes: 0 additions & 21 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,27 +81,6 @@ tasks:
desc: Build and Push Docker image
cmd: docker buildx build --push --platform linux/amd64,linux/arm64 -t docker/cagent {{.BUILD_ARGS}} .

push-agent:
desc: Build dockerized agent
internal: true
vars:
DOCKER_ID:
sh: curl -s --unix-socket ~/Library/Containers/com.docker.docker/Data/backend.sock http://_/registry/info | jq -r .id
deps: ["build"]
cmd: ./bin/cagent build --push ./examples/{{.AGENT}}.yaml {{.DOCKER_ID}}/cagent-{{.AGENT}}

push-agents:
desc: Build dockerized agents
deps:
- task: push-agent
vars: { AGENT: "pirate" }
- task: push-agent
vars: { AGENT: "github" }
- task: push-agent
vars: { AGENT: "gopher" }
- task: push-agent
vars: { AGENT: "mem" }

record-demo:
desc: Record demo gif
cmd: vhs ./docs/recordings/demo.tape
11 changes: 5 additions & 6 deletions cmd/root/a2a.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,10 @@ func newA2ACmd() *cobra.Command {
Use: "a2a <agent-file>|<registry-ref>",
Short: "Start an agent as an A2A (Agent-to-Agent) server",
Long: "Start an A2A server that exposes the agent via the Agent-to-Agent protocol",
Example: ` cagent a2a ./agent.yaml
cagent a2a agentcatalog/pirate --listen 127.0.0.1:9090`,
Args: cobra.ExactArgs(1),
GroupID: "server",
RunE: flags.runA2ACommand,
Example: ` cagent serve a2a ./agent.yaml
cagent serve a2a agentcatalog/pirate --listen 127.0.0.1:9090`,
Args: cobra.ExactArgs(1),
RunE: flags.runA2ACommand,
}

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

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

ctx := cmd.Context()
out := cli.NewPrinter(cmd.OutOrStdout())
Expand Down
15 changes: 7 additions & 8 deletions cmd/root/acp.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,21 @@ func newACPCmd() *cobra.Command {
Use: "acp <agent-file>|<registry-ref>",
Short: "Start an agent as an ACP (Agent Client Protocol) server",
Long: "Start an ACP server that exposes the agent via the Agent Client Protocol",
Example: ` cagent acp ./agent.yaml
cagent acp ./team.yaml
cagent acp agentcatalog/pirate`,
Args: cobra.ExactArgs(1),
GroupID: "server",
RunE: flags.runACPCommand,
Example: ` cagent serve acp ./agent.yaml
cagent serve acp ./team.yaml
cagent serve acp agentcatalog/pirate`,
Args: cobra.ExactArgs(1),
RunE: flags.runACPCommand,
}

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

return cmd
}

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

ctx := cmd.Context()
agentFilename := args[0]
Expand Down
13 changes: 6 additions & 7 deletions cmd/root/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,11 @@ func newAPICmd() *cobra.Command {
var flags apiFlags

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

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

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

ctx := cmd.Context()

Expand Down
47 changes: 0 additions & 47 deletions cmd/root/build.go

This file was deleted.

137 changes: 0 additions & 137 deletions cmd/root/catalog.go

This file was deleted.

Loading