betterlgtm

skill
Security Audit
Fail
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 12 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in scripts/macos-signing-secrets.sh
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Review GitHub pull requests with Claude Code, from your desktop

README.md

BetterLGTM icon

BetterLGTM

Mean it when you say lgtm.
A desktop app for reviewing GitHub pull requests with Claude Code, Codex or Gemini CLI.

Website · Download · Build from source · Contribute

BetterLGTM showing a pull request analysis: a request-changes verdict, a short summary, and the findings and description claims that need attention

BetterLGTM lists the pull requests waiting for your review, checks each one out in its own git worktree, and has your coding agent (Claude Code, Codex or Gemini CLI) compare the description with the code. You get a verdict, a short summary, and the findings that need your attention, each linked to the lines it's about. A second pass double-checks each finding against the code, and then it walks you through the change section by section.

It runs on your machine with the gh and agent command-line tools you already have. There's no account and no server.

Features

  • Your choice of agent. Run reviews with Claude Code, Codex or Gemini CLI (experimental). Pick one during setup or in Settings › Agent; each runs read-only.
  • Guided setup. The first run checks gh, your agent and git, shows the command that fixes anything missing or signed out, and lets you choose what the inbox shows. Try a sample pull request shows a finished review without any of them.
  • Review inbox. Pull requests where your review is requested, directly or through a team, grouped by organization and refreshed on a timer. Switch to Mine for your own open pull requests. Each row shows CI, review state, size and a risk estimate, and Sort and filter sorts by risk, waiting time, size or last update, filters by CI, risk, review decision and analysis, and picks which organizations and repositories to show. Your choices are kept. A desktop notification and a count on the app icon tell you when a review is requested or requested again. Hide the organizations you don't care about.
  • A worktree per PR. Each pull request is checked out next to a shared clone, so the agent reads real files, not just the diff, and your own working copy is never touched.
  • Auto-analyze (optional). New review requests can be analyzed in the background, so results are waiting when you open them. A spending limit ($5 by default, Claude Code only) stops any that run long.
  • Description check. Each claim in the PR description is marked as matching, partly implemented, or contradicted by the code.
  • Findings. Bugs, risks and gaps, ranked by severity and linked to the exact diff lines. Resolve or dismiss them, and post fixes as suggestions the author can apply. Each finding is checked again in a fresh session: confirmed ones are marked Double-checked, and ones it disproves are set aside where you can still see them.
  • Risk and tests. The risk level and its reasons, the sensitive areas touched, and whether each change is tested.
  • Context. The issues the PR closes and the conversations already on it, so findings don't repeat what reviewers said, along with what your last review found and what you dismissed in the same repository.
  • Guided review. Related edits grouped into sections with a line on what each does, in one continuous scroll. Mark a change, a file or a whole section as reviewed and see your progress.
  • Since your last review. When new commits land after you reviewed, see just those changes and analyze only them.
  • Re-check findings. After the author pushes, the agent checks which findings are fixed and which are still open.
  • Diff view. File-by-file unified or split diff with syntax highlighting, hidden lines on demand, whitespace hiding, regex search across the diff and the repository, line comments, and generated files folded away until you open them.
  • Your own PRs. See what's blocking merge, self-review before asking for reviews, have the agent write the description, and reply to feedback.
  • Chat. Ask follow-up questions; the agent knows which finding, section or file you're looking at.
  • Submit review. Post your review to GitHub with the findings you pick as comments on their lines. Edit each comment, add a summary, and choose Comment, Approve or Request changes.
  • Desktop ergonomics. Menu bar, command palette, keyboard shortcuts, light and dark themes, and layouts that work in narrow windows.
Guided review: the change split into three sections, each with a short summary above the diff of its file

Install

Download the installer for your platform from Releases.

Platform File
macOS, Apple silicon BetterLGTM_0.5.0_aarch64.dmg
macOS, Intel BetterLGTM_0.5.0_x64.dmg
Windows BetterLGTM_0.5.0_x64-setup.exe or .msi
Linux .AppImage, .deb or .rpm

On macOS you can also install it with Homebrew:

brew install --cask drmas/tap/betterlgtm

