# macOS Finder metadata
.DS_Store

# Byte-compiled files
__pycache__
*.pyc

# Build output
build
dist/
site/
*.egg-info

# Caches
.*[cC]ache*
.pixi/

# Coverage reports. `pixi run test-cov` writes the first two and
# `pnpm run test:coverage` the third; the pattern above does not catch them,
# since none of the three has "cache" in its name.
.coverage
# The per-process files `parallel = true` writes; pytest-cov combines them, but
# the main process saves one more at interpreter exit, after the combine.
.coverage.*
coverage.xml
web/coverage/

# Scratch models: `pixi run example` creates example-model/ for the dev server
# to open, and examples/ holds sample models and the solved .nc files the tests
# read. Both are large and neither belongs in the repository. The .nc files the
# tests need are reproducible — `pixi run solve-examples` writes them — which is
# what lets this line stand; the version-stamped ones beside them are history
# and cannot be regenerated.
example-model/
examples/

# Frontend
node_modules/
# Vite builds the Vue bundle into the Python package; it is a build artefact
# everywhere except in a released wheel, where setuptools picks it up.
src/calliope_studio/server/static/

# Claude Code. Not shared, all of it: the sandbox policy in settings.json names
# absolute paths on one machine — its allowRead, allowWrite and excludedCommands
# lists — so it means nothing in a clone. settings.json was tracked until now,
# with a `!.claude/` line to re-include it past the directory exclusion; with
# the whole directory ignored there is nothing left for that trick to do.
.claude/
