sagaphone/backend
Tim e5b4f54cd8 Scaffold backend (FastAPI/uv) and frontend (SvelteKit/bun)
Backend: FastAPI app with health check, AppError hierarchy, stderr
logging via LOG_LEVEL, ruff+pyright(strict) config, pytest passing.

Frontend: SvelteKit (TS) with prettier, eslint, vitest (unit +
component), adapter-node for self-hosted deployment on Zeus.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-17 22:12:44 +02:00
..
app Scaffold backend (FastAPI/uv) and frontend (SvelteKit/bun) 2026-07-17 22:12:44 +02:00
tests Scaffold backend (FastAPI/uv) and frontend (SvelteKit/bun) 2026-07-17 22:12:44 +02:00
.python-version Scaffold backend (FastAPI/uv) and frontend (SvelteKit/bun) 2026-07-17 22:12:44 +02:00
pyproject.toml Scaffold backend (FastAPI/uv) and frontend (SvelteKit/bun) 2026-07-17 22:12:44 +02:00
README.md Scaffold backend (FastAPI/uv) and frontend (SvelteKit/bun) 2026-07-17 22:12:44 +02:00
secrets.toml.example Scaffold backend (FastAPI/uv) and frontend (SvelteKit/bun) 2026-07-17 22:12:44 +02:00

sagaphone-backend

FastAPI backend for Sagaphone: generates the family tree, calls the Haiku API for narration, streams Piper TTS audio to the frontend.

Dev

uv sync
uv run uvicorn app.main:app --reload
uv run pytest
uv run ruff check .
uv run pyright

See secrets.toml.example for required config — copy to secrets.toml (git-ignored) and fill in real values.