Configuration Reference All Tiers
Complete reference for .paircoder/config.yaml
Quick Templates
Minimal (Solo Developer)
yaml
version: "2.8"
project:
name: "my-project"
workflow:
main_branch: "main"
metrics:
enabled: true
hooks:
enabled: false
Full Autonomy (BPS Preset)
yaml
version: "2.8"
project:
name: "my-project"
description: "Full autonomous workflow"
coverage_target: 80
workflow:
main_branch: "main"
models:
navigator: claude-opus-4-5
driver: claude-sonnet-4-5
reviewer: claude-sonnet-4-5
routing:
by_complexity:
trivial: { max_score: 20, model: claude-haiku-4-5 }
simple: { max_score: 40, model: claude-haiku-4-5 }
moderate: { max_score: 60, model: claude-sonnet-4-5 }
complex: { max_score: 80, model: claude-opus-4-5 }
epic: { max_score: 100, model: claude-opus-4-5 }
hooks:
enabled: true
on_task_start: [check_token_budget, start_timer, sync_trello, update_state]
on_task_complete: [stop_timer, record_metrics, sync_trello, update_state]
trello:
board_id: "your-board-id"
enforcement:
strict_ac_verification: true
require_budget_check: true
containment:
enabled: true
mode: strict
Schema Reference
Project Section
yaml
project:
name: "my-project" # Required: Project name
description: "Description" # Optional: Brief description
primary_goal: "Main goal" # Optional: Primary objective
coverage_target: 80 # Optional: Test coverage target %
Routing Section
yaml
routing:
by_complexity:
trivial: { max_score: 20, model: claude-haiku-4-5 }
simple: { max_score: 40, model: claude-haiku-4-5 }
moderate: { max_score: 60, model: claude-sonnet-4-5 }
complex: { max_score: 80, model: claude-opus-4-5 }
epic: { max_score: 100, model: claude-opus-4-5 }
overrides:
security: claude-opus-4-5
architecture: claude-opus-4-5
Hooks Section
yaml
hooks:
enabled: true
on_task_start:
- check_token_budget
- start_timer
- sync_trello
- update_state
on_task_complete:
- stop_timer
- record_metrics
- sync_trello
- update_state
- check_unblocked
Available Hooks
| Hook | Description |
|---|---|
check_token_budget | Warn if task exceeds budget threshold |
start_timer | Start time tracking for task |
stop_timer | Stop timer, calculate duration |
record_metrics | Record token usage |
sync_trello | Update Trello card status |
update_state | Refresh state.md |
check_unblocked | Find tasks unblocked by completion |
Enforcement Section
yaml
enforcement:
state_machine: false # Formal state transitions
strict_ac_verification: true # Require AC checked before done
require_budget_check: true # Check budget before starting
block_no_hooks: true # Block --no-hooks in strict mode
Containment Section
yaml
containment:
enabled: true
mode: strict # strict | permissive
auto_checkpoint: true
blocked_files:
- .env
- credentials.json
readonly_directories:
- .claude/agents
- .claude/skills
readonly_files:
- CLAUDE.md
- .paircoder/config.yaml
allow_network:
- api.anthropic.com
- api.trello.com
- github.com
Architecture Section
yaml
architecture:
thresholds:
file_lines_error: 400
file_lines_warning: 200
function_lines: 50
functions_per_file: 15
imports_per_file: 20
Validation
bash
# Validate config file
bpsai-pair validate
# Show current config
bpsai-pair config show