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

# Virtual environments
.venv/
venv/
env/

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

# Environment & secrets — NEVER commit
.env
.env.*
!.env.example
*.env
cloudrun-env.yaml
durbl-service.yaml
*-secrets.yaml
*.secrets.yaml
secrets/
*.pem
*.key
*.p12
*.pfx
service-account*.json
gcp-credentials*.json
stripe-keys*
jwt-secret*

# Testing
.coverage
htmlcov/
.pytest_cache/
.mypy_cache/

# Docker
.docker/

# Node (for apps/)
node_modules/
.next/
.turbo/
out/

# OS
.DS_Store
Thumbs.db

# Logs
*.log
logs/

# Rust build artifacts
target/
**/target/
*.pdb

# Databases — NEVER commit user/platform data
*.db
*.sqlite
*.sqlite-journal
*.sqlite-wal
*.sqlite-shm
durbl_data/
mnest_data/
**/durbl_data/
**/mnest_data/

# Vercel CLI link (per-developer, contains project ID)
.vercel/

# Downloaded installers
*.exe
!**/node_modules/**/*.exe

# One-off scratch files (kept locally, not in repo history)
scratch/

# Tsbuild caches
*.tsbuildinfo

# Per-developer local settings (Claude Code, VSCode, etc.)
.claude/settings.local.json
.claude/projects/
**/.claude/settings.local.json
