A terminal-native PR review control center. Every pull request is a tab. Every tab is a real terminal running the AI CLI of your choice. Review with one keystroke, resume any past session, and keep your reviews close.
CI Release License: MIT Platform Built with Tauri
peaR β tiled PR review across Phosphor and Instrument themesTiled review panes, live diff with per-file summaries, a PR tree with review-status badges β in two built-in themes, Phosphor (amber CRT) and Instrument (refined industrial), toggled live.
Reviewing PRs with an AI CLI means a lot of gh pr checkout, juggling terminal panes, and
losing the conversation the moment you close a tab. pear makes the PR the unit of work:
- ποΈ PRs as tabs β open
owner/repo#123(or paste a GitHub URL); pear finds the repo locally, checks out the branch, and drops you into a real terminal there. - π€ Bring your own CLI β
claude,codex,aider, or a plain shell, per tab. - π One-keystroke reviews β Light / Standard / Complex launch buttons, plus a clearly marked Ultra πΈ for the paid cloud review. No hidden costs.
- β©οΈ Resumable sessions β every PR keeps a tree of Claude sessions; resume the exact chat you were in, or start a fresh one, from the history pane.
- πͺ Insight panel β render saved reviews (markdown / diff) beside the terminal.
- π¨ Two production themes β Phosphor (amber CRT) and Instrument (refined industrial), toggleable live.
- π Smart copy β capture review output to the system clipboard with an editable preview.
- π§© Ships a review-skills plugin (Claude Code + Codex) β
/pr-post-review,/pr-distill,/pr-walkthru,/pr-explain,/pr-video. Seeplugins/pear-review.
pear is a small, fast Rust core (pear-core) behind a serializable Command/Event
protocol, fronted today by a Tauri + xterm.js desktop app. The protocol boundary means a
TUI or a daemon frontend can reuse everything below the IPC line unchanged.
apps/desktop Tauri app β web UI (xterm.js) + thin Rust shim
crates/pear-core engine Β· PTY sessions Β· GitHub Β· review store Β· dispatch Β· workdir
plugins/ pear-review plugin (Claude Code + Codex) with the /pr-* skills
docs/ ARCHITECTURE.md Β· ROADMAP.md Β· design snapshots & mocks
See docs/ARCHITECTURE.md for the locked decisions and branch paths, and docs/ROADMAP.md for what's shipped and what's next.
brew install --cask imbgar/tap/pear
Unsigned build β on first launch, right-click the app β Open.
- macOS (Apple Silicon or Intel)
- Rust β₯ 1.80, Node β₯ 20
- GitHub CLI (
gh) β pear reuses yourgh authfor PR metadata - Your AI CLI of choice (e.g. Claude Code)
git clone git@github.com:imbgar/peaR.git
cd pear/apps/desktop
npm install
npm run tauri devcd apps/desktop npm install npm run tauri build # universal binary configured via tauri.conf.json
pear reads a few optional environment variables:
| Variable | Purpose |
|---|---|
PEAR_REPO_DIRS |
Colon-separated dirs to search for PR repos (default: ~/repos, ~/projects, ~/src, ...). If a PR's repo isn't found in any of them, pear auto-clones it into a managed repos/ dir under the data dir β no manual setup needed. |
PEAR_DATA_DIR |
Override where history + reviews are stored (default: OS data dir) |
PEAR_GITHUB_TOKEN / GITHUB_TOKEN |
GitHub token (otherwise sourced from gh auth token) |
Claude permission mode (per the sidebar selector): auto Β· acceptEdits Β· dontAsk Β·
bypassPermissions π¨ Β· default Β· plan.
PRs welcome β see CONTRIBUTING.md and our
Code of Conduct. The core is test-covered (cargo test -p pear-core);
please keep it that way.
MIT Β© pear contributors