GitHub - sshah03/perspica: Review code changes by what they do, not line by line.

Perspica is a local code review tool that analyzes the meaning of changes, filters mechanical diff noise, and detects potentially missed updates without requiring an AI model.

Visit Website
GitHub - sshah03/perspica: Review code changes by what they do, not line by line.

Introduction

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.