# ── Python ────────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.pyo
*.pyd
*.egg
*.egg-info/
dist/
build/
.eggs/
*.whl
.venv/
venv/
env/
.env
.env.*
!.env.example
# Claude Code: local agent config, skills and worktrees — never pushed.
.claude/
CLAUDE.md

# ── SQLite ────────────────────────────────────────────────────────────────────
*.db
*.db-shm
*.db-wal
*.sqlite
*.sqlite3

# ── Node / Next.js ────────────────────────────────────────────────────────────
node_modules/
.next/
out/
.vercel/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
*.tsbuildinfo
next-env.d.ts

# ── Docker ────────────────────────────────────────────────────────────────────
docker-compose.override.yml

# ── Temporal ─────────────────────────────────────────────────────────────────
temporal/dynamicconfig/*.yaml
!temporal/dynamicconfig/development.yaml

# ── OS / IDE ──────────────────────────────────────────────────────────────────
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Thumbs.db
.idea/
.vscode/
*.swp
*.swo

# ── Logs / coverage ───────────────────────────────────────────────────────────
*.log
logs/
coverage/
.coverage
htmlcov/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# ── Secrets ───────────────────────────────────────────────────────────────────
*.pem
*.key
*.cert
secrets/
# SC-07 / SC-03 — credential material that has shown up in repos of this shape.
# `~/.vsscli/config.json` holds a live API key; the rest are the private-key and
# keystore formats the .pem/.key patterns above miss.
.vsscli/
*.p12
*.pfx
*.jks
*.keystore
*.crt
id_rsa
id_rsa.*
id_ed25519
id_ed25519.*
.envrc
# Never commit a real Fernet key for SECRETS_KEY (see backend/src/app/crypto.py).
secrets.key
*.secrets.json
