Migrations split across parallel agents
Describe the migration once. Capy splits it by directory or package, and each agent ships its own pull request from a clean checkout.

WHAT TEAMS HAND OFF
Dependency upgrades, API migrations, and pattern refactors that span hundreds of files.
Framework moves
Next.js to TanStack Start, one package at a time.
Pattern refactors
One pattern swapped in every file that uses it.
Nightly upgrades
A nightly check opens a PR for anything vulnerable.
Describe it once
Name the change and the split, by directory or package, and Capy plans one agent per part.
Each on its own machine
Every agent boots a fresh machine with a clean checkout, so parallel edits can’t collide.
Stacked when dependent
Changes that build on each other ship as a stack of pull requests you merge bottom up.
Fixed by its owner
A failing check or a conflict wakes the thread that owns the PR, and it pushes the fix.
IN PRODUCTION
From September 10 to October 10, 2026, Capy opened or pushed to 1,252 of the pull requests Goblins merged.
“I would miss the satisfaction of just building fast.”
Matt ReedFounding Engineer, Goblins
- 1,252
- merged PRs Capy opened or pushed to in a month
- 300+
- pull requests merged a week
- 5x
- more merged PRs a week, same small team
YOU STAY IN CHARGE
You merge every pull request, set the rules agents follow, and hear only what needs you.
Merge bottom up
Merge a stack from the PR page, one layer at a time.
Your conventions
Every agent follows the rules in AGENTS.md.
What needs you
A Captain runs hundreds of agents and flags your calls.
FAQ
Common questions about Migrations & refactors with Capy.
How does Capy split a migration?+
Why does each agent get its own machine?+
What if the changes depend on each other?+
What happens when CI fails or a PR conflicts?+
Can several agents work in the same repository?+
Can each agent use a different model?+
What about migrations too big for one thread?+
How do I keep dependencies from piling up again?+
Add Capy to your team
Hand Capy a task from Slack, Linear or the app, and get back a pull request ready to merge.







