# --- Python ---
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg
*.egg-info/
.eggs/
build/
dist/
wheels/
.installed.cfg
MANIFEST
pip-log.txt
pip-delete-this-directory.txt

# Virtual envs
.venv/
venv/
env/
ENV/

# Auto-generated by hatch-vcs
src/clicketysplit/_version.py

# Pre-built frontend assets bundled into the wheel
# (built by `npm run build` from frontend/; never commit the output).
# The DIRECTORY itself is tracked via .gitkeep: pyproject's force-include
# requires it to exist, so without it `pip install -e .` fails on a fresh
# clone before the frontend has ever been built.
src/clicketysplit/server/static/*
!src/clicketysplit/server/static/.gitkeep

# --- Testing & coverage ---
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
.cache
coverage.xml
*.cover

# --- Linting / type-checking ---
.ruff_cache/
.mypy_cache/
.dmypy.json

# --- Node / Vite (frontend/) ---
node_modules/
frontend/dist/
frontend/.svelte-kit/
frontend/.vite/
*.tsbuildinfo

# --- mkdocs ---
site/

# --- Local AI tooling state (permissions etc.) ---
.claude/

# --- Editors & OS ---
.vscode/
.idea/
*.swp
*.swo
.DS_Store
Thumbs.db

# --- User-generated runtime data (developers might create test experiments locally) ---
*.session.json
*.session.autosave.json

# --- Internal scaffolding, not part of the published artifact ---
# Design docs and the legacy-code reference copy live here for subagents to read,
# but never ship in the wheel or appear in git history. See _design/CONTRACT_NOTES.md C9.
_design/
_reference/
