Config Schema
Complete TOML configuration schema reference for Kavi
Project Config (.kavi/config.toml)
# Required. Config format version.
version = 1
# The branch Kavi uses as the base for worktrees and landing.
# Default: "main"
base_branch = "main"
# Optional shell command run during `kavi land` for validation.
# Runs in the integration worktree after merge.
# Default: none
validation_command = "npm test"
# Maximum number of peer messages agents include in context.
# Default: 6
message_limit = 6
[routing]
# Keywords that bias routing toward Claude.
frontend_keywords = ["frontend", "ui", "ux", "react", "css", "component"]
# Keywords that bias routing toward Codex.
backend_keywords = ["backend", "api", "server", "db", "auth", "schema"]
# Glob patterns for paths owned by Codex.
codex_paths = ["src/api/**", "src/db/**", "src/lib/**"]
# Glob patterns for paths owned by Claude.
claude_paths = ["src/components/**", "src/pages/**"]
[agents.codex]
# Agent role label used in routing metadata.
role = "planning-backend"
# Model override (empty = default).
model = ""
[agents.claude]
# Agent role label used in routing metadata.
role = "frontend-intent"
# Model override (empty = default).
model = ""User Config (~/.config/kavi/config.toml)
# Required. Config format version.
version = 1
[runtime]
# Path to Node.js binary. Empty = system default.
node_bin = ""
# Path to Codex CLI binary. Empty = system default.
codex_bin = "codex"
# Path to Claude CLI binary. Empty = system default.
claude_bin = "claude"Notes
- All glob patterns are relative to the repository root
- The
versionfield is required in both config files validation_commandis optional — omit it until your project has tests or a build command- Keywords are case-insensitive during matching
- Path ownership uses strongest-match specificity, not count-based matching