# Git files
.git
.gitignore
.gitattributes

# Documentation
# README.md is deliberately re-included below: the hatchling build backend reads
# it during the wheel build (pyproject `readme = "README.md"`), so it MUST be in
# the Docker build context or `uv sync --no-editable` fails with
# "Readme file does not exist: README.md". Keep the rest of the docs excluded.
*.md
!README.md
docs/
docsrc/

# Python cache and bytecode
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
.env
.venv/
venv/
ENV/
env/

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# Testing
.pytest_cache/
.coverage
.tox/
htmlcov/
.cache

# CI/CD
.github/
.gitlab-ci.yml
.travis.yml
azure-pipelines.yml

# Docker files (except what's needed)
Dockerfile*
docker-compose*
.dockerignore

# Logs
*.log
logs/

# Temporary files
*.tmp
*.temp
.tmp/

# OS files
Thumbs.db
ehthumbs.db

# Security sensitive files
*.pem
*.key
*.p12
*.pfx
.env.local
.env.production
secrets/
local_dev/*

# Deployment render artifacts — contain real account IDs and base64-encoded
# credentials. Gitignored already, but must also stay out of the Docker
# build context (COPY . /app would otherwise ship them into a build layer).
**/.rendered-manifests/
**/.aws-deploy-state.json
**/.azure-deploy-state.json
**/.azure-agent-state.json
**/.aks-manifest.yaml
**/.gcp-deploy-state.json