Config

Workspace-local configuration via .craig/config.json.

All config is optional — Craig works fine without it. Drop a .craig/config.json in your workspace root to control runners, check commands, and GitHub polling.

{
  "runners": {
    "codex":  { "enabled": true },
    "cursor": { "enabled": true },
    "claude": { "enabled": false }
  },
  "checks": {
    "commands": ["pnpm test", "pnpm typecheck", "pnpm lint"]
  },
  "github": {
    "mergeMethod": "squash",
    "watchIntervalSeconds": 5
  }
}

runners

Controls which runners show up in this workspace. Set enabled: false to hide one, or set a custom path if the binary isn't where Craig expects. See Runners for details.

checks.commands

Run by craig task check <id>. Usually your test, typecheck, and lint commands. Results are stored on the task record.

github.mergeMethod

How Craig merges PRs. Accepts squash, merge, or rebase. Defaults to squash.

github.watchIntervalSeconds

How often the TUI polls GitHub for PR and check updates. Default is 5 seconds.