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

# Virtualenvs — the house convention keeps these outside the tree, but guard anyway
.venv/
venv/
env/

# Tooling caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
htmlcov/
coverage.xml

# Local data — a stray `subroutine init` in the working tree must never be committed
*.db
*.db-wal
*.db-shm
*.sqlite3
/data/
/instance/

# Secrets and local configuration
.env
.env.*
config.local.toml

# Editors
.idea/
*.swp
.DS_Store

# Local documentation
CLAUDE.md
COMPETITIVE-ANALYSIS.md
SPEC.md
MVP-PLAN.md
reviews

# Committing this is right for a team sharing one instance, and wrong here: a clone of
# *Subroutine itself* goes to strangers who share nothing, and the marker would name a
# workspace and a project that exist on no machine but ours (`SR#219`).
.subroutine
