← All finds

Find No. 007 · Oct 19, 2026 · 2 min read

Version control built for agent swarms

Version control built for fleets of coding agents. Lands changes with rebase + compare-and-swap, no merge queue.

feder-cr/git-ai
Screenshot of git-ai

git-ai (the binary is called gitai) is a version control server built for coding agents instead of people. The README's argument is simple. Git hosting assumes a human who clones, works for hours, and pushes once. Agents do the opposite. They make thousands of small, short-lived changes, and they all target the same branches. Full clones, merge queues and client-side history walks become the bottleneck. gitai moves that work to the server and keeps plain Git repos underneath. It started as a fork of GitLab's Gitaly. The README says it was inspired by Anthropic's internal Scion system, and it is not affiliated with Anthropic.

How it works

Agents talk to the server through the graft CLI or a Go SDK over gRPC. Clients are sparse. They fetch only the objects and paths they need. Blame, path history, ancestry and code search run on the server and are cached per commit.

Landing is the part I find most interesting. There is no merge queue. A change is rebased onto the current tip and lands with a compare-and-swap. Concurrent lands on the same branch get batched. If a land conflicts, you can plug in a resolver: an LLM provider, a deterministic tool, or nothing.

Every ref update goes into a changeset log with the operation and the actor, and clients can watch it live. Changesets go into a write-ahead log in SQLite or PostgreSQL. Packs go to file storage, S3, GCS or Azure. Server nodes are stateless. There's also graft-verify, which tests the tip after a land, bisects failures and reverts the bad change.

Try it

git clone https://github.com/feder-cr/git-ai.git
cd git-ai
make build                         # server, CLI and tools into _build/bin
examples/graft/quickstart.sh       # server, cache daemon, two agents and a land, in a temp directory
./_build/bin/graft                 # the CLI and its commands

The quickstart script starts a server, a cache daemon and two agents doing a land in a temp directory, so you can watch the flow before you configure anything.

My take

The problem is real. If you run many agents against one repo, the human-shaped Git workflow gets in the way. The README's benchmark had 50 agents land 250 changes on one branch. gitai hit about 1,900 to 2,500 lands per minute, against roughly 240 to 270 with batching off. That's the project's own test, so read it as a claim and not as proof.

The limits are just as clear. It's at version 0.2.0 and interfaces may change before 1.0. The build needs Go 1.26, a C toolchain, Meson and Ninja, because it compiles a bundled Git. It runs on Linux and macOS only. Garbage collection of packs in the storage core isn't done yet.

If you're one dev with one agent, regular Git is fine. If you build agent infrastructure or run a fleet of agents on a shared codebase, read the design docs in doc/graft/.