# Cargo build artifacts
debug/
target/

# Backup files generated by rustfmt
**/*.rs.bk

# MSVC debugging info
*.pdb

# IDE
#.idea/

# Notebooks
.ipynb
.ipynb_*
.ipynb_*/
notebooks/

# Build helpers
.develop.sh

# Python build outputs (the cdylib lives in rubam/_rubam.{pyd,so})
*.so
*.pyd
__pycache__
*.swp

# Python venvs
.venv/
venv/

# Datasets and bench outputs (huge — kept locally under data/ and results/)
data/
results/
*.bam
*.bai
*.cram
*.crai
*.fa
*.fasta
*.fa.fai
*.fasta.fai
*.fastq
*.fastq.gz
!tests/example.bam
!tests/example.bam.bai
!tests/data/
!tests/data/harmos_compat.bam
!tests/data/harmos_compat.bam.bai
!tests/data/harmos_compat.sam
!tests/fixtures/
!tests/fixtures/*.bam
!tests/fixtures/*.bai

# Local scratch / demo apps (not part of the published package)
demo_app.py
demanding_app.py
scratch_demo.bam

# Author-local material kept out of the public software repo: research
# paper, benchmark harness + outputs, dataset/setup scripts, container and
# bench dependency manifests, and local agent/config files. These live on
# the author's machine only and are not part of the rubam software.
/CLAUDE.md
/.claude/
/bench/
/paper/
/scripts/
/results/
/requirements.txt
/Dockerfile
/.github/workflows/bench-cross-env.yml

# Pytest / coverage caches
.pytest_cache/
.coverage
coverage.svg

# bioRxiv build outputs
paper/*.aux
paper/*.bbl
paper/*.blg
paper/*.log
paper/*.out
paper/*.toc
paper/*.synctex.gz
paper/_output/
paper/_freeze/
paper/.quarto/
# LaTeX-generated figure PDFs are ignored, but matplotlib-generated
# bench figures (committed alongside the paper text) are kept.
# To regenerate: bench/plot_*.py against results/<run-id>/metrics.csv.
