Release 0.7.0 · Three installation routes

Get to your first review without guessing where code runs.

ReviewSensei is free, open-source software. Inference, GitHub Actions minutes, and self-hosted runner capacity are yours to provision. Pick a route, understand the control matrix, and know what writes are enabled before you merge.

App installation alone does not run reviews. The GitHub App opens a setup pull request with the caller workflow, the uninstall workflow, and .reviewsensei.yml. You still choose a provider, runner, and which publication policies to enable.

Operational controls

Control matrix

Setup-v5 writes no repository variables. Every policy lives in .reviewsensei.yml on the default branch, and publication stays off until you enable it.

Capability .reviewsensei.yml setting Default When enabled Observation-only example
Analysis github.automatic_reviews true Runs provider inference on eligible same-repository pull requests (skips drafts). Set false and dispatch ReviewSensei review manually, or use CLI plan / doctor.
Comment publication github.writes false Publishes validated inline comments, the review summary, and the ReviewSensei check run. Run analysis with writes disabled: provider calls occur; GitHub receives no review body and no check run.
Review policy / automatic approval github.reviews auto-approve Publishes one exact-head COMMENT review; eligible clean heads may receive APPROVE. blocking publishes and enforces through the ReviewSensei check run without approving and emits no persistent request changes review as a second gate; advisory imposes no ReviewSensei merge gate. Set blocking for enforcement without automatic approval, or advisory for comment-only publication with a neutral check.
Learning github.learning disabled proposals enables learning proposal generation during review runs; pull-requests additionally enables learning PR publication, opening or refreshing a draft learning pull request on the default branch. Leave disabled; learnings remain ordinary repository files you manage manually.
Conversations github.mentions true Authorized @reviewsensei mentions receive bounded thread replies (requires github.writes: true). This setting controls only conversational replies: the maintainer commands @reviewsensei review status|pause|continue|reenroll, @reviewsensei verify, and @reviewsensei dismiss|defer|accept-risk run whenever github.writes: true and the comment body matches the caller workflow's @reviewsensei routing gate. Those caller checks route the run; the mutation is re-authorized inside the reusable workflow against the broker-attested actor and the session ledger before any write. Set false to skip conversational replies; mention events are ignored for reply publication. This setting does not disable commands: the maintainer surface @reviewsensei review status|pause|continue|reenroll, @reviewsensei verify, and @reviewsensei dismiss|defer|accept-risk stays available whenever github.writes: true — @reviewsensei review status is read-only but still routes through the command job against the broker-attested actor. See the installation guide for the full grammar.
Artifact retention github.artifacts none diagnostics uploads review.json as a GitHub Actions artifact. Leave none; validated results stay inside the job unless you add your own upload step.

Automatic approval applies only when automatic review and GitHub writes are enabled and all eligibility gates pass; the default policy is github.reviews: auto-approve.

Installation paths

Three ways to run your first review

Every path lists execution location, provider destination, credential names (never values), cost ownership, enabled writes, expected first-success output, and cleanup steps.

App-assisted GitHub reviews

Install the ReviewSensei GitHub App on selected repositories. The App opens a setup pull request; review execution stays in your GitHub Actions environment.

Execution location
Your repository's GitHub Actions runners — ubuntu-latest (cloud) or labelled self-hosted runner (self-hosted, linux, x64, ollama) for local mode.
Provider destination
http://127.0.0.1:11434/api (local, default), https://ollama.com/api (cloud, explicit opt-in), or https://openrouter.ai/api/v1 (inference.backend: openrouter).
Credential names
OLLAMA_API_KEY (cloud), OPENROUTER_API_KEY (OpenRouter), and the optional REVIEWSENSEI_PROVIDER / REVIEWSENSEI_MODEL overrides — no other variable reaches a run.
Compute / inference cost
You pay for Actions minutes (or self-hosted hardware) and your Ollama, Ollama Cloud, or OpenRouter usage.
Enabled writes (defaults)
The setup pull request writes .reviewsensei.yml with every packaged default, including github.writes: false, so nothing publishes until you enable it.
First-success output
One App-authored review with inline comments on an eligible PR after you set github.writes: true in .reviewsensei.yml (automatic reviews are on by default).

Setup steps

  1. Install the App on selected repositories.
  2. Merge the generated setup pull request; if a retired configuration is present, review the one-time import it carried into .reviewsensei.yml, then delete the retired file.
  3. Choose the backend in .reviewsensei.yml. Cloud mode requires OLLAMA_API_KEY; OpenRouter requires OPENROUTER_API_KEY.
  4. Enable controls deliberately — analysis first, then publication.
# Install the ReviewSensei GitHub App
https://github.com/apps/reviewsensei

# .reviewsensei.yml, merged with the setup pull request
schema: 1
inference:
  backend: cloud-ollama        # or local-ollama (default), openrouter
github:
  automatic_reviews: true      # analyze eligible pull requests
  writes: true                 # publish findings and the check run
  reviews: auto-approve        # or blocking / advisory
  mentions: true               # authorized @reviewsensei conversation

Cleanup / disable / uninstall

Run the generated Remove ReviewSensei setup workflow. Uninstall the App from GitHub settings to stop new setup deliveries, and delete .reviewsensei.yml if you no longer want ReviewSensei policy in the repository.

Further reading

Security, providers, and canonical docs