Inspiration

I wanted a simple way to build AI pipelines, loops, and graph-style workflows out of subagents from different coding hosts.

What it does

Callee lets me compose pipelines, loops, and graph-style workflows from repository-defined subagents. I can generate and run roles from Codex, Claude, OpenCode, Grok, Copilot, or Cursor, and mix them in any composition. Everything lives as Markdown in the repo, without heavy configuration.

How I built it

I built Callee as a pure Go, single-binary CLI runtime. Definitions live in repository Markdown or YAML, are validated, and run through ACP-compatible providers. I also built in host integrations so the same repo-defined roles and workflows can be created and executed across different coding hosts.

I did not start from zero infrastructure. I already had Norma Runtime and go-adk-acpagent, and Callee builds on top of that foundation. The new work here was the repository-native workflow system, the composition model, the host integrations, and the built-in authoring experience.

Challenges I ran into

The biggest challenge was resisting complexity. It would have been easy to turn Callee into a much heavier orchestration system with more layers, more configuration, and more hidden runtime behavior. I deliberately kept pulling it back toward a KISS design: repo-defined agents, simple composition, Markdown-first authoring, local execution, and a pure Go single binary.

Accomplishments that I'm proud of

I’m proud that Callee is easy to use from all major coding agents with host plugins. I can just run $callee write a loop, or ask for something like $callee make me a Codex agent for writing a spec with model 5.6 and xhigh reasoning and get a repository-defined agent or workflow that I can immediately run, inspect, and modify.

What I learned

I learned that cross-host agent composition gets much easier when everything is represented as simple repo artifacts. I also learned that keeping the product local-first and configuration-light makes it much more usable.

What's next for Callee

Next I want to add stateful sessions between runs, better observability and metrics, and more node types such as Exec and Parallel, while keeping the system simple, repo-native, and single-binary.

Built With

  • adk
  • codex-acp-bridge
  • go-adk
  • go-adk-acpagent
  • golang
  • norma
  • promptkit
  • promptkitty
Share this project:

Updates