Skip to content

symtrace

See what actually changed in your code. symtrace compares Git commits at the code structure level -- showing you moved functions, renamed variables, and real modifications instead of noisy line diffs.

git diff tells you which lines changed. But it can’t tell you that a function was moved, a variable was renamed, or that a “large diff” is actually just reformatted code with zero logic changes.

symtrace reads the actual code structure and tells you exactly what happened:

src/handler.rs
+ [INSERT] function 'handle_request' inserted (L42)
~ [MODIFY] function 'parse_body' modified (L10 -> L10) [75% similar]
r [RENAME] function renamed: 'process' -> 'execute' (L5) [98% similar]
- [DELETE] function 'deprecated_fn' deleted (L88)
m [MOVE] function 'helper' moved (L20 -> L35) [100% similar]

VS Code Integration

New in v0.2.0: Native extension with inline decorations, interactive reports, and commit picker. Install now →

Meaningful diffs

See MOVEs, RENAMEs, MODIFYs, INSERTs, and DELETEs — not raw line changes. Formatting and comment edits are filtered out.

Refactor detection

Automatically spots extract method, move method, and rename patterns. Know whether a refactor actually preserved behavior.

Cross-file tracking

When a function moves from one file to another, symtrace tracks it. No more guessing from disconnected diffs.

Commit classification

Each commit is automatically labeled — feature, bugfix, refactor, cleanup — with a confidence score.

JSON output

Pipe structured JSON into your scripts or CI tooling with --json. Every operation includes similarity scores and change intensity.

Fully offline

No network access, no telemetry, no data collection. Runs entirely on your machine.

Rust, JavaScript, TypeScript, Python, and Java.

Terminal window
cargo build --release
symtrace . HEAD~1 HEAD