# ── Python ────────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.pyo
*.pyd
*.so
*.egg
*.egg-info/
dist/
build/
.eggs/

# Virtual environments
.venv/
venv/
env/

# uv


# pytest / coverage
.pytest_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/

# mypy / ruff / pyright caches
.mypy_cache/
.ruff_cache/
.pyright/

# ── Node / Frontend ───────────────────────────────────────────────────────────
node_modules/
dist/
.vite/

# package manager locks (keep package-lock.json if using npm, drop if using pnpm/yarn)
# package-lock.json
yarn.lock
pnpm-lock.yaml

# ── Environment & secrets ─────────────────────────────────────────────────────
.env
.env.*
!.env.example

# ── Databases ─────────────────────────────────────────────────────────────────
*.db
*.sqlite
*.sqlite3

# ── Editors & OS ─────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
Desktop.ini
.idea/
.vscode/
*.swp
*.swo
*~

# ── Claude Code ───────────────────────────────────────────────────────────────
.claude/

# ── Docker / Infra ────────────────────────────────────────────────────────────
# Keep docker-compose.yml tracked; ignore generated runtime files
*.pid

# Terraform state and secrets — never commit these
infra/terraform/terraform.tfstate
infra/terraform/terraform.tfstate.backup
infra/terraform/terraform.tfvars
infra/terraform/.terraform/

# ── Render worker temp dirs ───────────────────────────────────────────────────
render-*/

# ── Logs ─────────────────────────────────────────────────────────────────────
*.log
logs/
