Add a Docker-based FastAPI proxy skeleton (charter §4) for parity across dev / homelab VPS / fly.io, plus root .gitignore for Godot 4.7 and Python. - api/Dockerfile: python:3.12-slim, non-root, PORT-aware CMD - api/app/main.py: /health + five role endpoint stubs (§4) - api/requirements.txt: fastapi/uvicorn/httpx/pydantic, pinned - docker-compose.yml: local dev with live reload - api/fly.toml: prod deploy stub with /health check - api/.env.example: key lives in the proxy, never the client (§4) - .gitignore: ignores .env, whitelists .env.example Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
59 lines
2.1 KiB
Plaintext
59 lines
2.1 KiB
Plaintext
# ─────────────────────────────────────────────
|
|
# Godot 4.7 (client/)
|
|
# ─────────────────────────────────────────────
|
|
# Editor + import cache (4.x replaced .import/ with .godot/)
|
|
.godot/
|
|
# Exported builds
|
|
/client/build/
|
|
export.cfg
|
|
# export_presets.cfg holds keystore paths / signing config — keep secrets out of history
|
|
export_presets.cfg
|
|
# Mono/C# (only if we drop to C# per charter §16)
|
|
.mono/
|
|
data_*/
|
|
*.mono/
|
|
|
|
# ─────────────────────────────────────────────
|
|
# Python / FastAPI (api/)
|
|
# ─────────────────────────────────────────────
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.egg-info/
|
|
.eggs/
|
|
build/
|
|
dist/
|
|
# Virtual envs
|
|
.venv/
|
|
venv/
|
|
env/
|
|
ENV/
|
|
# Tooling caches
|
|
.pytest_cache/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
.coverage
|
|
htmlcov/
|
|
.tox/
|
|
|
|
# ─────────────────────────────────────────────
|
|
# Secrets — the API key lives here in dev, NEVER in the client (charter §4)
|
|
# ─────────────────────────────────────────────
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# ─────────────────────────────────────────────
|
|
# Editors / OS
|
|
# ─────────────────────────────────────────────
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ─────────────────────────────────────────────
|
|
# Logs (charter §4/§10 logs go to a store, not the repo)
|
|
# ─────────────────────────────────────────────
|
|
*.log
|