Open-source AI code reviewer that runs LLM-based reviews on GitHub pull requests and local branch changes, with any model provider.
winnin/farol
A CLI and GitHub Action that runs after AI code review to score a pull request's merge risk and list the files and endpoints it reaches.
- Stars
- 174
- Forks
- 5
- Open issues
- 6
- Last commit
- 2 days ago
What is it?
farol is a free, open-source CLI and GitHub Action for the person who approves a pull request. After an AI review agent has commented on the diff, farol uses static analysis to show what the changed code reaches, such as pages, API operations, RPC methods, jobs and scripts, and gives the change a verdict (fast track, quick review or careful review) with a 0-100 risk score.
The report combines reach, diff coverage, security findings, contract breaks and dependency changes, and lists the riskiest files first with inline diffs, untested lines and a manual test checklist. It reads code with the TypeScript type checker, go/types and Python's ast, and never executes the analyzed code or sends it over the network. It runs locally or in CI and posts a comment on pull requests without blocking merges.
Supported stacks include React Router, Next.js and TanStack Router frontends, TypeScript GraphQL and REST backends, Go services and Python services such as FastAPI, Flask and Django. Optional Datadog integration adds traffic and error information.
Key features
- 01Ranks changed files by risk and shows the pages and endpoints each one reaches.
- 02Assigns a verdict and a 0-100 risk score with the reasons behind it.
- 03Flags breaking changes to GraphQL, FastAPI, Go and gRPC contracts.
- 04Marks untested lines in inline diffs and imports coverage, lint and audit reports from CI.
- 05Generates a single-file HTML report and a Markdown review record.
Use cases
- Deciding how much review time a large pull request needs before approving it.
- Catching breaking API changes and their downstream callers before merging.
- Adding a risk triage step to GitHub pull requests alongside an existing AI reviewer.
- Checking which frontend pages a shared component change affects.
Quick start
- 1
Create farol.config.json at the project root describing your stack
- 2
List the pages, endpoints, jobs and scripts farol found
npx @winninjs/farol routes - 3
Analyze the branch against its target branch
npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json - 4
Generate the HTML report and open it
npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
Things to know
- Requires Node.js 22+ and git, plus go for Go projects or python3 3.11+ for Python projects.
- Supports only TypeScript, Go and Python codebases.
In collections
Topics
FAQ
- What is farol?
- A CLI and GitHub Action that runs after AI code review to score a pull request's merge risk and list the files and endpoints it reaches. farol is a free, open-source CLI and GitHub Action for the person who approves a pull request. After an AI review agent has commented on the diff, farol uses static analysis to show what the changed code reaches, such as pages, API operations, RPC methods, jobs and scripts, and gives the change a verdict (fast track, quick review or careful review) with a 0-100 risk score.
- Is farol free to use? What license does it have?
- farol is open source under the MIT license. Check the license terms before using it in commercial products.
- Is farol still maintained?
- Actively maintained. The last commit to farol was on Nov 4, 2026.
- What can I use farol for?
- Deciding how much review time a large pull request needs before approving it. Catching breaking API changes and their downstream callers before merging. Adding a risk triage step to GitHub pull requests alongside an existing AI reviewer. Checking which frontend pages a shared component change affects.
- How do I install farol?
- Create farol.config.json at the project root describing your stack List the pages, endpoints, jobs and scripts farol found: npx @winninjs/farol routes Analyze the branch against its target branch: npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json Generate the HTML report and open it: npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
- Where can I get farol?
- The source code and installation instructions are on GitHub: https://github.com/winnin/farol
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open source AI code review for pull requests that you can self-host, using the LLM provider of your choice.
Open source AI code review that runs a separate reviewer over your agent's changes before you push, for Claude Code, Codex, Cursor and Cline.
Danger JS runs after your CI to automate code review conventions, such as enforcing changelogs or PR description rules, in pull requests.
A GitHub Action that reviews pull request diffs with an LLM and posts a small set of prioritized inline comments.
A git commit hook that runs an AI code review on every staged diff before the commit lands, with a browser UI for inline comments.