Features
The review inbox
The Dashboard (⌘1) is the home screen — everything that needs your attention, grouped into Needs your review, Needs your attention, Ready to merge, Awaiting review, and Drafts. Sections are collapsible, refresh automatically, and show how long ago they synced. Each row carries the title, author, repo/number, approval state, and a live CI status dot.
Pull request list & search
The Pull Requests page (⌘2) is the full, filterable list. Filter by state, repository, labels, or CI status; group by repository or author; sort by updated, created, or title. Search with / — matches title, author, or PR number. Virtualized rendering handles thousands of PRs without lag, and the list is keyboard-driven (j/k to move, Enter to open).
When you've picked repositories to watch, the list is served straight from a local SQLite cache — instant and available offline — and kept fresh by a background poller.
Reading the diff
The PR detail view organizes a pull request into four tabs — Files, Conversation, Commits, and Checks — with a file-tree sidebar on the Files tab. The diff viewer supports unified or split view (⌘B), per-language syntax highlighting, expandable context around hunks, hiding whitespace-only changes, and viewed-files tracking keyed to the current head commit (so a force-push resets it).
Writing your review
Reviewly batches your feedback into a single GitHub review, just like the web UI, but faster. Inline comments save to a per-PR draft that survives navigation, refresh, and app restarts. Choose Comment, Approve, or Request changes, write a Markdown summary, and submit with ⌘↵ — Reviewly confirms the review actually landed on GitHub before clearing the draft. You can also read and reply to existing review threads, resolve/unresolve them, and react with emoji.
AI review
Reviewly drives an AI you control — a local CLI or your own endpoint — through three modes:
- Layered review — for the PR that touches 60 files, the change is cut into coherent layers (schema, types, logic, API surface, UI, tests) that you read one at a time, in dependency order, each with a short briefing and a risk chip.
- Guided tour — one click and the AI reads the whole PR and walks you through it in a sensible order, jumping you to relevant files or pre-filling suggested comments.
- Ask AI — a floating chat panel that streams responses token-by-token; if you have the repo cloned locally, the AI runs inside the clone so it can read real files, not just the diff.
Providers: the claude, codex, or gemini CLI on your PATH, or any OpenAI-compatible HTTP endpoint (OpenAI, Ollama, LM Studio, OpenRouter, and others).
Checks, CI, and Dependabot
The Checks tab shows every check run on the PR's head commit with status, timing, and expandable failure annotations — the tab color is required-aware, so optional failures won't turn it red. Each check has a Re-run button that picks the narrowest possible scope. The Dependabot page lists security alerts for a repo, sorted by severity, with dismiss/reopen actions.
Local repository integration
Point Reviewly at your local clones and it adds git intelligence: a repo browser with git status, staged/unstaged markers, a churn heatmap, and CODEOWNERS hints; a Changes (branch-vs-base) view and a History view; quick-open (⌘P); a branch switcher and worktree list; and checking out a PR into the clone in one action.
Notifications & desktop niceties
The Notifications page (⌘3) mirrors your GitHub notifications with keyboard navigation and an undo toast. On the desktop side: a menu-bar tray with your pending-review count, a command palette (⌘K), a pinboard for PRs/commits/files, clipboard sniffing for GitHub PR links, native window vibrancy on macOS and Mica on Windows 11, and OS notifications for new review requests.
Tech stack#
Front end — React 18, TypeScript, TanStack Router & Query, Zustand (persisted to SQLite), Tailwind CSS v4, Base UI components, Prism syntax highlighting, TanStack Virtual, Vite.
Desktop shell — Tauri 2: SQL (SQLite), global-shortcut, notification, clipboard-manager, dialog, opener, process, os, updater, and window-state plugins, plus window-vibrancy for the macOS/Windows backdrop.
Rust core — Tokio, reqwest (GitHub REST + GraphQL over rustls), serde, chrono, the keyring crate for the OS keychain, and tracing for logs.