Skip to content
ebsc-devPublic

About

Desktop PR review app focused on business-logic regressions — gh + Codex powered

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Review

A desktop app for reviewing pull requests and your own local changes, built to catch business-logic regressions in AI-written code.

  • No GitHub App. Everything goes through your existing gh login.
  • AI on your subscription. Analysis runs codex exec in a read-only sandbox inside a git worktree of the PR head, so the model can read callers and older versions of the code, not just the diff hunks.
  • Nothing runs automatically. Opening a PR costs nothing until you press Analyze (a). Results are cached per head commit. New commits show a stale banner, and re-analyzing reports what changed since the last run.

Features

Queue PRs where your review is requested and open PRs you haven't reviewed, across the repos you choose. j/k to move, ↵ to open, ] jumps to the next PR from inside a review.
Diff Unified/split view, syntax highlighting, existing review threads inline, per-file viewed state, AI risk dots per file.
Analyze Summary: business impact, before→after behavior changes ranked by regression risk, questions for the author. Visualize: Mermaid before/after diagrams of the affected flow, plus lines changed by business area. Quality & CI: AI risk score and concerns, CI donut, failing checks, test-coverage ratio, churn, slowest checks. Activity: timeline of reviews, comments, threads, and commits, marking commits that are new since the last analysis.
Ask AI Presets (data flow, what could regress, business rules changed, missing tests, architecture impact, charts, PM summary) plus free-form questions. Select diff lines and press e to ask about them. Follow-up questions resume the same Codex session. Answers render Mermaid and ```chart blocks.
Review Inline comments (select lines, then c), comment, approve (⌘⇧↵), or request changes (⌘⇧R). Every submission shows a confirmation with the exact content. After approving, the app moves on to the next PR.
Local Review uncommitted, staged, or branch-vs-default changes in any mapped clone, with the same Analyze/Ask tools.

Press ? for all shortcuts.

Install

brew install --cask ebsc-dev/tap/ebsc-review
gh auth login && codex login

The cask needs macOS 13 or later and installs gh. Install Codex yourself. See RELEASING.md for how releases are built.

Setup (from source)

Prerequisites: gh (logged in), codex (logged in), Node 22+, pnpm, Rust.

pnpm install
pnpm tauri dev        # run
pnpm tauri build      # produce a .app / .dmg

In Settings:

  1. Add repos. Pick a local clone and the owner/name is read from its remote. Clones are used read-only. PRs are checked out into one app-owned worktree per repo (switched between PRs, so a big repo costs its size on disk once), and your clone only gains private refs/review/* refs. Settings → "Remove cached checkouts" reclaims the space.
  2. Business context per repo. Write down the rules that aren't in the code; they're sent with every analysis as authoritative.
  3. Model override (optional). If your codex default model needs a newer CLI, set a model here, e.g. gpt-5.5.

Data (SQLite cache, worktrees) lives in ~/Library/Application Support/dev.ebsc.review/.

Development

pnpm test                          # vitest (diff anchoring, charts, timeline…)
pnpm typecheck
cd src-tauri && cargo test         # gh/codex parsing, db, prompts, git
cargo clippy --all-targets -- -D warnings
  • UI without the backend. Open http://localhost:1420/?mock in a browser while pnpm dev runs (src/dev/mockIpc.ts serves the fixtures).

  • Live end-to-end (real gh + git + codex):

    cd src-tauri
    REVIEW_LIVE_REPO=owner/name REVIEW_LIVE_PR=123 REVIEW_LIVE_CLONE=/path/to/clone \
    REVIEW_LIVE_MODEL=gpt-5.5 cargo test live_ -- --ignored --nocapture

Layout

src-tauri/src/
  gh.rs         gh CLI wrapper (queue, PR bundle, checks, threads, reviews)
  git.rs        local diffs, PR worktrees
  ai/           provider trait + Codex adapter (add Grok here)
  analysis.rs   prompt building, structured analysis, Q&A, caching
  db.rs         SQLite (analyses, chat, viewed files, repos, settings)
src-tauri/prompts/  analysis prompt + JSON schema, ask prompt
src/features/       queue, diff, analysis tabs, ask, review, local, settings

About

Desktop PR review app focused on business-logic regressions — gh + Codex powered

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages