# ── Python ─────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
.mypy_cache/
.ruff_cache/
.pytest_cache/
.hypothesis/

# ── Node ───────────────────────────────────────────────────────────────
node_modules/

# ── Virtual environments ───────────────────────────────────────────────
.venv/
venv/
ENV/

# ── Build artefacts / packaging ────────────────────────────────────────
dist/
build/
*.egg-info/
*.egg
site/
dashboard/coverage/
*.tsbuildinfo
# Dashboard build output IS tracked — needed in wheel via
# src/sovyx/dashboard/static/. Rebuild with: cd dashboard && npm run build

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

# ── OS ─────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db

# ── Secrets / env ──────────────────────────────────────────────────────
.env
.env.*

# ── Databases / local Sovyx data ───────────────────────────────────────
*.db
*.db-wal
*.db-shm
.sovyx/

# ── Coverage ───────────────────────────────────────────────────────────
htmlcov/
.coverage
.coverage.*
coverage.xml

# ── Models (large binaries, fetched at runtime) ────────────────────────
*.onnx
*.bin

# ── Internal docs / tooling output (kept local only) ───────────────────
.context/
.cursorrules
docs/_meta/
docs-internal/
vps-brain-dump/
erebus/

# ── Claude Code local runtime state ────────────────────────────────────
.claude/

# ── Local diagnostic / forensic scripts (not shipped) ──────────────────
/tmp/
/mic_test.py
/sovyx-*.ps1
/voice-diag.ps1
/scripts/forensic_*
