Skip to content

ignacio-gradial/lareview

 
 

LaReview logo

La Review

Turn a diff into a review checklist.

Build Release License Rust

LaReview hero screenshot


LaReview turns a PR or unified diff into a task tree so you can review changes in a deliberate order instead of scrolling. It’s local-first: state in SQLite, PR fetch via gh, and plan generation via an ACP agent you run.

Demo

demo.mp4

Key Features

LaReview is designed for a local-first, secure, and focused review experience.

Screenshot Feature
Plan Generation View AI-Powered Plan Generation
Input a GitHub PR reference (e.g., owner/repo#123) or paste a raw diff. LaReview uses your local ACP agent to analyze the changes and generate a structured review plan based on the author's intent.
Structured Review Tree Structured Task Tree & Notes
Navigate the review as a hierarchical tree. Mark tasks as To Do, In Progress, or Done. Attach contextual notes to specific tasks or lines of code to keep track of your thoughts.
Task-focused Diff Task-Focused Diffs
Stop context switching. When you select a task, the diff viewer only shows the specific hunks relevant to completing that task, isolating the noise.
Feedback Items Agent-Generated Feedback
The AI agent doesn't just plan; it actively identifies issues. It can autonomously create feedback items (nitpicks, blocking issues, or suggestions) anchored to specific lines of code, helping you catch bugs before they merge.
Linked Repositories Local Repository Context
Link your local Git repositories to LaReview. This gives the AI agent full access to search your codebase and list files, providing maximum context for more accurate and insightful reviews.
Diagram Viewer Visual Diagram View
Visualize the structure and flow of changes with automatically generated diagrams, helping you understand complex refactors faster. (Requires D2).
Settings View Agent Settings
Configure per-agent executables, environment variables, and custom ACP agents.
GitHub Sync GitHub Sync
Submit your review feedback directly to GitHub PRs with automatic summary generation.
Export & Share Export & Share
Export your review summary to Markdown with diagrams and code insights. Copy to clipboard or save to file.
CLI Support CLI Support
Launch reviews from the terminal: lareview, lareview pr owner/repo#123, git diff | lareview, or lareview --agent claude.

How it works

  1. Input
    • Run lareview from terminal (opens GUI with current repo linked), or
    • Paste a unified diff, or
    • Paste a GitHub PR reference: owner/repo#123 or a PR URL
  2. Fetch (for PRs)
    • LaReview uses the GitHub CLI (gh) locally
  3. Generate a review plan
    • The review plan is generated by an AI agent you run via ACP (Agent Client Protocol)
  4. Review
    • Work task-by-task, add notes, track status, and optionally clean completed tasks

Terminal Workflow

LaReview includes a CLI that integrates naturally into your developer workflow:

# Open GUI with current repository linked
lareview

# Review changes between branches
lareview main feature

# Pipe a diff directly to the GUI
git diff HEAD | lareview

# Review a GitHub PR
lareview pr owner/repo#123

# Specify an agent
lareview --agent claude

The CLI launches the GUI in the background and passes your diff/repo info seamlessly.

Supported Agents


Claude

Codex

Gemini

Grok

Kimi

Mistral

OpenCode

Qwen

Requirements

  • Rust nightly (see rust-toolchain.toml)
  • GitHub CLI if you want to load PRs:
    • Install: brew install gh (or your OS package manager)
    • Auth: gh auth login
  • D2 (optional): For visual diagram rendering. Install: brew install d2 (or see d2lang.com)
  • ACP agent configured on your machine

Note

LaReview does not require a custom LaReview server. Your PR data is fetched locally via gh, and plan generation runs via your chosen ACP agent.

Installation

Option A: Download a release

  1. Go to the Releases page and download the latest binary for your operating system.
  2. Follow the instructions for your OS below.

macOS

  1. Download the lareview-macos-*.zip asset and unzip it. You should see LaReview.app.
  2. Drag LaReview.app into /Applications.
  3. If macOS blocks it on first run, open System Settings → Privacy & Security and allow it.
  4. To use from terminal, add to PATH (or use the CLI Installation button in Settings):
    echo 'export PATH="$PATH:/Applications/LaReview.app/Contents/MacOS"' >> ~/.zshrc

Linux

  1. Download the lareview-linux.tar.gz file and extract it.
    tar -xzvf lareview-linux.tar.gz
  2. Make the binary executable and move it to your path.
    chmod +x ./lareview
    mv ./lareview /usr/local/bin/lareview

Windows

  1. Download the lareview-windows.zip file and unzip it.
  2. Place the lareview.exe file in a directory that is included in your system's PATH environment variable.

Option B: One-click CLI installation

Launch LaReview and go to Settings → CLI Installation for a one-click setup to add lareview to your PATH.

Option C: Run from source

cargo run

Option C: Build a local macOS .app (dev)

scripts/build_macos_app.sh

Linux dependencies

# Debian/Ubuntu
sudo apt-get update
sudo apt-get install -y libxkbcommon-dev libxkbcommon-x11-dev

Quickstart

  1. Start the app:

    lareview  # From terminal with repo linked
    # OR
    cargo run  # From source
  2. Open GENERATE

    • Paste a unified diff, or a GitHub PR like owner/repo#123 (or a PR URL)
    • Or use the terminal: lareview pr owner/repo#123
  3. Pick an agent and click generate

  4. Switch to REVIEW

    • Work through tasks, add notes, and track status

Tip

If PR loading fails, run gh auth status and then gh auth login.

Usage examples

Review a GitHub PR

Input:

  • owner/repo#123
  • or https://github.com/owner/repo/pull/123

Review a unified diff

Paste a unified diff directly:

diff --git a/src/lib.rs b/src/lib.rs
index 123..456 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,3 +1,8 @@
+pub fn example() {
+  // ...
+}

Data, paths, and privacy

LaReview stores review state locally.

  • macOS DB: ~/Library/Application Support/LaReview/db.sqlite

  • Windows DB: %APPDATA%\LaReview\db.sqlite or %LOCALAPPDATA%\puemos\LaReview\db.sqlite

  • Linux DB: $XDG_DATA_HOME/lareview/db.sqlite or ~/.local/share/lareview/db.sqlite

  • Override DB path:

    LAREVIEW_DB_PATH=/path/to/db.sqlite <RUN_COMMAND>

Executable discovery (GUI apps can start with a minimal PATH):

  • LaReview hydrates PATH from your login shell when launched outside a terminal (macOS/Linux). Restart after shell PATH changes.
  • You can override individual agent executables in Settings → Agent Settings.

Wipe local state:

  • Delete the DB file listed above.

Development

  • Toolchain: nightly Rust with rustfmt and clippy components (edition 2024; see rust-toolchain.toml)

  • Run the app: cargo run

  • Reset/seed sample data:

    • cargo run --bin reset_db
    • cargo run --bin seed_db
  • Checks:

    • cargo fmt -- --check
    • cargo clippy --all-targets --all-features -- -D warnings
    • cargo test
  • Logging:

    • LaReview uses the log crate with env_logger.
    • Set RUST_LOG to control log levels:
      • RUST_LOG=debug cargo run - Full debug output
      • RUST_LOG=acp=debug cargo run - ACP agent debug output only
      • RUST_LOG=error cargo run - Errors only
    • Logs appear in the terminal when running from source.
  • Tests:

    • Unit tests: Located alongside modules in src/ (usually as tests.rs)
    • Integration tests: Located in the root tests/ directory
    • Run all tests: cargo test
  • Supply chain:

    • cargo deny check (used in scheduled CI)

Docs

Contributing

Please read CONTRIBUTING.md before submitting a PR.

Security

See SECURITY.md for reporting vulnerabilities.

License

Licensed under either of:

At your option.

About

Turn a diff into a review checklist.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 94.7%
  • HTML 2.7%
  • Handlebars 2.3%
  • Shell 0.2%
  • CSS 0.1%
  • JavaScript 0.0%