SFabDocs
Architecture

The stack

One opinionated stack, chosen once, so agents never have to.

Types run end to end, from the database through the edge to the UI. They guide the agent toward the right shape, and they make drift loud: most wrong turns fail to compile before a review ever sees them. Guidance plus checks, not a guarantee. We made the decisions a thousand projects re-litigate, so the factory builds on bedrock instead of opinions of the week.

PartRole
TanStack Start + TypeScriptType-safe app frame
Cloudflare Workers + D1Zero-ops edge runtime
DrizzleTyped data
Better AuthTyped identity
shadcn/ui + registryThe interface kit
Agents SDK + ThinkThe built-in brain

Why these

  • TanStack Start + TypeScript: full-stack type safety with server functions, file-based routing, and SSR, all in one frame the agents know deeply.
  • Cloudflare Workers + D1: the whole machine runs on one edge: compute, database, storage. Deploy is a single command, not a project.
  • Drizzle: the schema expressed as types, so a migration that doesn't line up with the code simply doesn't compile.
  • Better Auth: identity expressed as types too, owned by the app instead of rented from a third party, on the same database.
  • shadcn/ui + registry: agents compose interfaces from curated, on-stack blocks instead of generating one-off UI.
  • Agents SDK + Think: every fabricated app ships with a durable, edge-native agent wired into its data. See AI-native apps.

On this page