Agent Orchestrator: Automate Parallel AI Coding Agents for Your GitHub Projects
Agent Orchestrator – The Ultimate Tool to Run Parallel AI Coding Agents
Modern software development is increasingly powered by intelligent agents. Whether you use Claude Code, Codex, or Aider, running a single agent in a terminal is trivial, but scaling that to dozens of agents handling CI failures, review comments, and new features at the same time is still a coordination headache.
Enter Agent Orchestrator – an open‑source, plugin‑driven framework that turns those isolated agents into a coordinated fleet. It manages worktrees, branches, PRs, and runtime environments so you can spawn an agent and walk away.
Why it matters – Automating agent lifecycles lets you keep the human in the loop for critical decisions while delegating repetitive code‑generation tasks to the AI, leading to faster iteration, fewer merge conflicts, and more reliable releases.
Core Concepts
| Component | Default | Key Alternatives |
|---|---|---|
| Runtime | tmux | Docker, k8s, standalone process |
| Agent | Claude Code | Codex, Aider, OpenCode |
| Workspace | Git worktree | Clone |
| Tracker | GitHub | Linear |
| Notifier | Desktop | Slack, Webhook |
| Terminal | iTerm2 | Web |
All these abstractions are swappable. A lightweight plugin implements an interface and exposes a PluginModule. In our monorepo this is expressed in packages/core/src/types.ts.
What It Can Do
- Parallel CI Fixes – when a GitHub workflow fails, an agent receives the logs, writes fixes, runs tests, and opens a PR.
- Review‑Comment Auto‑reply – agents read change‑request comments, update code, and push a new branch.
- Auto‑Merge Prompts – once CI is green, you receive a friendly notification to review and merge.
- Multi‑Project Support – define several projects in
agent-orchestrator.yamland spin up agents across them with a single command. - Extensibility – plug in Docker for a serverless runtime, Slack for notifications, or even a custom agent that speaks to an internal API.
Quick Start Guide
# 1️⃣ Clone the repo
git clone https://github.com/ComposioHQ/agent-orchestrator.git
cd agent-orchestrator
# 2️⃣ Setup your environment (Node 20+, Git 2.25+, tmux, gh)
bash scripts/setup.sh
# 3️⃣ Point at your repo and initialize
cd ~/my-project && ao init --auto
# 4️⃣ Run the orchestrator dashboard and spawn an agent
ao dashboard # opens http://localhost:3000
ao spawn my-app 123 # issue number (GitHub, Linear, or ad‑hoc)
The ao status command shows all active sessions, while ao send <session> "Fix the tests" lets you pass arbitrary prompts to a running agent.
Architecture Snapshot
[Repo] ──► Gitworktree ──► Agent (Claude/Codex/Aider) ──► PR → GitHub
│ │ │ │
└─ tmux session ──┬─ Notifier ─► Desktop/Slack
│
Runtime: Docker / Kubernetes
Each agent lives in its own tmux session (or Docker container), has a dedicated feature branch, and pushes a PR back to the repository. All communication (CI logs, review comments) is routed through the orchestrator service.
Customizing with agent-orchestrator.yaml
port: 3000
defaults:
runtime: tmux
agent: claude-code
workspace: worktree
notifiers: [desktop]
projects:
my-app:
repo: owner/my-app
path: ~/my-app
defaultBranch: main
sessionPrefix: app
reactions:
ci-failed:
auto: true
action: send-to-agent
retries: 2
changes-requested:
auto: true
action: send-to-agent
escalateAfter: 30m
approved-and-green:
auto: false
action: notify
reactions map triggers to actions. For example, when ci-failed is detected, the agent is automatically notified and given a few retry attempts.
Extend the Agent Stack
Adding a new agent or runtime is just a matter of implementing an interface and registering the plugin:
export const myNewAgent: PluginModule = {
name: 'my-new-agent',
type: 'agent',
init: async (config) => { /* … */ },
}
Then add my-new-agent to agent-orchestrator.yaml.
Real‑World Use Cases
| Scenario | How Agent Orchestrator Helps |
|---|---|
| Rapid Prototyping | Spawn an agent for each new feature ticket; it auto‑generates skeleton code and tests. |
| CI‑Driven Bug Fixes | Agents automatically roll back to a failing branch, identify the culprit, write a fix, and open a PR. |
| Code Refactor Sweep | Run an agent per module to standardize style and update imports across the codebase. |
| Team Productivity | Developers delegate repetitive tasks to the AI, freeing time for architectural decisions. |
Getting Involved
The project is MIT‑licensed and welcomes contributions. The plugin architecture makes it straightforward to add:
- New runtimes (e.g., Docker Compose or Kubernetes)
- Alternative notifiers (Slack, webhook, Composio platform)
- Support for other issue trackers (Jira, ServiceNow)
- AI agents beyond Claude Code and Codex
Feel free to open a PR or issue, and reference the CLAUDE.md file for code conventions and architecture details.
Conclusion
Agent Orchestrator transforms the chaotic world of multiple AI agents into a well‑coordinated, scalable system. By abstracting runtime, workspace, and notification concerns, devs can focus on high‑level strategy while the orchestrator handles branch isolation, CI integration, and PR management. Whether you’re a solo developer or a team maintaining a large monorepo, Agent Orchestrator empowers you to unlock the full potential of AI‑driven coding at scale.
Try it today – clone the repo, spin up an agent, and watch your CI problems get solved automatically. Your future self will thank you for freeing up the manual grunt work.