Agents · Factory Droid
Factory Droid for teams, without collisions
In shortRun lanes init --agents factory in your repository and commit the result. Lanes writes .factory/hooks.json so that every Factory Droid edit is committed as you and published to a shared branch, after waiting for any teammate editing the same file. Add lanes mcp to Factory Droid so its agent can read the team brief and check a file before touching it.
Factory Droid on a team
Factory's Droids take whole tasks end to end. Two people's Droids in one repository each assume they are alone. When two people's agents work in the same repository, one can overwrite the other's change in a shared file, or write new code against a function the other is renaming. Git shows the damage later, at merge time, after both agents have finished.
Lanes connects every agent on the team to one coordination server. Factory Droid gets a team brief with each prompt, heads-ups about teammates' changes, and the rest of the team's agents see what Factory Droid is changing.
What Lanes installs for Factory Droid
Lanes writes .factory/hooks.json with the same coordination as Claude Code, on Droid's Edit and Create tools: a lease and sync before each edit, a commit and publish after it, and the team brief at the prompt.
The file is committed with lanes init, so every teammate gets it when they pull. lanes off removes only the Lanes entries and leaves your own settings alone.
| What | Factory Droid with Lanes |
|---|---|
| Edits wait for a teammate's edit of the same file | Yes |
Each edit committed as you and published to lanes/main | Yes |
| Team brief added to each prompt | Yes |
| Heads-up before reading a teammate's file | No |
| Check at the end of a turn | No |
| MCP team tools | Yes |
Set it up
- Get Lanes:
git clone https://github.com/mfmatozza/lanes && cd lanes && npm ci && npm run build. The commands below writelanesfornode /path/to/lanes/dist/lanes.cjs. - In your repository, run
lanes init --agents factoryand push the commit it makes. - Turn on shared context once per repository:
lanes team on, then commit.lanes/team.json. - Add the MCP server to Factory Droid:
Add this to ~/.factory/mcp.json:
{ "mcpServers": { "lanes": { "type": "stdio", "command": "node", "args": ["/path/to/lanes.cjs", "mcp"] } } }- Check the machine with
lanes doctor.
Working alone, the first session starts a local Lanes server. For a team, one person runs lanes server --host 0.0.0.0 and invites the others with lanes invite <name>.
Things to know about Factory Droid
- Droid snapshots hooks at startup, so restart it after
lanes init.
Status
Built from Factory Droid's published documentation and covered by Lanes' automated tests. It has not yet been run against the real Factory Droid. Issues and reports are welcome.
Mixed teams work: one person can use Factory Droid while teammates use Claude Code, Codex or Cursor. Every agent reports to the same server, so the brief and the heads-up name each teammate's task whatever agent they run.
Questions
Do I need to restart Droid?
Yes, once after lanes init, because Droid reads its hooks at startup.
Which Droid tools are covered?
Edit and Create.
How do I add the MCP tools?
Put the lanes entry, with type stdio, in ~/.factory/mcp.json.