.revue.yml Configuration Reference
Complete reference for all keys in the .revue.yml configuration file.
Place .revue.yml in the root of your repository. If the file is absent, Revue falls back to environment variables only.
Top-level keys
| Key | Type | Required | Description |
|---|---|---|---|
version |
string | Yes | Config schema version. Must be "1". |
language |
string | No | Repository's primary coding language (e.g. python, swift, go). Used to prime reviewer agents; they treat this as their default expertise lens but still review every file in the diff. When omitted, Revue infers the language from the diff. |
ai |
object | No | AI provider settings. |
review |
object | No | Review behaviour settings. |
noise_filters |
object | No | Noise filter settings. |
agents |
object | No | Agent team and custom agent settings. |
output |
object | No | Output format settings. |
version
version: "1"
The schema version. This field is required. Only "1" is currently supported. Revue will refuse to run if this field is missing or set to an unsupported value.
ai
Controls which AI provider and model Revue uses.
| Key | Type | Default | Description |
|---|---|---|---|
provider |
string | openrouter |
AI provider. One of: openrouter, anthropic, openai, azure, custom. |
model |
string | deepseek/deepseek-v4-pro |
Model identifier passed to the provider API. |
api_key_env |
string | none | Name of the environment variable that holds your API key (BYOK). Example: OPENROUTER_API_KEY. |
base_url |
string | none | Override the provider's base URL. Useful for corporate AI gateways. |
temperature |
float | 0.3 |
Sampling temperature (0.0–2.0). Lower = more deterministic output. |
max_tokens |
int | 50000 |
Maximum tokens the AI may generate per call. |
azure |
object | none | Azure-specific settings (required when provider: azure). |
ai.azure
Required only when provider: azure.
| Key | Type | Default | Description |
|---|---|---|---|
endpoint |
string | none | Azure OpenAI endpoint URL. Example: https://myorg.openai.azure.com. |
deployment |
string | none | Azure deployment name. |
api_version |
string | 2024-02-01 |
Azure API version string. |
Examples
# OpenRouter / DeepSeek (default, cheapest reliable reviewer pair)
ai:
provider: openrouter
model: deepseek/deepseek-v4-pro
api_key_env: OPENROUTER_API_KEY
# Anthropic (opt-in, highest signal, highest cost)
ai:
provider: anthropic
model: claude-sonnet-4-5
api_key_env: ANTHROPIC_API_KEY
# OpenAI
ai:
provider: openai
model: gpt-4o
api_key_env: OPENAI_API_KEY
# Azure OpenAI
ai:
provider: azure
model: gpt-4o
api_key_env: AZURE_OPENAI_KEY
azure:
endpoint: https://myorg.openai.azure.com
deployment: my-gpt4o-deployment
api_version: "2024-02-01"
# Custom / corporate AI gateway
ai:
provider: custom
model: claude-sonnet-4-5
api_key_env: GATEWAY_API_KEY
base_url: https://ai-gateway.mycompany.internal/v1
review
Controls how Revue processes the diff and filters files.
| Key | Type | Default | Description |
|---|---|---|---|
max_diff_lines |
int | 2000 |
Hard line limit for the entire diff. If exceeded, Revue stops and suggests breaking the PR into smaller pieces. Range: 1–10000. |
min_confidence |
int | 70 |
Suppress findings with AI confidence below this percentage (0–100). |
agent_timeout_seconds |
int | 90 |
Per-agent wall-clock timeout in seconds (1–600). Raise to 120 on slow or VPN-constrained networks. |
ignore_patterns |
list[string] | [] |
Glob patterns for files to skip during review. Applied to file_path. |
retry_on_schema_fail |
bool | false |
When true, retries a failed agent once (after a 5-second pause) if the provider returns an empty or malformed response (invalid_response_schema). Useful with OpenRouter under load. Not enabled by default and not included in the shipped default .revue.yml; does not affect rate-limit retries. |
Ignore pattern examples
review:
max_diff_lines: 3000
min_confidence: 65
agent_timeout_seconds: 90
ignore_patterns:
- "*.md"
- "*.lock"
- "*.min.js"
- "*.min.css"
- "package-lock.json"
- "yarn.lock"
- "node_modules/*"
- "vendor/*"
- "third_party/*"
- "**/__snapshots__/**"
- "test_*"
- "*_test.*"
noise_filters
Controls the post-consolidation noise suppression layer that removes false positives.
| Key | Type | Default | Description |
|---|---|---|---|
disable |
list[string] | [] |
Names of noise filters to disable. See filter names below. |
low_confidence_threshold |
float | 0.5 |
Suppress findings whose normalised confidence score is below this value (0.0–1.0). |
Available filter names
| Filter name | What it suppresses |
|---|---|
swift-di |
Swift dependency injection boilerplate false positives |
linter-suppression |
Findings on lines with explicit linter suppression comments |
low-confidence |
Findings below the low_confidence_threshold |
duplicate |
Duplicate findings across agents |
noise_filters:
disable:
- "swift-di" # disable Swift DI filter (e.g. you want to see those findings)
low_confidence_threshold: 0.6
agents
Controls which review team runs and where custom agents are loaded from.
| Key | Type | Default | Description |
|---|---|---|---|
team |
string | team-full-review |
Name of the agent team to run. See built-in teams below. |
custom_agents_dir |
string | "" |
Path to a directory of custom agent .md / .yaml definition files. Relative to the repository root. |
Built-in teams
| Team name | Description |
|---|---|
team-full-review |
All six specialists: security, performance, code quality, architecture, synthesis, verification |
team-quick |
Code quality, synthesis, verification: fast, low cost |
team-security-focus |
Security, synthesis, verification |
team-swift-ios |
Security, code quality, synthesis, verification + iOS-specific rules |
team-kotlin-android |
Security, performance, code quality, synthesis, verification + Android-specific rules |
team-python |
Security, performance, code quality, synthesis, verification |
team-typescript |
Security, performance, code quality, synthesis, verification |
agents:
team: team-security-focus
custom_agents_dir: ".revue/agents"
Custom agents
Place agent definition files in the directory specified by custom_agents_dir. Each file must be a Markdown (.md) or YAML (.yaml) agent definition following the Revue agent schema.
output
Controls how Revue formats and writes its review output.
| Key | Type | Default | Description |
|---|---|---|---|
format |
string | markdown |
Output format. One of: markdown, json, text. |
file |
string | "" |
Write output to this file path instead of stdout. Relative to the repository root. |
output:
format: json
file: revue-output.json
Complete example
# .revue.yml: Revue configuration
version: "1"
ai:
provider: openrouter
model: deepseek/deepseek-v4-pro
api_key_env: OPENROUTER_API_KEY
temperature: 0.3
max_tokens: 50000
review:
max_diff_lines: 2000
min_confidence: 70
agent_timeout_seconds: 90
ignore_patterns:
- "*.md"
- "*.lock"
- "package-lock.json"
- "*.min.js"
- "node_modules/*"
- "vendor/*"
noise_filters:
disable: []
low_confidence_threshold: 0.5
agents:
team: team-full-review
custom_agents_dir: ""
output:
format: markdown
file: ""
API key resolution
Revue resolves the API key at startup using the following priority order (first match wins):
api_key: value set directly in code (not supported via.revue.yml; internal use only).api_key_env: name of the environment variable to read. Use this when your CI secret has a non-standard name.- Provider default env var: Revue looks up the standard env var for your
providerautomatically ifapi_key_envis omitted.
Provider default env vars
| Provider | Default env var |
|---|---|
anthropic |
ANTHROPIC_API_KEY |
openai |
OPENAI_API_KEY |
azure |
AZURE_OPENAI_API_KEY |
openrouter |
OPENROUTER_API_KEY |
custom |
REVUE_API_KEY |
api_key_env is optional for standard setups. If you name your CI secret after the provider default (e.g. ANTHROPIC_API_KEY or OPENAI_API_KEY), you can omit api_key_env entirely and Revue will find the key automatically.
# api_key_env omitted, Revue auto-resolves OPENAI_API_KEY from the environment
ai:
provider: openai
model: gpt-4o-mini
Use api_key_env only when your CI secret name differs from the provider default:
# Custom CI secret name
ai:
provider: openai
model: gpt-4o-mini
api_key_env: MY_CORP_AI_KEY # reads $MY_CORP_AI_KEY instead of $OPENAI_API_KEY
Environment variable precedence
Revue merges configuration in this order (later sources win):
- Built-in defaults
.revue.ymlvalues- Environment variables
These environment variables always override .revue.yml:
| Environment variable | Overrides |
|---|---|
REVUE_LICENSE_KEY |
License key |
REVUE_PROVIDER |
ai.provider |
REVUE_MODEL |
ai.model |
REVUE_API_KEY_ENV |
ai.api_key_env |
REVUE_BASE_URL |
ai.base_url |