Full reference for .saguaro/config.yaml and environment setup.
Saguaro reads its configuration from .saguaro/config.yaml in your project root. Run sag init to generate a starter config, or create one by hand.
1# AI model for reviews2model:3 provider: anthropic # anthropic | openai | google4 name: sonnet # CLI alias (e.g. "sonnet", "opus") or model ID5
6# Output settings7output:8 cursor_deeplink: true # Print Cursor IDE links for violations9
10# Review tuning11review:12 max_steps: 10 # Max tool-calling steps per review batch13 files_per_batch: 2 # Files reviewed together per batch14
15# Hook settings16hook:17 enabled: true # Master switch for all Saguaro hooks18 stop:19 enabled: true # Rules review after each code change20
21# Background daemon (classic reviews)22# daemon:23# enabled: true2.1Anthropic (default) — set ANTHROPIC_API_KEY. Models: claude-opus-4-6, claude-sonnet-4-5-20250514, etc.
2.2OpenAI — set OPENAI_API_KEY. Models: gpt-4o, gpt-4o-mini, o3, etc.
2.3Google — set GOOGLE_API_KEY. Models: gemini-2.5-pro, gemini-2.5-flash, etc.
API keys are loaded in order: environment variables, then .env.local, then .env.
sag init can store your key in .env.local during setup.
Recommend adding .env.local to your .gitignore to avoid committing secrets.
1# Option 1: Environment variable2export ANTHROPIC_API_KEY=sk-ant-...3
4# Option 2: .env.local file (created by sag init)5ANTHROPIC_API_KEY=sk-ant-...max_steps (default: 10) — max AI tool-calling steps per review batch. Higher values produce more thorough reviews but are slower and costlier.
files_per_batch (default: 2) — files grouped per review batch. Lower values produce more focused reviews.
enabled (default: true) — enable import graph indexing for richer cross-file context during reviews.
blast_radius_depth (default: 1) — BFS depth for dependency traversal. Higher values pull in more transitive dependents.
context_token_budget (default: 4000) — max tokens of surrounding context included per review.
Run sag index to build the import graph initially. Saguaro uses it automatically during subsequent reviews.
The background daemon runs classic (senior-engineer-style) reviews asynchronously. Findings are advisory and surfaced on the next agent turn — independent of the rules review system. Configure it under the daemon key.
enabled (default: false) — enable the background daemon.
workers (default: 1) — number of concurrent review workers (max 2).
idle_timeout (default: 1800) — seconds before auto-shutdown when idle.
1daemon:2 enabled: trueAdd a git hook to automatically run reviews before pushing. This ensures all changes are reviewed before they reach the remote.
1#!/bin/bash2sag review --base origin/main