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. It writes that RFC into Linear for you and never approves it — it launches no workers, merges nothing, and never sets the one state that means build this.

It also handles onboarding — the first conversation ends in a factory config — but 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 \
  --linear-team ENG --linear-approved-state Todo \
  --linear-review-state "In Review" --linear-backlog-state Backlog

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.

esc