# .gitignore for a project using:
# - Python (uvicorn backend)
# - frontend HTML/JS (Node tooling possible)
# - Docker

# --------------------
# Python
# --------------------
__pycache__/
*.py[cod]
*$py.class
*.pyo
*.pyd
*.so

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

# Packaging / distribution
build/
dist/
*.egg-info/
.eggs/
pip-wheel-metadata/
wheels/
*.egg

# Testing / coverage / type checkers
.pytest_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
.tox/
.mypy_cache/
.dmypy.json
.pyre/

# PyInstaller
*.spec

# Logs and runtime files
*.log
logs/
gunicorn*.log
uvicorn*.log
celerybeat-schedule
celerybeat.pid
*.pid

# Environment / secrets
.env
.env.*.local
.env.local
.env.docker
.envrc
secrets/
credentials/
*.pem
*.key
*.crt

# Databases
*.sqlite3
*.db
*.sql

# --------------------
# Frontend / Node (if used)
# --------------------
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnp/
.pnp.js
.cache/
dist/
build/
.vite/
.next/
/out/
.sass-cache/
*.tsbuildinfo

# --------------------
# Docker
# --------------------
# keep Dockerfile and docker-compose.yml; ignore local overrides and env files
docker-compose.override.yml
docker-compose.*.local.yml
.docker/
.dockerenv

# --------------------
# IDEs, editors, OS
# --------------------
.vscode/
.idea/
*.sublime-workspace
*.sublime-project
*.code-workspace
.DS_Store
Thumbs.db
desktop.ini

# Editor temporary / swap files
*~
*.swp
*.swo

# Jupyter
.ipynb_checkpoints/

# Misc
coverage/
htmlcov/
*.log

# ignore local instruction files
.github/instructions/*.instructions.md
.junie/

# End of .gitignore
