# Secrets — must NEVER be baked into the image (injected at runtime instead).
# .env exists in the repo; config.py reads it if present.
.env
.env.*
docs/engine-credentials.local.md

# Runtime data / state — belongs on a volume, not in the image.
# storage/git = bare repos (config.py), storage/blobs = release uploads (releases.py)
storage/
logs/
*.db
*.sqlite
*.sqlite3
*.log

# Version control
.git
.gitignore

# Python caches / virtualenvs (rebuilt/irrelevant in the image)
venv/
.venv/
env/
__pycache__/
*.py[cod]
*.pyo
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Local tooling / editor
.idea/
.vscode/
.DS_Store
Thumbs.db

# Throwaway migration backup created during prod-readiness work
_migration_backup/

# Tests are not needed in the production image (pytest.ini, tests/)
tests/
pytest.ini

# Docker build context self-reference (not needed inside the image)
Dockerfile
docker-compose.yml
.dockerignore
