CLI Reference
symtrace <REPO_PATH> <COMMIT_A> <COMMIT_B> [OPTIONS]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
REPO_PATH | Path to a Git repository (the folder with .git/) |
COMMIT_A | The older commit — a hash, HEAD~1, branch name, or tag |
COMMIT_B | The newer commit — a hash, HEAD, branch name, or tag |
Options
Section titled “Options”| Flag | Default | Description |
|---|---|---|
--logic-only | off | Skip comments and whitespace-only changes |
--json | off | Output structured JSON instead of colored text |
--no-incremental | off | Force a full re-parse (disables caching) |
--max-file-size <BYTES> | 5242880 | Skip files larger than this (default 5 MiB) |
--max-ast-nodes <N> | 200000 | Skip files with more nodes than this |
--max-recursion-depth <N> | 2048 | Max parser recursion depth |
--parse-timeout-ms <MS> | 2000 | Per-file parse timeout in ms (0 = no limit) |
--help | Show help | |
--version | Show version |
Examples
Section titled “Examples”Compare the last two commits
Section titled “Compare the last two commits”symtrace . HEAD~1 HEADCompare specific commits
Section titled “Compare specific commits”symtrace /path/to/repo a1b2c3d 9f8e7d6Compare a feature branch against main
Section titled “Compare a feature branch against main”symtrace /repos/project main feature/my-featureCompare two tags
Section titled “Compare two tags”symtrace /repos/project v1.0.0 v2.0.0JSON output piped to jq
Section titled “JSON output piped to jq”symtrace . HEAD~1 HEAD --json | jq '.summary'Logic-only JSON for CI
Section titled “Logic-only JSON for CI”symtrace . HEAD~5 HEAD --logic-only --jsonStrict resource limits
Section titled “Strict resource limits”symtrace . HEAD~1 HEAD --max-file-size 1048576 --max-ast-nodes 50000 --parse-timeout-ms 500