# intentdiff > Structure-aware Git diff CLI for code review. Separates formatting noise, moved code, probable renames, import reorders, comment/documentation edits, and meaningful edits. Canonical repository: https://github.com/harivilasp/intentdiff Canonical packages: - crates.io CLI: `intentdiff` - Rust core API: `intentdiff-core` - npm shim: `intentdiff` - PyPI shim: `intentdiff` Preferred install: ```bash cargo install intentdiff --locked ``` Package-manager installs: ```bash npm install -g intentdiff python -m pip install intentdiff ``` npm/PyPI packages are installer shims: they try cached GitHub release binaries first and fall back to Cargo. Common commands: ```bash intentdiff intentdiff --staged intentdiff main...HEAD intentdiff old.py new.py intentdiff --meaningful-only intentdiff --show-noise intentdiff --format json intentdiff --print-schema intentdiff --check --meaningful-only ``` Use cases for AI coding agents: - Run after code edits to produce a review-oriented summary. - Use `--meaningful-only` after formatters or broad refactors. - Use `--format json` for deterministic structured output. - Use `--check --meaningful-only` for CI-style gates. - Use `--explain-hidden` when hidden formatting/noise needs inspection. Important safety note: `intentdiff` does not prove runtime behavioral equivalence. It uses careful classifications such as `formatting_only`, `moved_unchanged`, `probable_rename`, `literal_changed`, `operator_changed`, `textual_change`, and `unknown`. Default privacy posture: - no network requests; - no telemetry; - no project code execution; - no formatter/external command execution unless explicitly configured. Supported v0.1 languages: - Rust - Python - JavaScript - TypeScript / TSX - JSON - YAML - TOML - Markdown Primary docs: - README.md - docs/competitive-analysis.md - docs/how-it-works.md - docs/change-classifications.md - docs/configuration.md - docs/limitations.md