.ai-review.yml

Last updated: August 2026

.ai-review.yml is an optional file committed to the root of your repository that tells Pullora how to review it. Because it lives in git, your review policy is version-controlled, code-reviewed like any other change, and identical for everyone on the team — no dashboard clicking required. Pullora detects it automatically on every review.

Full example

version: 1

reviewMode: standard

# Only post inline comments Pullora is quite sure about
minInlineConfidence: 0.85
minSummaryConfidence: 0.65

# Skip style nitpicks entirely for this repo
categories:
  - BUG
  - SECURITY
  - PERFORMANCE
  - TESTING

# Never review these paths
ignore:
  - "generated/**"
  - "**/*.snap"
  - "migrations/**"

# Your team's rules, in plain English
rules:
  - React components must not call HTTP APIs directly; use the service layer.
  - Avoid TypeScript `any` unless a justifying comment explains why.
  - Every hook that registers a subscription or timer must clean it up.
  - Public API route handlers must validate input with Zod before use.

reviewDraftPRs: false

# Only auto-review PRs into these branches
baseBranches:
  - main
  - release/**

Every key

KeyTypeDefaultDescription
versionnumberOptional schema version marker (use 1).
reviewModequick | standard | deepstandardDefault review depth for this repository.
minInlineConfidencenumber 0–10.8Findings below this confidence are never posted as inline comments.
minSummaryConfidencenumber 0–10.65Findings below this are dropped entirely.
categorieslistallFinding categories to report: BUG, SECURITY, PERFORMANCE, MAINTAINABILITY, STYLE, TESTING, DOCUMENTATION, DEPENDENCY.
ignoreglob listlocks, dist, *.min.jsPaths Pullora skips, added on top of system defaults.
rulesstring listPlain-English project rules the reviewer must enforce.
reviewDraftPRsbooleanfalseAlso review draft PRs.
baseBranchesglob listallOnly auto-review PRs targeting these branches.

The schema is strict: unknown keys are rejected, so a typo never silently does nothing. An invalid file does not fail your review — Pullora reviews with the remaining settings and reports the config error so you can fix it.

Writing good rules

  • Be specific and checkable. “DB access only through src/db/repository.ts” beats “write clean code”.
  • Describe your conventions, not generic best practice — Pullora already checks bugs, security issues, leaks and regressions by default.
  • One rule per list item. Short, single-purpose rules are enforced far more reliably than essays.

Precedence & security guardrails

When settings conflict, later layers win:

system defaults → organization rules → .ai-review.yml → dashboard settings → one-time instruction
  • A one-time instruction (typed when submitting a review) can only change the review mode and add guidance — it can never disable security checks, raise confidence thresholds, or ignore files.
  • The SECURITY category can only be disabled at the organization level; if .ai-review.yml omits it, it is re-added automatically.
  • ignore patterns are additive — lockfiles, dist/ and minified files are always skipped.