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

Log in or sign up for Devpost to join the conversation.