Hi HN! I've recently been finding productivity in running parallel CLI coding agents(after not believing in them initially).
After having to do a ton of git stashing and branch fumbling, I decided I needed to something to more ergonomically run these agents in their own dedicated spaces.
I tried a lot of the existing products but they either were too convoluted or flat out didn't work. Some of them also seem to roll their own chat UI which I don't think is the right approach, I wanted to something to lightly wrap my terminal sessions.
So I built FleetCode! It uses git worktrees and let's you run multiple agents at once. It's made my multi agent coding workflow much easier.
It's free and open source, would love some feedback!
Take a look at https://conductor.build/ - they really pioneered this whole direction of using git worktrees. Cursor will soon look like their app, Opencode will soon look like their app, etc.
For people interested in rolling their own with TUI interface, I've an open sourced, single file implementation here[0].
It is based off Shopify CEO Tobi's `try` implementation[1].
[0]: https://github.com/aperoc/toolkami [1]: https://github.com/tobi/try
Hi OP, can you tell me how you got started to build tool like this? From what I understand, you are leveraging git worktree under the hood and using LLM agent that work in CLI to maintain 'branch' of version being produced. depending on which agent produces the best version of code, you pivot to that one. And Fleetcode provider solution to manage this.
Did you use TypeScript to build FleetCode because of electron app?
It seems like there are a bunch of tools more or less converging on this sort of workflow - see:
https://github.com/stravu/crystal
For anyone who either doesn't want a GUI-based workflow or wants a lot of custom behavior, I would encourage you to roll your own tool, either by yourself or with an agent. I did this at work and the tool became very usable in short order, building on itself in a virtuous cycle with built-in handling for the quirks of our engineering org and my own preferences. The codebase I ended up with was quite ugly, but the problem space of doing this for local dev is small enough to be manageable.
I like that it’s a UI.
Dagger has a nice solution for this in this space called Container Use - https://container-use.com/introduction
It does git worktree based parallelisation as well.
Edit: Ah! I see you mentioned several tools. Sorry I saw the repo and immediately thought of container use as I have been planning to give it a go this week. Did you happen to try it too? And where did it breakdown?
This is cool, except I don’t want to run multiple copies of my dev stack.
GitButler does this cool thing where you can work on multiple branches at the same time, applied to the same working directory. For example you can work on the css while an agent works on the admin panel on a separate branch. It would be cool to have this with a tool like FleetCode.
Is this based on a single provider? Could you explain how it differentiates itself from competing solutions? Perhaps an end-to-end workflow walkthrough or a short video would be helpful to understand the process before attempting to implement it. Thank you for open-sourcing the code.
You may have an issue with this name. It's easily confused with the Fleet code editor with AI assistant from JetBrains.
I normally just use multiple terminal tabs, but I never knew about worktrees; that’s super useful.
Why don't you join forces with https://happy.engineering/?
I've built something very similar but am further along (https://github.com/stravu/crystal). I understand the desire to do your own thing, but if you are interested in joining forces and contributing I would love to have you. I think we were thinking along very similar lines.