# Python
__pycache__/
*.py[cod]
*$py.class
.venv/
.venv-docs/
venv/
.eggs/
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Rust
target/
**/*.rs.bk
Cargo.lock

# IDE
.idea/
.vscode/
*.swp
*.swo
*~

# Environment
.env
.env.local
.env.*.local

# OS
.DS_Store
Thumbs.db

# Local development
*.log
tmp/

# Storage (filesystem mode)
/storage/

# Coverage reports
htmlcov/
.coverage
coverage.xml

# UV lock file is committed, but generated
# uv.lock

# TypeScript apps (monorepo)
node_modules/
apps/*/node_modules/
apps/*/dist/
apps/*/.env.local

# Shared packages
packages/*/node_modules/
packages/keycloak-theme/dist_keycloak/

# SDKs
sdks/node/dist/

# Keycloak theme JAR (built during CI/CD, not committed)
docker/keycloak/*.jar

# OpenAPI spec (generated)
openapi.json
openapi.public.json
settings.local.json

# Public docs build output
public-docs/site/
# Public OpenAPI spec copy (generated by docs-api-spec for MkDocs)
public-docs/docs/api/openapi.public.json

# Iron Bank requirements (generated from uv.lock)
requirements.txt
