# Generated notebooks (kept as jupytext .py source-of-truth)
notebooks/*.ipynb
notebooks/.ipynb_checkpoints/

# MyST / Jupyter Book build output
_build/
public/

# Python
__pycache__/
*.py[cod]
*.egg-info/
.venv/
.pytest_cache/

# Pixi install cache — never committed. pixi.toml + pixi.lock ARE committed
# (they're the dep manifest + per-platform lockfile); the .pixi/ directory is
# the per-machine install of the resolved env and is regenerated by `pixi install`.
.pixi/

# Snakemake run cache (DAG, locks, log files for each invocation)
.snakemake/

# Environment / OS
.DS_Store
.env

# Data — never committed; downloaded on first run
data/*
!data/.gitkeep
!data/README.md

# Prior-chain import cache — never committed; regenerated on demand from
# the entry URI in CITATION.cff `references:`. The persistent pointer to
# a prior chain is the URI, not the cached nanopubs here.
# See docs/nanopub-chain-discovery.md.
nanopubs/imported/

# Staging area for files inherited from a prior chain's sibling repos
# by `/import-from-nanopub`. One-shot reference area — review the files,
# merge into your own repo's corresponding locations, then delete this
# directory. NEVER committed; recreate by re-running the import skill.
_template_from_prior/

# Paper PDFs (single PDF allowed; subfolder build artefacts ignored)
paper/_build/
paper/.tmp/

# Figures generated by notebooks (keep curated examples in figures/)
notebooks/figures/

# Reference / external archives
reference/

# Results — large numerical outputs (commit only summary CSVs you reference in figures)
results/raw/
# Notebook execution logs — regenerated each run, not durable provenance
results/logs/

# Docker
docker-image.tar.gz

# Claude scratch
.claude/.cache/
.claude/local/

# Editor swap files
*.swp
*.swo
*~
