Perspica is a local CLI and web viewer that produces a semantic diff for code reviews by parsing both versions of code with tree-sitter and tracking calls and symbols across the repo. Instead of showing only line-by-line changes, it collapses mechanical noise (formatting, comment-only edits, rename-only lines, moves, generated files), identifies renames, signature changes, moved or extracted functions, dependency changes per symbol, real logic changes, and code left unused. It reports where callers weren’t updated for a changed signature, produces a prioritized reading order from entry points down to changed callees, and annotates which changed tests actually reach modified code. It runs fast and deterministically as a single local binary; TypeScript/JavaScript (TSX/JSX), Python, Rust, Go, Java and C get semantic analysis while other files fall back to line diffs.
An optional LLM analysis groups changes by intent, assigns risk levels, suggests checks, and writes summaries; that step uses Claude Code, an API key (Anthropic/OpenAI), or local Ollama models and never sends whole files. When changes come from coding agents, Perspica extracts and highlights prompts so reviewers can see what was asked versus what the agent decided. Install via cargo or download binaries, run against branches, commits, staged changes or PRs (uses gh), and output results in terminal, JSON, or the bundled web UI. Analyses are cached in .git/perspica for repeatable reviews.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.