# Workspace
node_modules/
.pnpm-store/
.turbo/
dist/
build/
coverage/
# The generic `build/` rule above ignores any directory of that name. The v2
# surface for the Build developer page lives at frontend/shell/src/v2/build/
# and is TypeScript source — not a build artifact.
!frontend/shell/src/v2/build/
.tsbuildinfo
*.tsbuildinfo

# Generated
packages/contracts/generated/

# Env
.env
.env.local
.env.*.local
.env.local.deploy-hidden
!.env.example

# OS
.DS_Store
Thumbs.db

# Editor
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
.idea/

# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Local dev
tools/dev/.tmp/

.claude/
.cursor/
docs/*/2026*

# cognito-local writes runtime state (one local_<random>.json per user pool
# created in a dev session) to this dir. Only the baseline pool + client
# config should be tracked.
tools/dev/cognito-seed/local_*.json
!tools/dev/cognito-seed/local_dev_pool.json

# Python bytecode caches produced by local `pytest` runs in backend/services/ml-service
__pycache__/
*.pyc
*.pyo

# Local artifacts from the synthetic shadow generator
# (`backend/services/ml-service/scripts/synthetic_shadow_run.py`).
# The script writes a JSON report to whatever path the operator passes
# via --out. The default `shadow-report.json` lives at the ml-service
# root and is operator-local; never check it in. See
# `docs/runbooks/poll-shadow-promotion.md`.
shadow-report-*.json
# Python coverage database written by pytest-cov (binary, not the JSON summary)
.coverage
