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 cardinality — one
(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. |
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) |