# Python
__pycache__/
*.py[cod]
*.so
.coverage
.mypy_cache/
.pytest_cache/
.ruff_cache/
.venv/
packages/cli/uv.lock

# Environment
.env
.env.local
.env.gcp
hermes-tenants/

# Secrets
*.pem
*.key
*.p12
*.pfx
.jks
service-account.json
.clerk/

# Docker
*.log
docker-data/

# IDE
.idea/
.vscode/

# Build
build/
dist/
*.egg-info/
node_modules/

# Fern-generated SDK code IS committed (self-contained repo, like openai-python /
# anthropic-sdk-python). Regenerate with fern/regenerate.sh; CI verifies it's
# up-to-date against the OpenAPI spec. The exploratory sibling output dirs are not used.
packages/sdk-python-generated/
packages/sdk-typescript-generated/

.next/
dashboard/.vercel/
dashboard/lib/generated/
coverage/
playwright-report/
test-results/
*.tsbuildinfo
artifacts/
dashboard/artifacts/

# Kubernetes secrets
k8s/secrets/*
!k8s/secrets/.gitkeep

# OS
.DS_Store
.vercel
