# Root-level safety net for the dsa-tracker monorepo. Each entry applies
# to every subtree (backend, frontend, colab_helper). Subdirectories MAY
# add their own .gitignore for project-local extras, but anything common
# belongs here so we never have to chase the same rule into two files.

# ---------------------------------------------------------------------------
# Secrets / local-only state — must never reach a remote
# ---------------------------------------------------------------------------
.env
.env.*
!.env.example
!.env.*.example

# Auth scratch files used by manual API testing
cookies.txt
*_cookies.txt

# ---------------------------------------------------------------------------
# Databases (local dev only — production uses Postgres on a managed host)
# ---------------------------------------------------------------------------
*.db
*.db-journal
*.sqlite
*.sqlite3
*.sqlite3-journal

# ---------------------------------------------------------------------------
# Python
# ---------------------------------------------------------------------------
__pycache__/
*.py[cod]
*$py.class
*.so

# Virtual environments
.venv/
venv/
env/
ENV/

# Packaging / build
*.egg-info/
*.egg
.eggs/
build/
dist/
sdist/
wheels/
*.whl
pip-log.txt
pip-delete-this-directory.txt

# Test / lint / type-check caches
.pytest_cache/
.ruff_cache/
.mypy_cache/
.pyright/
.pyre/
.tox/
.nox/

# Coverage
.coverage
.coverage.*
coverage.xml
htmlcov/
.cache/
.hypothesis/

# Notebooks (colab_helper has examples; checkpoints are local)
.ipynb_checkpoints/

# ---------------------------------------------------------------------------
# Node / JS / TypeScript
# ---------------------------------------------------------------------------
node_modules/
.npm/
.yarn/
.pnpm-store/
.pnp.*

# Build output
dist/
build/
out/

# Vite / TS / bundler caches
.vite/
.turbo/
.parcel-cache/
*.tsbuildinfo

# JS coverage
coverage/

# Debug logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# ---------------------------------------------------------------------------
# Logs
# ---------------------------------------------------------------------------
*.log
logs/

# ---------------------------------------------------------------------------
# Editors / IDEs
# ---------------------------------------------------------------------------
.vscode/
!.vscode/extensions.json
.idea/
*.iml
.fleet/
*.swp
*.swo
*~

# ---------------------------------------------------------------------------
# OS junk
# ---------------------------------------------------------------------------
.DS_Store
.AppleDouble
.LSOverride
Thumbs.db
ehthumbs.db
Desktop.ini

# ---------------------------------------------------------------------------
# Misc local scratch
# ---------------------------------------------------------------------------
.tmp/
tmp/
*.local

# ---------------------------------------------------------------------------
# Whitelists — undo overly broad rules from the user's global gitignore
# (their global has `*.ini`, which would otherwise drop alembic.ini).
# ---------------------------------------------------------------------------
!*.ini
