Reference
Configuration reference
Every repository, timing, model, gate, and operational-policy setting.
Complete example
patchflow.config.json
{
"repos": [{
"url": "https://github.com/acme/checkout",
"startingRef": "main",
"packages": ["stripe"],
"setupCommand": "auto",
"testCommand": "npm test",
"testGate": "checks",
"requiredChecks": ["lint", "test"]
}],
"pollIntervalMinutes": 60,
"model": "composer-2.5",
"checkTimeoutMinutes": 15,
"checkPollIntervalSeconds": 20,
"policies": {
"allowedUpdateTypes": ["patch", "minor", "major"],
"packageAllowlist": [],
"packageDenylist": [],
"maxConcurrentMigrations": 1,
"maxRunsPerCycle": 10,
"cooldownMinutes": 30,
"draftPullRequests": true,
"maxRetries": 1
}
}Repository fields
| Field | Default | Notes |
|---|---|---|
| startingRef | main | Agent base branch |
| setupCommand | auto | auto, none, or a shell command |
| testCommand | npm test | Runs only after setup succeeds |
| testGate | auto | auto, checks, or local |
| requiredChecks | [] | Exact GitHub Check names |
Policy limits
| Field | Range/default |
|---|---|
| maxConcurrentMigrations | 1–10; default 1 |
| maxRunsPerCycle | 1–100; default 10 |
| cooldownMinutes | 0 or greater; default 0 |
| maxRetries | 0–3; default 1 |
| draftPullRequests | default true |