Generate a complete, compatibility-checked dev stack in seconds — from your browser or your terminal.
StackForge walks you through a project type, framework, database, ORM, auth provider, and deployment target, validates every combination against a real compatibility engine, and hands you exact setup commands. No broken pairings, no guessed flags, no outdated syntax.
- Pick a project type — SaaS app, AI app, dashboard, blog, API, and more.
- Choose your stack — framework, language, package manager, styling, UI library, database, ORM, auth provider, deployment target, and optional dev tools.
- Get validated commands — every combination is checked against a compatibility matrix before anything is generated (e.g. it will flag shadcn/ui + SvelteKit, or an ORM with no database selected, before you ever run a command).
- Copy them, or run them — the website always shows commands to copy. The CLI can either print them the same way, or run them for you after a single confirmation.
The web app and the CLI share the exact same engine — @stackforge/core — so there is zero
drift between what you see in the browser and what runs in your terminal.
# In the browser
open https://stackforge-neon.vercel.app/generate
# In the terminal
npx @boredooms/stackforge-cli create my-appThis is an npm-workspaces monorepo with three packages:
stackforge/
├── website/ Next.js 16 + React 19 web app (the live demo)
├── cli/ @boredooms/stackforge-cli — published npm package
└── packages/
└── core/ @stackforge/core — shared engine, schemas, rules, templates
| Package | What it is | Where it lives |
|---|---|---|
@stackforge/website |
The Next.js app served at stackforge-neon.vercel.app | website/ |
@boredooms/stackforge-cli |
The terminal CLI, published to npm | cli/ — full CLI docs |
@stackforge/core |
Private shared package: Zod schemas, compatibility rules, command builder, template registry. Consumed by both surfaces above, never duplicated. | packages/core/ |
Nothing about stack resolution, command generation, or compatibility checking is implemented
twice. If a rule changes in packages/core, both the website and the CLI pick it up.
Requires Node.js 18+.
git clone https://github.com/Boredooms/Stackforge.git
cd Stackforge
npm install# Run the website locally at http://localhost:3000
npm run dev
# Run the full test suite (core engine + website)
npm run test
# Production build (typechecks + builds the website)
npm run build
# Build the CLI bundle
npm run cli:buildEach workspace can also be run directly:
npm run dev --workspace=website
npm run test --workspace=packages/core
npm run build --workspace=clinpm install -g @boredooms/stackforge-cli
stackforge create my-appBy default, create only previews commands — nothing touches your filesystem. Add
--execute to have StackForge run the generated commands after a confirmation prompt, with
execution stopping immediately on the first failure and refusing incompatible stacks unless you
pass --force. It also supports --template <id> to skip the wizard and load a built-in
starter, and --dry-run / --timeout for scripted or CI use.
# Preview only (safe default)
stackforge create my-app
# Generate, confirm, then run it
stackforge create my-app --execute
# Fully non-interactive, for scripts or CI
stackforge create my-app -t saas-next-supabase --execute --no-confirmSee cli/README.md for the full command reference, every flag, the execution safety model, and example sessions.
- Frameworks: Next.js, Astro, SvelteKit, Remix, Nuxt, Hono, Express, NestJS, Fastify, React + Vite
- Databases: Supabase, Convex, PostgreSQL, Neon, Turso, MongoDB, Firebase, MySQL, SQLite
- ORMs: Prisma, Drizzle, Mongoose, Kysely
- Auth: Better Auth, Clerk, Auth.js, Supabase Auth, Firebase Auth, Auth0
- UI libraries: shadcn/ui, Radix UI, NextUI, Mantine, Chakra UI, Ant Design
- Deployment: Vercel, Netlify, Cloudflare, Railway, Fly.io, Render
- Package managers: npm, pnpm, bun, yarn (every command is translated per manager)
Incompatible combinations are flagged with a reason and a suggested fix before any output is
generated — see packages/core/src/rules/compatibility-matrix.ts.
| Layer | Stack |
|---|---|
| Website | Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4, Framer Motion, Zustand, Zod |
| CLI | Commander, @clack/prompts, picocolors, esbuild |
| Shared core | TypeScript, Zod — zero framework dependencies, consumable from any Node runtime |
| Testing | Vitest |
| Deployment | Vercel (website), npm registry (CLI) |
Issues and PRs are welcome. Before opening a PR:
npm run test # core engine + website tests
npm run lint # website lint
npm run build # confirm the production build still passesIf you're changing anything in packages/core, check both website/ and cli/ for
consumers — nothing there should ever be duplicated locally.