Quickstart

Six steps from nothing to Factory opening its first pull request.

Follow these in order. Steps 1–4 touch nothing; the first real dispatch is step 6.

1. Install

npm install -g @agent-relay/factory

Factory talks to a relay broker through the agent-relay sidecar. Install and sign in to that separately — it's a peer, not a dependency.

2. Connect GitHub to your relay workspace

Give it push access to the repos you want worked on. Factory publishes branches and opens PRs through that workspace connection — a local gh login is not required.

3. Write a config

factory.config.json. A repo route is the only thing you truly need:

{
  "repos": {
    "byLabel": { "pear": "AgentWorkforce/pear" },
    "clonePaths": { "AgentWorkforce/pear": "/path/to/your/pear/checkout" },
    "default": "AgentWorkforce/pear"
  }
}

byLabel maps an issue label to a repo. clonePaths tells the agent where that repo lives locally, so it has somewhere to make changes. Add workspaceId only to pin a workspace other than your active one.

For a GitHub-only setup, add "issueSource": "github" — or leave it out and Factory picks GitHub automatically when /linear/issues isn't connected.

Don't hand-write this. npx prpm install @agent-relay/factory-config and let your coding agent author it — see Configuration.

4. Mark an issue for Factory

Nothing is picked up until it passes the safety scope. By default that means the title starts with the configured prefix, it carries the factory label, and it belongs to the configured team.

5. Dry run

Discovers and triages, writes nothing, spawns nothing:

factory run-once --config ./factory.config.json --dry-run

Pulled some issues but dispatched none? That's the safety gate working. The issues are real but outside your scope.

6. Let it work

# one discovery → dispatch cycle, then exit
factory run-once

# or run continuously — the production form
factory start

Next