# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
.venv/
venv/
ENV/

# IDE
.idea/
.vscode/
*.swp
*.swo
*~

# Testing
.tox/
.nox/
.coverage
.coverage.*
htmlcov/
.pytest_cache/
.mypy_cache/

# OS
.DS_Store
Thumbs.db

# Local config (don't commit user-specific settings)
*.local.json

# Claude Code project instructions (local development only)
CLAUDE.md
.serena/
.claude/
.specify/
specs/
.code/

# Local development directories
plugindocs/
safetypluginclone/.claude/.state/

# Local refactor checklist
refactor-plan.md

# GSD runtime/state noise (keep curated project docs + milestone docs committed)
.gsd/STATE.md
.gsd/activity/
.gsd/auto.lock
.gsd/completed-units.json
.gsd/completed-units-*.json
.gsd/event-log.jsonl
.gsd/gsd.db
.gsd/gsd.db-*
.gsd/journal/
.gsd/metrics.json
.gsd/OVERRIDES.md
.gsd/PREFERENCES.md
.gsd/recovery/
.gsd/reports/
.gsd/runtime/
.gsd/state-manifest.json
.gsd/worktrees/
.bg-shell/
coverage.json
READMEGSD.md

# ── GSD baseline (auto-generated) ──
.gsd-id
*.code-workspace
.env
.env.*
!.env.example
node_modules/
.next/
*.pyc
target/
vendor/
*.log
coverage/
.cache/
tmp/
