Presets are the supported starting points in the CLI registry (packages/registry). The website, CLI menu, and /families page all read from the same data—if this table disagrees with your local CLI, update the registry, not the marketing copy.
| Preset | Status | Shape | Good for |
|---|---|---|---|
typescript-fullstack TypeScript Fullstack | Stable | Next.js web + Express API + tRPC + Better Auth + Prisma | Default fullstack starting point |
next-app Next.js App | Stable | Standalone Next.js App Router with env validation and boundaries | Frontend-only apps without a bundled backend |
rust-api Rust API | Stable | Cargo workspace with service and worker slots | Engine services, background work, and future polyglot scale |
rust-fullstack Rust Fullstack | Stable | Next.js web + Axum API + shared deployment docs | Teams that want Rust on the API with a typed web client |
convex-product Convex + Next.js | Stable | Next.js + Convex functions + Better Auth stubs | Realtime apps, serverless backend, no Prisma/Neon ops |
solana-program Solana Program | Stable | Anchor program + generated client boundaries | On-chain program work with explicit client contracts |
solana-web Solana Web dApp | Stable | Next.js dApp + program + wallet adapter direction | Web3 apps with web wallet flows |
solana-mobile Solana Mobile dApp | Stable | Expo mobile + program + mobile wallet boundary | Mobile-first Solana products |
solana-product Solana Product | Stable | Web + mobile + program + shared Solana config | Full product surface across web, mobile, and chain |
tui-app Terminal UI App | Stable | OpenTUI renderer + React terminal UI starter | Interactive CLI tools and terminal dashboards |
tanstack-start TanStack Start | Stable | TanStack Start + Vite + Nitro server with file routes | Full-stack React apps without Next.js |
customize Customize | Requires validation | Capability picker with validation gates | Teams that need a bespoke mix of bundles and backends |
experiments Experiments | Experimental | Experimental routes only | Trying unstable generators with clear expectations |
Example: bun run dev:cli -- my-app --preset=typescript-fullstack --yes
Scaffold commands
# TypeScript monorepo (Next + Express + tRPC + Better Auth + Prisma)
bun run dev:cli -- my-app --yes --preset=typescript-fullstack
# Rust API (Axum, Cargo workspace)
bun run dev:cli -- my-api --yes --preset=rust-api
# Next.js + Axum API
bun run dev:cli -- my-product --yes --preset=rust-fullstack
# Convex + Next.js product shape
bun run dev:cli -- my-app --yes --preset=convex-product
# Solana routes
bun run dev:cli -- my-program --yes --preset=solana-program
bun run dev:cli -- my-dapp --yes --preset=solana-web
bun run dev:cli -- my-mobile --yes --preset=solana-mobile
bun run dev:cli -- my-product --yes --preset=solana-productCustomize and experiments
| Preset | Role |
|---|---|
customize | Pick capabilities; registry validates compatibility before generate |
experiments | Explicit opt-in for unstable generators—read prompts carefully |
Verification evidence
Labels describe marketing/CLI honesty, not your laptop’s last run. The matrix below is what must turn green before a preset becomes Stable:
Evidence recorded in the CLI registry. Columns with no check for a preset show —. A preset becomes Stable when presetHasStableEvidencepasses for that preset's route. See verification guide.
| Preset | Structure | Bun | pnpm | Install | Lint | Typecheck | Build | Docs | Agent context | Rust | Solana | Convex | TUI | Runtime smoke |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
typescript-fullstack Stable | yes | yes | yes | yes | yes | yes | yes | yes | yes | — | — | — | — | — |
next-app Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | — | — | — | — | yes |
rust-api Stable | yes | yes | — | — | — | — | — | yes | yes | yes | — | — | — | — |
rust-fullstack Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | yes | — | — | — | — |
convex-product Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | — | — | yes | — | — |
solana-program Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | — | yes | — | — | — |
solana-web Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | — | yes | — | — | — |
solana-mobile Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | — | yes | — | — | — |
solana-product Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | — | yes | — | — | — |
tui-app Stable | yes | yes | — | yes | — | yes | yes | yes | yes | — | — | — | yes | — |
tanstack-start Stable | yes | yes | — | yes | yes | yes | yes | yes | yes | — | — | — | — | yes |
customize Requires validation | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
experiments Experimental | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
Maintainers: run bun run verify:generated from the template repo for curated harness checks.
Walkthroughs by preset
| Preset family | Guide |
|---|---|
typescript-fullstack | Walkthrough |
convex-product | Convex walkthrough |
rust-api, rust-fullstack | Rust walkthrough |
solana-* | Solana walkthrough |
customize, experiments | Customize walkthrough |