Review what changed, not what moved.

intentdiff is a structure-aware Git diff CLI for code review. It separates formatting noise, moved code, probable renames, import reorders, comments, documentation edits, and meaningful changes.

Local-first Rust CLI. Deterministic JSON for automation. No telemetry. No network during analysis. No claims of runtime equivalence without explicit verification.

$ intentdiff main...HEAD
Summary
  5 files changed
  1 meaningful edit
  2 formatting-only changes
  1 unchanged code move
  1 import reorder

Review first
  MEDIUM  src/token.rs:4
          numeric literal set changed

Files
  src/auth.rs
    ⇅ imports reordered only
  src/token.rs
    ↪ function moved and modified
    ~ literal changed: 5 → 10
Formatting-noise suppression

Collapse whitespace, line wrapping, blank lines, and safe formatting-only changes while keeping evidence.

Move and rename detection

Detect unchanged and modified moved code, including cross-file top-level entity moves and probable renames.

Agent-ready output

Use deterministic JSON and concise terminal output so Codex, Claude, and CI can inspect review intent.

Install

cargo install intentdiff --locked
npm install -g intentdiff
python -m pip install intentdiff

npm and PyPI packages try cached GitHub release binaries first and fall back to Cargo when a native archive is unavailable.

Use in CI

- uses: actions/checkout@v4
  with:
    fetch-depth: 0
- uses: harivilasp/intentdiff@v0.1.0
  with:
    args: --check --meaningful-only main...HEAD

Learn more