A small team shouldn’t have to work at a small scale.
At Motor, agents write and review all of our code. As we put more agents to work, Git became a constraint. So we built Amp: a distributed version control system designed for many agents working in one repository.
Amp builds on the theory of patches used by Darcs and Pijul. It’s a fork and port of Pijul, adapted for agent concurrency:
- Many agents can work concurrently. Each agent has its own workspace and channel. Operations on separate workspaces and channels run concurrently; updates to the same channel are serialized.
- Their work combines predictably. A channel is a set of changes. Channels containing the same changes produce identical files, including any conflict markers, regardless of arrival order. Amp automatically includes each change’s dependencies.
- They can share decisions about conflicts. When an agent resolves a conflict, Amp records that resolution as a change. Other agents can apply the same decision instead of making their own.
Amp and Current, our hosted service, are part of Motor’s bet that a handful of people can compete with teams of thousands.
Get started
curl -fsSL https://dl.amp.motor.dev | sh
To introduce your agents to Amp, add this to AGENTS.md:
We use amp (https://amp.motor.dev) for version control. Run `amp learn` and read its output before using Amp.
curl -fsSL https://dl.amp.motor.dev | sh
Run amp learn and read its output before using Amp. Every command accepts --json.
Bring your Git history
amp import git <path or URL> imports all branches and tags into an initialized Amp repository.
Branches become channels, and the original Git commits and authors remain in the import provenance.