# Generic small-team Fairway configuration.
# Copy to .fairway/config.toml, adjust roles and routes, then run
# `fairway config validate` before importing work.

[fairway]
project_name = "example-project"
db_path = ".fairway/state.db"
main_branch = "main"

[dashboard]
listen = "127.0.0.1:7878"
auto_open = true

[worktrees]
root = "../worktrees"
naming = "{repo}-{role}"
review_branch_naming = "review/{role}"

[sessions]
default_backend = "shell"
stale_after = "12h"

[coordinator]
max_primary_tracks = 1
max_sidecar_tracks = 1
max_review_tracks = 1
checkpoint_stale_after = "24h"

[[roles]]
name = "backend"
branch = "agent/backend"

[[roles]]
name = "ui"
branch = "agent/ui"

[[roles]]
name = "ops"
branch = "agent/ops"

[[roles]]
name = "architecture"
branch = "agent/architecture"

[[roles]]
name = "governance"
branch = "agent/governance"

[[review_routes]]
match = "internal/**"
reviewer = "backend"

[[review_routes]]
match = "website/**"
reviewer = "ui"

[[review_routes]]
match = "docs/**"
reviewer = "governance"

[states]
allowed = ["todo", "in_progress", "blocked", "done"]
terminal = ["done"]

[gates]
require_evidence_before_done = false
require_review_before_done = false
require_handoff_before_merge_ready = false
require_blocked_reason = true
allow_force_without_reason = false

[task_kinds]
allowed = ["epic", "story", "task", "bug", "spike", "watch"]
default = "task"

[[workstream_profiles]]
name = "platform-foundation"
task_kinds = ["task", "bug"]
dashboard_groups = ["platform work"]
review_domains = ["architecture", "backend", "governance", "ops"]
route_samples = [
  "cmd/service/main.go",
  "internal/service/handler.go",
  "docs/architecture.md",
  "scripts/ci/validate.sh",
]
