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

# Virtual environments
.venv/
venv/

# Tools
.mypy_cache/
.ruff_cache/
.pytest_cache/

# Data
data/
*.db

# Environment — gitignore every .env variant; .env.example stays committed
# as the credential template.
.env
.env.*
!.env.example
pytest-of-*
tmp*

# Claude Code — shared project settings.json is committed; per-user
# overrides, scheduled-task locks, and worktree scratch live here
# and should not be.
.claude/settings.local.json
.claude/worktrees/
.claude/scheduled_tasks.lock

# Eval harness — runtime reports only; the dir itself stays via .gitkeep
eval/reports/*
!eval/reports/.gitkeep
