# ============================================
# WeLe Agentic AI
# ============================================

# ── Secrets ─────────────────────────────────────────────────────────────────
# .env holds live credentials: Mongo user/password, the CRM JWT secret, and
# LLM + HuggingFace API keys. Never commit any of them. Only *.example is
# tracked, and those must have every value blanked.
.env
.env.*
!.env.example
!**/*.env.example
*.pem
*.key
*.p12
*.pfx
secrets.json
credentials.json

# ── Node ────────────────────────────────────────────────────────────────────
node_modules/
npm-debug.log*
yarn-error.log*
pnpm-debug.log*
.npm/
.node_repl_history
*.tsbuildinfo

# ── Python (voice service) ──────────────────────────────────────────────────
.venv/
/venv/
/env/
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
.eggs/
/build/
/dist/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.ipynb_checkpoints/

# ── Model weights & caches ──────────────────────────────────────────────────
# The AI4Bharat and Whisper checkpoints are several GB and are re-downloaded
# from HuggingFace on first run. They are gated, so committing them would also
# redistribute models the licence does not allow us to redistribute.
#
# Leading slashes matter: an unanchored `models/` also matches
# `src/data/models/
.transformers-cache/` — the CRM read-models — which silently kept them out of
# the repo and made the container crash with ERR_MODULE_NOT_FOUND.
/.cache/
/huggingface/
/models/
.transformers-cache/
*.onnx
*.safetensors
*.ckpt
*.pt
*.pth
*.bin
!package-lock.json

# ── Generated at runtime ────────────────────────────────────────────────────
# Reports the assistant builds for users — regenerated on demand, and they can
# contain customer data.
storage/artifacts/*
!storage/artifacts/.gitkeep
/logs/
*.log

# Scratch audio from voice debugging
*.wav
*.mp3
*.flac

# ── Editors / OS ────────────────────────────────────────────────────────────
.vscode/*
!.vscode/extensions.json
.idea/
*.swp
*.swo
.DS_Store
Thumbs.db
desktop.ini

# ── Local tooling ───────────────────────────────────────────────────────────
# Per-machine Claude Code settings; the shared .claude/settings.json is tracked.
.claude/settings.local.json
/coverage/
/.nyc_output/
/tmp/
/temp/
