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

# Tool caches and reports
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
coverage.xml
htmlcov/

# Local secrets and personal settings (never commit)
.env
.env.*
!.env.example
.claude/settings.local.json

# Helper app if built inside the repo (install-app --dest ...)
*.app/

# Editors and macOS
.idea/
.vscode/
.DS_Store

# uv.lock is committed on purpose: CI runs `uv sync --locked` for reproducible installs.

# Cloudflare Worker
worker/node_modules/
worker/.wrangler/
worker/dist/
worker/.dev.vars
worker/.dev.vars.*

# Personal scripts (e.g. deploy/local/update-cloudflare.sh); not part of the project
deploy/local/
