how it works
One Zod schema in the core package is the single source of truth. The database tables, the HTTP API responses, the MCP tool schemas, and every client parse all derive from it, so a field is declared once and flows everywhere.
Zod schema (core) ── the one source of truth
│
├─▶ Drizzle tables (libSQL local / D1 prod)
├─▶ HTTP API (Hono /api/*)
├─▶ MCP tools (/mcp, Streamable-HTTP)
└─▶ clients (web · CLI · TUI)
detail pages + profiles assemble themselves:
entry.repo README ─▶ cached sections ─▶ detail
builder handle ─▶ cached GitHub signal ─▶ profileReads are fast because anything fetched from GitHub (repo metadata, README sections, profile activity) is cached, not fetched per request.