The macOS app is signed with a Developer ID and notarized by Apple, so it opens like any other Mac app. Windows builds aren't signed yet: if SmartScreen warns about an unknown publisher, choose More info › Run anyway.

From version 0.2.1 the app updates itself: when a new release is out, choose Install update in the status bar.

Requirements

  • GitHub CLI, signed in: gh auth login
  • One coding agent, signed in:
  • git
  • Linux: WebKitGTK 4.1 (webkit2gtk-4.1)

The app checks these on first run and shows how to fix anything missing. If it can't find gh or your agent (common when it's started from a launcher instead of a terminal), set their full paths in Settings › Tools & storage or Settings › Agent.

Using it

  1. Open the app. On first run, follow the three setup steps, or try the sample pull request. The inbox on the left lists the PRs waiting for your review.
  2. Pick one and choose Start review. BetterLGTM prepares a worktree and runs your agent on it; results stream in as they're found, then each finding is double-checked.
  3. Read the Analysis tab: the verdict, "In short", and "Needs your attention".
  4. Switch to Diff for the guided review, and tick sections off as you go.
  5. Ask questions in the agent's panel at the bottom.
  6. Choose Submit review…. Findings you added with Add to review (or, if you added none, the critical and high ones) become line comments you can edit before posting.
Shortcut Action
Ctrl K Go to a pull request, finding, section, file or command
Ctrl 1 / Ctrl 2 Analysis / Diff
Ctrl L Ask the agent
Ctrl Shift Enter Submit review
Ctrl B / Ctrl J Show or hide the inbox / agent panel
F5 Refresh review requests
Ctrl , Settings
Ctrl / All shortcuts

On macOS, use Cmd in place of Ctrl.

Vim-style keys work whenever no text field has focus: h / l move between the inbox, the list and the content, j / k move inside a pane, gg / G jump to the top or bottom, n / N step through findings, x marks the current file or section reviewed, and S submits the review. Press ? for the full list, or turn them off in Settings › General.

Privacy and safety

  • Local only. GitHub is reached through your gh and the model through your own agent CLI. BetterLGTM has no backend and never sees your tokens.
  • Anonymous usage stats. Release builds send counts of app opens, analyses, submitted reviews and a few other actions to PostHog, with the app version, operating system and a random ID made on your computer. They never include code, findings, chat, PR descriptions, or repository, organization, PR or account names. Turn it off in Settings › General › Share anonymous usage stats. Builds from source send nothing. The full list of events is in src/telemetry.ts.
  • Read-only agents. Claude Code runs with only these tools allowed: Read, Grep, Glob, LS, and git log, git show, git diff, git blame, git merge-base and rg through Bash. Codex runs in its read-only sandbox, and may search the web. Gemini CLI runs in its read-only plan mode. None of them can edit files or post anything to GitHub. Reviews are posted by the app, through your gh, only when you press the submit button.
  • Costs. Analyses use your agent's plan or API usage. The status bar shows the tokens used per PR.

Where things are stored

What Where
Clones ~/.betterlgtm/clones/<owner>/<repo> (blobless)
Worktrees ~/.betterlgtm/worktrees/<owner>/<repo>/pr-<n>
Analyses and chat history sessions/ in the app's data folder, one file per PR
Settings and the anonymous install ID The app's local storage

You can change the data folder in Settings and clear everything from there.

Build from source

You need Rust (stable), Node.js 22+, and the Tauri prerequisites for your platform.

git clone https://github.com/drmas/betterlgtm.git
cd betterlgtm
npm install
npm run tauri dev

npm run dev on its own opens the UI in a browser with sample data instead of gh and an agent, which is handy for UI work. npm run tauri build makes installers for your platform.

See CONTRIBUTING.md for the project layout and how releases are made, and docs/ARCHITECTURE.md for how the pieces fit together.

Contributing

Bug reports, ideas and pull requests are welcome. Start with CONTRIBUTING.md, and see the roadmap for what is planned. Please report security problems privately as described in SECURITY.md.

License

MIT. BetterLGTM is not affiliated with GitHub, Anthropic, OpenAI or Google.

Reviews (0)

No results found