Overview
Perspica is a code review tool that interprets what changed rather than presenting every edit as an equally important line-level difference. It parses both versions of the code with tree-sitter, follows calls between them, and distinguishes structural or behavioral changes from mechanical noise.
The core analysis runs locally as a single binary, produces deterministic results, and does not require an API key. Optional LLM analysis can group changes by intent, assess risk, and produce a summary; data remains on the machine unless that feature is explicitly used.
Key Features
- Collapses formatting, comment-only edits, rename-only lines, unchanged moves, generated files, and vendored files while separating tests and documentation.
- Identifies renames, signature changes, dependency changes, function extractions, moves across or within files, and logic changes by function or method.
- Finds references to renamed or removed names, calls that were not updated after a breaking signature change, and code made unused by the change.
- Supports TypeScript, JavaScript, TSX, JSX, Python, Rust, Go, Java, Scala, and C, while displaying other languages as ordinary line diffs.
- Provides browser-based viewing and machine-readable JSON output in addition to terminal review.
How to Use
Perspica can review the current branch from inside a repository, including commits as well as uncommitted and untracked files. It can also open the review in a browser or inspect a GitHub pull request through the GitHub CLI.
Other supported targets include comparison against another base branch, staged changes, a Git range, the working tree against a selected commit, or two individual files. Users can install it through Cargo, download a binary for macOS, Linux, or Windows, or build it from source.
AI-Assisted Review
The optional LLM layer works through Claude Code, an API key, or Ollama. It adds intent-based grouping, risk ratings, and written summaries to the model-free structural analysis rather than replacing it.
For work created with coding agents, Perspica can surface the original request from a Claude Code or Codex session. With LLM analysis enabled, it can also distinguish requested work from changes the coding agent decided to make independently.