# Environment
.env
.env.local
.env.*.local
!.env.example

# Build artifacts
/bin/
/dist/
*.exe
*.dll
*.so
*.dylib

# Go
/apps/backend/bin/
*.test
*.out
/apps/backend/coverage.txt
/apps/backend/tmp/
/apps/backend/.air/
vendor/

# Node / SvelteKit
node_modules/
.svelte-kit/
/apps/web/build/
/apps/web/.vercel/
/packages/**/dist/
/packages/**/node_modules/
.pnpm-store/
.turbo/

# Synced from apps/backend/openapi.yaml at build time by `pnpm sync:openapi`
/apps/web/static/openapi.yaml

# Python
__pycache__/
*.pyc
*.pyo
/packages/sdk-python/build/
/packages/sdk-python/*.egg-info/
.venv/
.mypy_cache/
.ruff_cache/
.pytest_cache/

# PHP
/packages/sdk-php/vendor/
/packages/sdk-php/composer.lock

# Editors / OS
.DS_Store
.idea/
.vscode/*
!.vscode/extensions.json
!.vscode/settings.example.json
*.swp
*~

# Secrets / data
/data/
*.pem
*.key
*.crt

# Logs
*.log
logs/

# Playwright MCP run artifacts
.playwright-mcp/

# SDK build artifacts
/packages/sdk-node/dist/
/packages/sdk-node/node_modules/
/packages/sdk-python/.venv/
/packages/sdk-python/dist/
/packages/sdk-python/*.egg-info/
/packages/sdk-python/.pytest_cache/
/packages/sdk-php/vendor/
/packages/sdk-php/composer.lock
/packages/sdk-php/.phpunit.cache/

# Terraform
*.tfstate
*.tfstate.*
.terraform/
.terraform.lock.hcl

# sqlc generated files are committed (they're source of truth for typed queries)
# but allow local generation cache
.sqlc-cache/
*.png

# husky internal shim (regenerated per-install)
.husky/_/
