# === Python ===
__pycache__/
.mypy_cache/
*.py[cod]
*$py.class
*.so
.Python
*.egg-info/
*.egg

# Virtual environments
.venv
.venv/
venv/
backend/.venv/

# === Node ===
node_modules/
/.pnpm-store/

# === Environment files ===
backend/.env
backend/.env.*
backend/env.*
.env
*.env*
.env.*
!.env.example
!.env.staging.example
!.env.production.example
!backend/env.staging.example
!backend/env.production.example

# === Logs ===
*.log
logs/
backend/backend.log
nohup.out

# === Test & coverage ===
.coverage
coverage/
*.lcov
htmlcov/
.pytest_cache/

# === Build artifacts ===
dist/
build/
apps/web/dist/
site/

# === Database ===
*.db
*.sqlite
*.sqlite3
backups/
*.tar.gz

# === IDE ===
.idea/
.vscode/
*.swp
*.swo
.cursor/

# === OS ===
.DS_Store
Thumbs.db

# === Security — never commit credentials ===
aws-key/
other_credentials/
*.pem
*.key
*.p12
*.pfx

# === Claude Code (local settings, worktrees) ===
.claude/

# === Supabase ===
supabase/.branches/
supabase/.temp/

# === Playwright ===
test-results/
docs/images/.playwright-results/

# === Coherence agent ===
coherence/openapi-readonly.json
coherence/reports/*.md
coherence/reports/*.log
coherence/.env
!coherence/.env.example

# === Analysis docs (local only) ===
docs/internal/analysis/

# === Generated doc artifacts ===
docs/**/*.html

# === Misc ===
TRASH/
__obsolete__/
___archive___/
uploads/
results/
