Components
Reception
Reception is the desk you talk to, and talking to it is how this is meant to be used: bring it a half-formed idea and it argues back until there is an RFC worth approving. Then it hands the RFC to you and stops. It launches no workers, merges nothing, and never performs the act that means build this.
Where it puts the RFC depends on the door the factory approves through. On a factory wired to Linear it writes the issue and leaves it in your court; on one without, it opens the pull request that adds the plan and waits for you to merge it.
It also handles onboarding, and the first conversation ends in a factory config. The command underneath is there if you would rather skip ahead:
factory init --name acme --plans-repo acme/api --repo acme/api --repo acme/docs
That is a factory that approves by merged pull request. Adding --linear-team ENG --linear-approved-state Todo switches it to the Linear door, and
--linear-review-state and --linear-backlog-state point the other two queues
at states your team already has.
The repos you name become repo_scope, the only boundary in the system, so keep
it to the repos one factory is actually about. --dry-run renders the config
without writing it, and
factories/example.toml
documents every field.
One desk per factory instance, because a desk speaking for four factories is a
switchboard. factory-acme is acme’s reception. Attach with tmux attach -t factory-acme or ↵ on its row, and the conversation survives the process.