# Environment variables & secrets (NEVER commit real tokens or keys)
.env
.env.*
!.env.example
apps/web/.env
apps/web/.env.*
!apps/web/.env.example
apps/api/.env
apps/api/.env.*
apps/worker/.env
apps/worker/.env.*

# Python
__pycache__/
*.py[cod]
*$py.class
.venv/
venv/
*.egg-info/
.pytest_cache/
.ruff_cache/
.mypy_cache/
dist/
build/
.veypost_live_state.pkl
*.pkl

# Node / Frontend
node_modules/
apps/web/dist/
apps/web/coverage/
*.tsbuildinfo
.vercel/

# OS / IDE
.DS_Store
.idea/
.vscode/
*.swp
*.log

# Local UI review screenshots
/.impeccable/review/
/.impeccable/hook.cache.json
**/.impeccable/review/
**/.impeccable/mocks/
**/.impeccable/hook.cache.json

# Local Supabase CLI state (project-local, never source)
supabase/.temp/
supabase/.branches/

# Deployment stack configuration and runtime credentials
infra/pulumi/Pulumi.*.yaml
infra/environments/*.json
!infra/environments/*.example.json

# Project-local Pulumi state backend selection
infra/state.local.json

# Last migration comparison report (local deployment metadata)
infra/migration-plan.local.json

# Downloaded local benchmark videos (large, not release source)
/test_videos/

# Dedicated support worker credentials
