Goal
Deploy Lions (frontend + backend) to lions.codes for public access.
Architecture Reference
Per docs/architecture/05-system-architecture.md:
Lions is two independently deployable components connected by a JSON interface contract.
- Component 1: Annotation Pipeline — Python / FastAPI (REST API + CLI for batch processing)
- Component 2: Web Application — Next.js + React + TypeScript
- Interface: JSON annotation schema (per-file annotations, reading guides, repo analysis)
- Storage: SQLite (WAL mode) for annotations + repo analysis
- Future: Modal for sandbox execution (not deployed yet)
Tech stack from the doc:
| Component |
Technology |
| Annotation Pipeline |
Python, FastAPI, tree-sitter, Anthropic SDK |
| Web Application |
Next.js 16, React 19, TypeScript, Tailwind 4, Shiki |
| LLM |
Claude (Sonnet for annotation, Haiku for summarization) |
| Storage |
SQLite + JSON |
Current State
Deployment Plan
Recommended: Vercel (frontend) + Fly.io (backend)
Why this split:
- Aligns with the "two independently deployable components" architecture
- Vercel: zero-config Next.js, edge CDN, automatic SSL, custom domain
- Fly.io: persistent SQLite volume, good for long-running Python processes, auto-deploy
Tasks
Infrastructure
Backend Deployment (Fly.io)
Frontend Deployment (Vercel)
DNS & TLS
CI/CD
Data
Post-deploy Smoke Test
Related PRs
Goal
Deploy Lions (frontend + backend) to
lions.codesfor public access.Architecture Reference
Per docs/architecture/05-system-architecture.md:
Tech stack from the doc:
Current State
localhost:3000+localhost:8000)lions-api.fly.dev)lions-codes.vercel.app)lions.codespurchased from Namecheap, nameservers pointed to VercelDeployment Plan
Recommended: Vercel (frontend) + Fly.io (backend)
Why this split:
Tasks
Infrastructure
backend/Dockerfile(Python 3.13 + uv + FastAPI)frontend/Dockerfile(Node + pnpm + Next.js standalone build)docker-compose.ymlfor local production testing.env.exampledocumenting required env varsdocs/dev/deployment.md/annotate-repo,/update-databaseBackend Deployment (Fly.io)
fly.tomlfor backend/data/lions.db)DB_PATHto use env var or/data/lions.dbin productionANTHROPIC_API_KEYandGITHUB_TOKENas Fly secretsGET /api/health)*tohttps://lions.codesFrontend Deployment (Vercel)
BACKEND_URLenv var pointing to Fly backendlions.codes(nameservers configured via Namecheap)frontendDNS & TLS
lions.codes→ Vercel (frontend) via nameserversapi.lions.codes→ Fly.io (backend) — currently usinglions-api.fly.devdirectlyCI/CD
mastermaster(built-in)Data
lions.dbto Fly volume (initial seed)Post-deploy Smoke Test
https://lions-api.fly.dev/api/repos— Returns 3 repos with summaries and guideshttps://lions.codes/— Library page shows repo cardshttps://lions.codes/repo/...— Repo Landing with chaptershttps://lions.codes/guide/...— Guide View with prose + code snippetshttps://lions.codes/view?...— Code View with file tree + sidebar tabs/api/sourcefallbackRelated PRs