Files
stanza/apps/web/content/docs/registry.mdx
T
2026-05-22 18:37:24 -04:00

8.7 KiB

title, description
title description
Module registry The roadmap of first-party modules stanza ships — what's available today and what's planned.

Every module fills exactly one category. This page is the canonical roadmap of the first-party modules stanza ships: what's available today, and what's on the way. Self-hosted registries can add their own modules — see the open registry.

Categories

A category has two independent properties: its cardinalityone (single-choice, like framework or auth) or many (coexisting, like testing) — and its home, where a module's output lands (app, repo, or package). See Concepts for the full mental model.

Category Cardinality Home What it covers
framework one app App shell + router (Next, TanStack Start, …)
api one package Typed RPC layer between framework and services
ai one package AI SDK + provider wiring
auth one package Authentication (Better Auth, Clerk, …)
orm one package Schema + query layer (Drizzle, Prisma)
db one package Database driver (Postgres, SQLite)
styling one app CSS toolchain (Tailwind, shadcn, …)
payments one package Checkout + webhooks (Stripe, Polar, …)
tooling one repo Lint/format toolchain
email one package Transactional email (Resend)
testing many app Unit + e2e (Vitest, Playwright)
deploy many repo Deploy targets (Vercel, Cloudflare, …)
monorepo many repo Monorepo task runner (Turborepo)

framework

Single-choice. Provides the app shell, router, and React (or future) runtime.

Module Status Notes
tanstack-start Available TanStack Start on Vite (no Vinxi). Provides web, react, ssr, node.
next Available Next.js 16 (App Router). Provides web, react, ssr, rsc, node, edge.
nuxt Planned Vue. Requires relaxing the React-implicit assumption in peer modules (capability vue).
svelte Planned SvelteKit (capability svelte).
solid Planned SolidStart (capability solid).

api

Single-choice, constraint-bearing. An optional layer between the framework and the database or services, installed as its own workspace package.

Module Status Notes
trpc Planned tRPC v11; per-framework adapters (next, tanstack-start, nuxt, svelte).
orpc Planned oRPC.

ai

Single-choice, constraint-bearing. Installs into its own workspace package.

Module Status Notes
vercel-ai-sdk Planned ai package + provider sub-recipes.
tanstack-ai Planned TanStack AI.

auth

Single-choice, installs into packages/auth/.

Module Status Notes
better-auth Available Headless. Peers on orm (drizzle, prisma) and framework (next, tanstack-start).
clerk Available Hosted UI. Peers on framework (next); TanStack Start adapter planned.
workos Planned WorkOS AuthKit.

orm

Single-choice, shares packages/db/ with the database driver.

Module Status Notes
drizzle Available Drizzle ORM 0.45. Peers on db (postgres, sqlite).
prisma Available Prisma 7. Peers on db (postgres, sqlite).

db

Single-choice, installs into packages/db/.

Module Status Notes
postgres Available postgres driver 3.4.x.
sqlite Available better-sqlite3 12.x.

styling

Single-choice.

Module Status Notes
tailwind Available Vanilla Tailwind v4, adapters per framework.
shadcn-radix Planned Classic shadcn/ui (Radix primitives).
shadcn-base Planned shadcn on react-base-ui.

payments

Single-choice, constraint-bearing. Installs into its own workspace package, plus a Better Auth plugin when auth is selected.

Module Status Notes
stripe Planned Checkout Sessions + webhooks.
polar Planned Polar SDK.
autumn Planned Autumn.
dodo Planned Dodo Payments.

email

Single-choice, installs into its own workspace package.

Module Status Notes
resend Planned Resend SDK + React Email templates.

tooling

Single-choice, repo-scoped. The three toolchains are mutually exclusive substitutes.

Module Status Notes
eslint-prettier Available ESLint flat config + Prettier; per-framework adapters.
biome Available Biome (lint + format), framework-agnostic.
oxlint-oxfmt Available Oxlint + oxfmt, framework-agnostic.

testing

Coexisting, app-scoped. Vitest and Playwright are independent and routinely run side by side.

Module Status Notes
vitest Available Unit + integration; jsdom + RTL; test/test:watch scripts.
playwright Available e2e; per-framework webServer; test:e2e/test:e2e:ui scripts.

deploy

Coexisting, repo-scoped.

Module Status Notes
vercel Planned vercel.json + framework-specific output.
cloudflare Planned Workers / Pages adapter per framework.
railway Planned railway.toml + Dockerfile.
docker Planned Generic Dockerfile + compose for self-host.

monorepo

Coexisting, repo-scoped. Currently hardcoded as Turborepo; becomes a real configurable category when a second option (Nx, Moonrepo) lands.

Module Status Notes
turborepo Available Turbo 2.x (current default; not yet a choice).

Package manager

Not a category — a top-level field in stanza.json (packageManager: "pnpm" | "bun" | "npm"). The wizard prompts for it; codemods only ever touch package.json, never lockfiles.

Manager Status
pnpm Available (default)
bun Available
npm Available
yarn Planned (needs distinct lockfile/workspace handling)