Multi-Agent Coordination Platform for AI Development
Features β’ Quick Start β’ Architecture β’ Contributing
π¦ Distribution Notice This project primarily provides a Tauri desktop application (binary distribution). The web version is available only for demo purposes and is not the main deployment target.
Routa orchestrates AI agents to collaborate on complex development tasks through specialized roles and real-time coordination. It parses natural language into structured intent (Spec with Tasks), then shares this unified intent across all downstream agents, ensuring context consistency throughout the workflow.
Multi-Protocol Architecture:
- MCP (Model Context Protocol) β Coordination tools for agent collaboration (task delegation, messaging, notes)
- ACP (Agent Client Protocol) β Spawns and manages agent processes (Claude Code, OpenCode, Codex, Gemini)
- A2A (Agent-to-Agent Protocol) β Exposes external federation interface for cross-platform agent communication
Instead of a single AI handling everything, Routa enables multiple agents to work togetherβone plans, another implements, and a third verifiesβcreating a more robust and scalable development workflow.
Routa's Kanban board is the central hub for multi-agent coordination:
- π Visual Workflow: Drag-and-drop task cards across columns (Backlog β Todo β Dev β Review β Done)
- π€ Agent Automation: Assign specialized agents to each column for automatic task processing
- π Real-time Sync: Live updates as agents move tasks, add comments, and complete work
- π¬ Natural Language Planning: Describe your goals in plain text, let Routa create and organize tasks
- π― Session Management: Track agent interactions, view execution history, and monitor progress
The Kanban interface provides full visibility into what each agent is working on, task dependencies, and overall project statusβmaking multi-agent collaboration transparent and manageable.
- Breaks down complex work into manageable tasks across specialized agents
- Coordinates execution through task delegation, messaging, and event streaming
- Verifies quality with dedicated review agents before completion
- Connects multiple AI platforms (Claude Code, OpenCode, Codex, Gemini) through unified protocols
- Provides real-time visibility into agent activities, task progress, and collaboration
| Icon | Role | Description |
|---|---|---|
| π΅ | Routa (Coordinator) | Plans work, parses intent into structured Spec, creates tasks, delegates to specialists |
| π | CRAFTER (Implementor) | Executes implementation tasks, writes code, makes minimal focused changes |
| π’ | GATE (Verifier) | Reviews work, validates against acceptance criteria, approves or requests fixes |
| π― | DEVELOPER (Solo) | Plans and implements independently without delegation (single-agent mode) |
| π οΈ | Custom Specialists | User-defined specialist roles with custom system prompts, model tiers, and behaviors |
- π Task Orchestration: Create tasks, delegate to agents, track dependencies, parallel execution
- π¬ Inter-Agent Communication: Message passing, conversation history, completion reports
- π‘ Multi-Protocol Support: MCP, ACP, A2A for connecting diverse AI clients
- π― Skills System: OpenCode-compatible skill discovery and dynamic loading
- π ACP Registry: Discover and install pre-configured agents from the community registry (supports npx, uvx, and binary distributions)
- π§ Custom MCP Servers: Register and manage user-defined MCP servers (stdio/http/sse) alongside the built-in coordination server
- π§βπ» Custom Specialists: Define custom agent roles via Web UI, REST API, or Markdown files with YAML frontmatter
- π GitHub Virtual Workspace: Import GitHub repos as virtual workspaces for browsing and code review without local clones
- π Real-Time UI: Live agent status, task progress, streaming chat interface
π For detailed protocol specs and API reference, see AGENTS.md
# Install dependencies
npm install --legacy-peer-deps
# Run Tauri desktop app
npm run tauri dev# Install dependencies
npm install --legacy-peer-deps
# Start development server
npm run devVisit http://localhost:3000 to access the web interface.
# Build and start with SQLite (no external database required)
docker compose up --buildTo use PostgreSQL instead, create a .env file in the project root:
# .env
ROUTA_DB_DRIVER=postgres
DATABASE_URL=postgresql://routa:routa_secret@postgres:5432/routa
POSTGRES_PASSWORD=routa_secretThen start with the postgres profile (starts a bundled Postgres container):
docker compose --profile postgres up --buildThe service is available at http://localhost:3000.
Health check: http://localhost:3000/api/health
Register user-defined MCP servers (stdio/http/sse) alongside the built-in coordination server. Managed via Web UI (Settings panel) or REST API. When an ACP agent spawns, enabled custom servers are automatically merged into its MCP configuration.
Supported providers: Claude, OpenCode, Codex, Gemini, Kimi, Augment, Copilot.
Define custom specialist roles beyond the built-in four, with their own system prompts, model tiers, and behaviors. Managed via Web UI (Specialist Manager), REST API, or Markdown files with YAML frontmatter placed in ~/.routa/specialists/.
Loading priority: Database > User files (~/.routa/specialists/) > Bundled (resources/specialists/) > Hardcoded fallback.
Import GitHub repos as virtual workspaces for browsing and code review β no local git clone required. Supports file tree browsing, content reading, and search. Works on serverless (Vercel) via zipball download with TTL-based cache cleanup.
The desktop distribution includes a routa CLI built on the same routa-core logic as the Rust server:
routa -p "Implement feature X" # Full coordinator flow
routa agent list|create|status # Agent management
routa task list|create|get # Task management
routa chat # Interactive chatflowchart TB
subgraph clients["π₯οΈ AI Clients"]
claude["Claude Code"]
opencode["OpenCode/Codex"]
gemini["Gemini CLI"]
a2a_ext["External Agents"]
end
subgraph browser["π Web Interface"]
chat["Chat Panel"]
agents["Agent Panel"]
skills["Skill Panel"]
end
subgraph server["βοΈ Routa Server"]
mcp["MCP Server<br/>/api/mcp"]
acp["ACP Agent<br/>/api/acp"]
a2a["A2A Bridge<br/>/api/a2a"]
rest["REST APIs"]
subgraph core["Core Engine"]
tools["Coordination Tools"]
orchestrator["Orchestrator"]
system["Stores & EventBus"]
skill_reg["Skill Registry"]
end
end
claude -.->|"SSE + JSON-RPC"| mcp
opencode -.->|"stdio + JSON-RPC"| acp
gemini -.->|"stdio + JSON-RPC"| acp
a2a_ext -.->|"HTTP + JSON-RPC"| a2a
chat -->|"WebSocket"| acp
agents -->|"REST"| rest
skills -->|"REST"| rest
mcp --> tools
acp --> tools
acp --> skill_reg
a2a --> tools
rest --> system
tools --> orchestrator
orchestrator --> system
skill_reg --> system
classDef clientStyle fill:#e1f5ff,stroke:#0288d1,stroke-width:2px
classDef browserStyle fill:#fff3e0,stroke:#f57c00,stroke-width:2px
classDef serverStyle fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef coreStyle fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
class claude,opencode,gemini,a2a_ext clientStyle
class chat,agents,skills browserStyle
class mcp,acp,a2a,rest serverStyle
class tools,orchestrator,system,skill_reg coreStyle
Routa.js is a practical case study of the three principles from the Harness Engineering article: build software systems that are readable for AI, constrained by engineering guardrails, and improved through fast automated feedback.
Routa makes project structure and operating rules explicit so agents can work with less hidden context:
- Explicit knowledge architecture: AGENTS.md defines coding standards, testing strategy, Git discipline, and PR requirements, while docs/product-specs/FEATURE_TREE.md captures product capabilities.
- Machine-friendly interfaces: the platform exposes MCP, ACP, A2A, REST, and CLI entry points so agent workflows do not depend on manual UI steps.
- Progressive context disclosure: bundled specialist definitions in
resources/specialists/and the fitness rulebook in docs/fitness/README.md reveal role boundaries, quality gates, and task-specific context only where needed.
Routa treats engineering constraints as hard boundaries that keep AI-generated changes inside a safe operating envelope:
- Automated enforcement before code lands:
.husky/pre-commitruns a fast lint pass, and.husky/pre-pushdelegates toscripts/smart-check.shfor structured validation. - Fitness functions as physical laws:
docs/fitness/README.md defines hard gates such as
npm run test:run,cargo test --workspace,npm run api:check, andnpm run lint. - Clear boundaries for agents:
AGENTS.mdand specialist configs define what agents should do, what they must not do, and how they report verifiable evidence.
%%{init: {'theme': 'base', 'themeVariables': { 'fontSize': '14px'}}}%%
flowchart LR
subgraph HardGates["π« Hard Gates (ι»ζ)"]
direction TB
TEST["π§ͺ Testability<br/>ts_test + rust_test"]
CONTRACT["π Evolvability<br/>API Contract Parity"]
LINT["β¨ Maintainability<br/>ESLint + Clippy"]
SEC["π Security<br/>Critical CVE = 0"]
end
subgraph SoftGates["β οΈ Soft Gates (θ¦ε)"]
direction TB
PERF["β‘ Performance<br/>p95 < 300ms"]
DEPLOY["π¦ Deployability<br/>Build Success"]
OBS["ποΈ Observability<br/>Trace β₯ 80%"]
COMPLY["π Compliance<br/>Policy Deny = 0"]
end
CODE["π€ Agent Code Change"] --> FITNESS["fitness.py<br/>η»δΈζ§θ‘ε¨"]
FITNESS --> HardGates
FITNESS --> SoftGates
HardGates -->|"Any β"| BLOCK["π BLOCKED<br/>Cannot Proceed"]
HardGates -->|"All β
"| SCORE["π Score Calculation"]
SoftGates --> SCORE
SCORE -->|"β₯ 90%"| PASS["β
PASS"]
SCORE -->|"80-90%"| WARN["β οΈ WARN"]
SCORE -->|"< 80%"| FAIL["β FAIL"]
style HardGates fill:#fee2e2,stroke:#dc2626
style SoftGates fill:#fef3c7,stroke:#d97706
style BLOCK fill:#dc2626,color:#fff
style PASS fill:#22c55e,color:#fff
style WARN fill:#f59e0b,color:#fff
style FAIL fill:#ef4444,color:#fff
Routa closes the loop by collecting feedback from issue intake, review automation, and recurring maintenance workflows:
- Issue enrichment:
.github/workflows/issue-enricher.ymlprepares structured context and solution direction for new work. - Review handoff automation:
.github/workflows/copilot-complete.ymlpromotes completed work into review-ready state and triggers downstream verification. - Continuous backlog hygiene:
.github/workflows/issue-garbage-collector.ymlkeeps issue context fresh through scheduled cleanup. - Unified evidence collection: Git hooks, fitness reports, workflow logs, and task artifacts all produce feedback that can be fed back into the next agent iteration.
- Built with Model Context Protocol by Anthropic
- Uses Agent Client Protocol for agent communication
- Uses A2A Protocol for agent federation
- Inspired by the Intent - multi-agent coordination patterns in modern AI systems
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by the Routa community
