create-fast-stack
v0.3.5
Published
Scaffold a full-stack TypeScript monorepo
Maintainers
Readme
create-fast-stack
Fast, opinionated monorepo scaffolding with a terminal UI. Generates a full-stack TypeScript workspace with real wiring between frontend, API, DB, and tooling, so you can ship features immediately.
Why This
- One command to boot a full-stack repo with sane defaults.
- Real wiring: shared env, API base, DB client, and generated starter pages.
- Modular prompts: routers, UI kits, auth, docs, tools, and integrations.
- Works with Bun, npm, pnpm, and Yarn.
Quick Start
npx create-fast-stack@latest my-app
cd my-app
npm run devCreate Commands
bunx create-fast-stack@latest my-app
pnpm create fast-stack@latest my-app
npm create fast-stack@latest my-app
yarn create fast-stack@latest my-appOr install globally:
npm i -g create-fast-stack
create-fast-stack my-appWhat You Can Generate
Frontends
- Next.js (App Router or client routers)
- TanStack Start
- React + Vite
- Astro
- Solid + Vite
- Vue + Vite
- SvelteKit
- Nuxt
- Preact + Vite
Backends
- Hono, Express, Fastify, Koa, Hapi, NestJS
API styles
- REST, RPC, tRPC
Databases & ORM
- Postgres, MySQL, SQLite
- Drizzle, Prisma, Kysely
Docs
- Fumadocs, Nextra, Docusaurus, Starlight
Auth
- Better Auth, Clerk
UI kits
- shadcn/ui, DaisyUI, Chakra, Mantine, Ant Design, Kobalte, Hope UI, Flowbite, FarmUI
Tools
- ESLint, Prettier, Biome, Tailwind CSS, Vitest, Docker Compose, GitHub Actions, Husky
Integrations
- CodeRabbit, Convex, Sentry, Upstash, Resend, Inngest
Router Options
Router prompts appear for frameworks where routing is configurable.
Next.js
- App Router
- React Router, TanStack Router, Wouter, Router5, Universal Router
React + Vite
- React Router, TanStack Router, Wouter, Router5, Universal Router, or none
Vue + Vite
- Vue Router or none
Solid + Vite
- Solid Router or none
Preact + Vite
- Preact Router, Wouter (Preact), or none
TanStack Start
- Uses TanStack Router file-based routing
Generated Repo Layout
apps/
web/ # frontend
api/ # backend
docs/ # optional docs app
packages/
config/ # shared tsconfig
db/ # optional DB clientRun The Generated Project
cd my-app
<pm> install
<pm> run devDocker + DB Init
If you choose Postgres/MySQL + Docker, the repo includes scripts/init.mjs:
<pm> run initIt will:
- Start Docker Compose
- Pick a free DB port if the default is taken
- Run DB migrations
AI Skills Helper
When enabled, the repo includes AI_SKILLS.md and a helper script to add skills quickly:
node ./scripts/add-skills.mjsNon‑Interactive Mode (CI)
node ./bin/create-fast-stack.mjs my-app \
--yes \
--frontend=next \
--router=next-app \
--backend=hono \
--apiStyle=trpc \
--docs=fumadocs \
--database=postgres \
--orm=drizzle \
--auth=better-auth \
--ui=shadcn \
--tools=eslint,prettier,vitest,docker \
--integrations=coderabbit,convex,sentryTest Matrix
Lightweight generation coverage:
npm run test:stacksFull stack coverage (big):
npm run test:allFull cartesian coverage (very big):
npm run test:all:cartesianTroubleshooting
pnpm warning about workspaces
- The generator writes
pnpm-workspace.yamlautomatically when pnpm is selected.
Ports in use
- The init script asks to increment DB ports automatically.
License
MIT
