codediff 0.0.14

Fast, robust, syntax-aware code diffing using tree-sitter ASTs
Documentation
# ---> Rust
# Generated by Cargo
# will have compiled files and executables
debug/
target/
tmp/

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

# ---> Research directory. Part of the project but not part of the product.
#
# research/data/ (the corpus samples and measurement outputs) and research/plots/ (generated
# figures) are both deliberately TRACKED, and were both previously ignored here:
#   * `**/research/data/*` was vestigial - that directory did not exist and nothing referenced it.
#   * `**/research/**/plots/` made plots/ scratch, which forced every paper figure to be *copied*
#     into research/papers/*/figures/ to be versioned at all. The paper now symlinks into plots/
#     instead, so plots/ is the single source of truth and has to be committed for a fresh clone
#     to build the paper. Net repository size is unchanged - the same PNGs, stored once.
**/research/drivers/gumtree-batch/out/
# ablation_study.sh always overwrites the same filenames in place (baseline.csv/log,
# <flag>.csv/log) - regenerable scratch output, not a versioned record, so it doesn't belong in
# git (unlike e.g. research/data/results/*_baseline_*.csv, which are deliberately-named point-in-time
# snapshots kept for historical comparison).
**/research/data/ablation/*

# pdflatex/bibtex build byproducts for research/papers/* - regenerated on every build, not part of
# the versioned record (unlike the checked-in main.tex/main.bbl/main.pdf in the same directory).
# Scoped to research/papers/ rather than a bare *.log so this doesn't shadow the deliberately
# tracked *.log files under research/data/results/.
**/research/papers/**/*.aux
**/research/papers/**/*.blg
**/research/papers/**/*.log
**/research/papers/**/*.out
# latexmk's own bookkeeping. The Makefile's no-latexmk fallback path deletes these itself, so they
# only appear when latexmk is installed - which is why they went unignored until 2026-08-21.
**/research/papers/**/*.fls
**/research/papers/**/*.fdb_latexmk

# ---> Python, only used in research/ directory.

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# AI stuff
.serena
.claude

# codediff TUI's persisted theme choice (written to the cwd it's run from)
.codediff.toml

# sample-pairs-all writes one combined CSV and then splits it per language. The per-language files
# are the artifact; the combined one is a regenerable intermediate that duplicates all 3MB of them.
**/research/data/samples/sampled_code_pairs_all.csv

# Materialized sample candidates awaiting triage. `materialize_test_diffs` renders the pointers in
# src/test/data/sample.csv into before/after fixtures here, and `human_solver` promotes the ones a
# human accepts into src/test/data/diffs/ (carrying README.md attribution with them). That makes
# this a staging area whose contents are fully regenerable from sample.csv + the research
# checkouts, so it doesn't belong in git - it was tracked until the stratified draw made that
# ~3000 files at a time (previously it was emptied by hand after each triage round, e.g. 920efe8).
src/test/data/samples/