.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):

  1. api_key: value set directly in code (not supported via .revue.yml; internal use only).
  2. api_key_env: name of the environment variable to read. Use this when your CI secret has a non-standard name.
  3. Provider default env var: Revue looks up the standard env var for your provider automatically if api_key_env is 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):

  1. Built-in defaults
  2. .revue.yml values
  3. 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