https://github.com/etylsarin/opencastle
Multi agens orchestration setup for Github Copilot, Cursor & Claude Code
https://github.com/etylsarin/opencastle
ai ai-agents ai-agents-automation ai-agents-cli ai-agents-framework ai-agents-mcp ai-coding-agent ai-coding-assistant ai-coding-tools claude-ai copilot copilot-coding-agent cursor-ai multi-agent multi-agent-system orchestration orchestration-framework orchestration-systems vibe-coding vibecoding
Last synced: 5 days ago
JSON representation
Multi agens orchestration setup for Github Copilot, Cursor & Claude Code
- Host: GitHub
- URL: https://github.com/etylsarin/opencastle
- Owner: etylsarin
- License: mit
- Created: 2026-02-26T06:28:10.000Z (20 days ago)
- Default Branch: main
- Last Pushed: 2026-03-05T22:11:43.000Z (12 days ago)
- Last Synced: 2026-03-06T02:41:48.785Z (12 days ago)
- Topics: ai, ai-agents, ai-agents-automation, ai-agents-cli, ai-agents-framework, ai-agents-mcp, ai-coding-agent, ai-coding-assistant, ai-coding-tools, claude-ai, copilot, copilot-coding-agent, cursor-ai, multi-agent, multi-agent-system, orchestration, orchestration-framework, orchestration-systems, vibe-coding, vibecoding
- Language: TypeScript
- Homepage: http://www.opencastle.dev/
- Size: 8.84 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# OpenCastle
Turn your AI coding assistant into a multi-agent team.
Website ·
Docs ·
Quick Start ·
Architecture ·
Contributing
---
Works with **[GitHub Copilot](https://github.com/features/copilot)**, **[Cursor](https://www.cursor.com/)**, **[Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview)**, and **[OpenCode](https://opencode.ai/)**.
One command sets up specialized agents that decompose tasks, work in parallel, and verify each other's output.
One command. Any repo. Any IDE.
## Quick Start
```bash
npx opencastle init
```
The CLI asks about your IDEs and stack. It installs agents, skills, and MCP servers tailored to your project.
You can select multiple IDEs and tools — the output is adapted for each one.
### What gets generated
| IDE | Output |
|-----|--------|
| **VS Code** | `.github/` — agents, skills, workflows, prompts |
| **Cursor** | `.cursorrules` + `.cursor/rules/` |
| **Claude Code** | `CLAUDE.md` + `.claude/` |
| **OpenCode** | `AGENTS.md` + `.opencode/` + `opencode.json` |
MCP servers are auto-configured for your stack in each IDE's native format.
### CLI
| Command | Description |
|---------|-------------|
| `opencastle init` | Set up agents in your project |
| `opencastle update` | Update framework files (keeps your customizations) |
| `opencastle eject` | Remove the dependency, keep all files |
| `opencastle destroy` | Remove ALL OpenCastle files (reverse of init) |
| `opencastle pipeline` | Go from idea to convoy spec in one command (PRD → validate → convoy → validate → fix) |
| `opencastle plan` | Run a single prompt template step (generate PRD, convoy spec, or validate) |
| `opencastle validate` | Validate a convoy YAML spec file without executing it |
| `opencastle run` | Run the Convoy Engine (deterministic, crash-recoverable orchestrator) |
| `opencastle dispute` | Manage convoy dispute resolution |
| `opencastle dashboard` | Open the observability dashboard |
| `opencastle doctor` | Validate your setup and surface issues |
| `opencastle agents` | Manage persistent agent identities |
| `opencastle baselines` | Manage visual regression baselines |
| `opencastle log` | Append a structured event to the observability log |
| `opencastle lesson` | Append a structured lesson to LESSONS-LEARNED.md |
Add `--dry-run` to any command to preview what it would change without writing files.
📖 [Full CLI documentation →](https://www.opencastle.dev/docs/cli)
## What's Inside
**Specialist Agents.** Developer, UI/UX, Database, Security, Testing, Reviewer, and more.
**On-Demand Skills.** Loaded on demand to keep context windows lean. Auto-selected during init based on your stack.
**Workflow Templates.** Features, bug fixes, data pipelines, security audits — reproducible execution templates.
**Quality gates.** Fast review after every step. Panel majority vote for high-stakes changes. Lint, test, build checks.
**Cost-aware routing.** Picks the right model tier (Premium → Quality → Standard → Fast → Economy) based on task complexity.
**Self-improving.** Agents capture lessons and graduate them into permanent instructions.
## Dashboard
```bash
npx opencastle dashboard
```
Visualizes real agent data from your project — sessions, success rates, model usage, execution logs, and panel reviews.
Reads from the same NDJSON logs your agents already write. No setup needed.
📖 [Dashboard CLI documentation →](https://www.opencastle.dev/docs/cli#dashboard)
## Doctor
```bash
npx opencastle doctor
```
Runs multiple health checks — manifest, configs, skills, observability logs, IDE settings, MCP setup, and environment variables. Useful in CI or after upgrading.
📖 [Doctor CLI documentation →](https://www.opencastle.dev/docs/cli#doctor)
## Convoy Engine
A deterministic, crash-recoverable orchestrator inspired by Steve Yegge's [Gas Town](https://github.com/steveyegge/gastown). Define tasks in YAML, run overnight, resume after crashes.
```bash
npx opencastle run convoy.yml
```
```yaml
# convoy.yml
name: "Overnight feature batch"
version: 1
adapter: claude-code
branch: feat/reviews
tasks:
- id: migrate-db
agent: database-engineer
prompt: "Create a reviews table migration."
- id: build-component
agent: ui-ux-expert
prompt: "Build a ReviewCard component."
- id: wire-page
agent: developer
prompt: "Add reviews to the place detail page."
depends_on: [migrate-db, build-component]
gates:
- npm run lint
- npm run test
```
- **Crash-safe** — SQLite WAL persistence survives crashes, power loss, OOM kills. Resume with `--resume`.
- **Isolated** — each worker runs in its own git worktree. Changes merge back in dependency order.
- **Observable** — real-time dashboard auto-starts during execution.
- **Multi-runtime** — mix Copilot, Claude Code, Cursor, and OpenCode in the same convoy.
Generate a validated convoy spec from a plain text description — no YAML by hand:
```bash
npx opencastle pipeline --text "Add user reviews to the place detail page"
```
The pipeline command runs 5 steps automatically: generate PRD → validate PRD → generate convoy spec → validate spec → auto-fix if needed. For lower-level control, use `opencastle plan` to run individual steps.
📖 [Full Convoy Engine documentation →](https://www.opencastle.dev/docs/cli#run)
## Architecture
See **[ARCHITECTURE.md](ARCHITECTURE.md)** for the full diagram, workflow templates, and quality gates.
## Contributing
1. Fork the repo
2. Create a branch — `feat/your-feature` or `fix/your-fix`
3. Make changes and ensure `npm run build:cli` passes
4. Open a PR
For large changes, [open an issue](https://github.com/etylsarin/opencastle/issues) first.
## Support
OpenCastle is free and open-source.
For corporate sponsorship inquiries, open a [GitHub Discussion](https://github.com/etylsarin/opencastle/discussions).
## License
[MIT](LICENSE) — Filip Mares, 2026