AxeForge/reviewforge
Simulated review thread — not a real PR
#42 Add retry logic helpers/http.go
 resp, err := client.Get(url)
-return resp, err
+if err == nil && resp != nil {
+    defer resp.Body.Close()
+}
+return resp, err
  • Bob Lil Swagger bob

    Solid retry logic — nice work. Just add defer resp.Body.Close() so we're not leaking connections on the error path. Small fix, you've got this.

  • Robert Dover Clow robert

    Retrying a non-idempotent POST without an idempotency key breaks your retry wrapper's single responsibility. A builder would also tame this client config.

  • Maya Simplifica maya

    Think of the response body like a garden hose left running — close it with defer right after you're done, or it just keeps flowing after you've walked away.

AI code reviewer with personality

Review comments that land on the exact line that earned them.

ReviewForge reviews GitHub pull requests with OpenAI, Anthropic, or Gemini, posting line-level comments tagged critical, warning, or suggestion, then closes with a verdict and a confidence score. Run it as a GitHub Action on every PR, or from your terminal with the standalone CLI. Add a persona — Bob, Robert, Maya, Eli, or your own — for reviews with real personality, in any language you choose.

How it reviews

Built for signal, not noise

Default review rules keep the AI focused on what actually matters in a PR — not variable names.

Multi-provider AI

OpenAI, Anthropic, or Gemini — pick the provider, model, and temperature per repo, or per call.

Line-level severity

Comments post directly on the diff line, tagged critical, warning, or suggestion — not buried in one long summary.

Review rules presets

concise (default) flags only bugs, security, performance, and breaking changes. Switch to thorough, or none to hand the AI full judgment.

Verdicts with confidence

Every review closes with approve, request changes, or comment — plus a confidence score, so you know how much to trust it.

Reviewer personas

Same review, different bedside manner

Built-in personas change the tone, not what gets flagged. Bring your own with --custom-persona.

PersonaNameStyle
bobBob Lil SwaggerFriendly, encouraging. Celebrates good code, suggests improvements warmly, teaches while reviewing.
robertRobert Dover ClowNerdy tech expert. Names every pattern spotted, references CS concepts and SOLID principles.
mayaMaya SimplificaEveryday analogies teacher. Explains concepts using cooking, building, gardening and other real-world parallels.
eliEli PassoClear and patient mentor. Simple explanations, avoids jargon, celebrates good decisions, suggests learning paths.
(empty)DefaultStandard expert code reviewer. Professional, thorough, no personality overlay.
Pipeline

What happens when a PR opens

01

Collect the diff

Pulls the PR diff via the GitHub API. Incremental mode reviews only the changes made since the last bot review, so long-lived PRs don't get re-reviewed from scratch.

02

Assemble context

Attaches project context files — README.md and package.json by default, or any files you set — plus your review rules preset, so the model reviews with real project knowledge.

03

Review with your provider

Sends it to OpenAI, Anthropic, or Gemini at your chosen model and temperature, optionally filtered through a persona and target language.

04

Post comments & verdict

Line comments land with severity, and a verdict posts with a confidence score. Add --save-report for a JSON learning report.

Use cases

Why teams reach for ReviewForge

Fast PR triage

Default concise rules skip naming and style nits, surfacing only bugs, security issues, and breaking changes on every PR.

reviewforge review --provider openai --model gpt-4 --pr 42 --dry-run

One workflow, every repo

A shared reusable workflow lets every repo in the org call the same ReviewForge job with its own provider, persona, and language.

uses: your-org/.github/.github/workflows/reviewforge.yml@main

Reviews your team can read

Set --language to write comments in Brazilian Portuguese, Spanish, Japanese, or any of 14 supported locales.

reviewforge review --language pt-br --persona eli

Evidence for 1:1s

--save-report writes a JSON file of techniques spotted, what went well, and areas to improve — per PR, not just review noise.

reviewforge review --save-report review-report.json
Install

Two ways to run it

Install the CLI

go install github.com/AxeForging/reviewforge@latest

Or drop it into a workflow.github/workflows/code-review.yml

- uses: AxeForging/reviewforge@main
  with:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    AI_PROVIDER: openai
    AI_MODEL: gpt-4
    AI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

Try a dry runreviewforge review --provider openai --model gpt-4 --api-key $OPENAI_API_KEY --github-token $GITHUB_TOKEN --repo owner/repo --pr 42 --dry-run

Full instructions on GitHub