# Python
__pycache__/
*.pyc
*.egg-info/
dist/
.venv/

# Build artifacts
node_modules/

# Frontend build output (vite emits into public/ with emptyOutDir=true;
# CI rebuilds on deploy via `just fe-build`). Anchored to repo root — an
# unanchored `public/` also matches frontend/src/apps/public/, which broke
# Cloud Build's source upload (gcloud reuses .gitignore for gcloudignore).
/public/

# Secrets
.env
.dev.vars
*.pem
admin-auth.json
deploy/k8s/secret.yaml

# Native runtime local state (git checkout cache)
data/

# uv (lock file is tracked — don't ignore it)

# Testing
.pytest_cache/
.hypothesis/
.coverage
htmlcov/
frontend/test-results/
frontend/playwright/.cache/
playwright-report/
*.trace
*.har
*.webm

# IDE / tools
.cache/
.ruff_cache/
.mypy_cache/
.claude/worktrees/
.playwright-cli/
.playwright/
.codex/
.serena/

# Misc
error.log
*.png
PR Rocket.zip
.vite/
