# Root ignore rules for the whole repository. Keep .dockerignore in sync:
# anything that must never be committed should also stay out of image
# build contexts.

# --- Python bytecode and caches ---------------------------------------------
__pycache__/
*.py[cod]
.pytest_cache/
.ruff_cache/
.mypy_cache/

# --- Build output ------------------------------------------------------------
build/
dist/
*.egg-info/
# Generated by hatch-vcs at build/install time
src/undercurrent/_version.py
# mkdocs build output
site/

# --- Environments ------------------------------------------------------------
.venv/
venv/
.env
.env.*
!.env.example

# --- Coverage ----------------------------------------------------------------
.coverage*
htmlcov/
coverage.xml

# --- Model weights and checkpoints -------------------------------------------
# Trained checkpoints are private, per-user artefacts and can be tens of MB.
# Never commit them; publish weights through the Hugging Face Hub instead.
*.pt
*.pth
*.ckpt
*.safetensors
*.bin
*.gguf

# --- Notebooks ---------------------------------------------------------------
.ipynb_checkpoints/

# --- Local tooling -----------------------------------------------------------
.claude/worktrees/
.claude/settings.local.json
.idea/
.vscode/
.DS_Store

# --- Run artefacts -----------------------------------------------------------
# Observation / metrics sink output
*.ndjson
benchmarks/results/
# examples/train_probe output (probe weights, metrics), wherever it's run from
**/outputs/train_probe/
