Refactor a legacy codebase without breaking it
Split the refactor across agents, block risky work behind tests, and review every diff before it lands.
Big refactors fail because they happen all at once. A single agent given a whole module will confidently rewrite behaviour you did not know you depended on.
A refactor that arrives as fifty reviewed slices instead of one unreviewable pull request.
The team to build first
Copy this composition, then add builders only once cards start waiting in assigned instead of review.
- LeadMaps the module, writes the task graph, sets blockers
- Test writerLocks current behaviour in tests before anything changes
- Builder ×2Refactor file by file, only after tests exist
- ReviewerRejects any diff that changes behaviour, not just shape
Bump deps to latest minor
Add rate limit to /api/sync
Extract auth into a module
Write tests for parser
Fix null deref in session
Migrate config loader
How the run goes
- 01
Characterise first
Test tasks are created first and every refactor task is blocked by them. Nothing moves until behaviour is pinned.
- 02
Refactor in slices
One file per card. Small diffs are reviewable diffs, and a bad one costs you one card, not a week.
- 03
Review with intent
The diff view shows the change next to the test that guards it. Reject and comment sends it straight back.
- 04
Watch the blockers
The board shows what is stuck and why, so a failing test surfaces immediately instead of at merge time.
- 01
Agent teams
Build a team with real roles. Agents work in parallel, talk to each other, and hand off across teams.
- 03
Code review
A diff per task with accept, reject and comment — plus a built-in editor with Git support.
- 02
Kanban board
Five columns that move on their own. Tasks change status the moment an agent picks them up.
- 06
Terminal workspace
A real terminal in the app, with team shells, local shells, history and autocomplete.
- FeatureCode reviewA diff per task with accept, reject and comment — plus a built-in editor with Git support.
- AnswerIs my code private?Coordination state, task history and app data stay on your machine. Code only leaves your machine if you point an agent at a hosted model — and you choose that per team, so you can keep sensitive repos on a local runtime.
- Use caseRaise test coverage on a project nobody testedOne agent per module, tests written in parallel, every suite run in the built-in terminal before review.
Run this workflow tonight.
Install, copy the team above, and give it the objective. Free, no account.