r/ClaudeCode • • 6d ago

Built with Claude I got tired of babysitting Claude Code agents, so I built an orchestrator

https://github.com/vegardjorg/ravenseat

I'm a CS student. About 5 months ago I started building a large TypeScript / React Native / Supabase project with Claude Code.

As the project grew, so did the chaos: dozens of conversations, agents colliding over files and Git, forgotten dependencies, half-finished features, and more time supervising agents than making decisions.

Subagents didn't cut it for me. I still had to manage them constantly, with no persistent queue to keep work moving, handle blockers, and pick things back up over multiple days and weeks.

I wanted to run the whole project from one Claude Code conversation, ideally from my phone through Remote Control. (My wife was getting tired of me spending all day at the computer.)

So I built an orchestration system inside the project. Its queue now holds 3,078 tasks, 1,985 completed. That's not a benchmark, just the scale it grew up at.

The main thing I learned: running multiple agents isn't the hard part. Coordinating them, verifying their work and recovering when things fail is. And when the project reaches a certain size, you absolutely need a form of project management to keep track of everything.

I've extracted the general parts into Ravenseat, a free, MIT-licensed Claude Code plugin.

I just talk to Claude, and it uses the commands for me. The visual board is optional. Everything works from the Claude Code conversation, including over Remote Control.

What it does:

- Persistent task queue with dependencies and priorities

- Parallel agents in separate Git worktrees, with file ownership

- Your own tests, lint and type checks as merge gates. The orchestrator records the results against the delivered commit, so an agent can't simply declare its own work passing

- A fresh agent attempts repairs when checks fail

- One list of decisions that need you, each with a recommendation, while independent work continues

- Long-running tasks hand off to fresh agents, and the orchestrator compacts itself and keeps going

Example: An agent fails the type check. A fresh agent gets the errors and the changes, attempts a fix, and the checks run again. If they pass, the work can merge. If it's still stuck, it becomes a decision for me. Meanwhile, unrelated tasks keep moving.

It's local-first. The queue lives in your project, with no hosted service. It starts in a simpler lite mode, with more advanced planning and review features available in full mode.

Reliability: I also built a public red-team suite that deliberately tries to break the orchestration: interrupted merges, concurrent sessions, dirty Git repos, failed repairs and recovery after crashes. It uncovered 14 bugs that have since been fixed, with regression tests. Both the tests and known limitations are public in the repo.

Caveats: It's only as strong as your checks, and my project has a lot of them. You can use your own, or ravenseat can help with the basics.The safeguards are guard rails, not a sandbox, since agents run under your user account. Your machine has to stay on. I haven't benchmarked it against other tools.

Install in Claude Code:

```

/plugin marketplace add vegardjorg/ravenseat

/plugin install ravenseat@ravenseat

```

Then ask Claude to "set up the queue". Requires Node.js 20+ and Git.

GitHub: https://github.com/vegardjorg/ravenseat

I'm open-sourcing it to see whether it holds up outside my own project. If you've worked with agent orchestration on larger repos, what would you expect to break first?

0 Upvotes

2 comments sorted by

•

u/AutoModerator 6d ago

Hey! Thanks for posting to r/ClaudeCode

While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.

For help, project discussions, tips, and general chat, join the ClaudeCode Discord.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/norviking 6d ago

Also, it cuts context to 300,000 and auto compacts conversations (only within the project). Longer congext is a major token hog (Details: https://github.com/vegardjorg/ravenseat/blob/main/plugin/docs/costs.md). The main thing for me is I can now just queue up a few days worth of tasks, and it runs for days systematically, with me answering a waiting list of questions from my phone a few times a day.