A powerful CLI tool for scaffolding production-ready JavaScript full-stack projects with best practices built-in.
# Interactive setup (recommended)
npx @vipinyadav02/createjsstack@latest my-app
# Quick start with defaults
npx @vipinyadav02/createjsstack@latest my-app --yes
# Start from a preset
npx @vipinyadav02/createjsstack@latest my-app --preset mern --yes
# Custom stack
npx @vipinyadav02/createjsstack@latest my-app \
--frontend react \
--backend express \
--database mongodb \
--orm mongoose \
--package-manager pnpm \
--git \
--installcreatejsstack builds your project by layering templates on top of each other,
one per choice you make:
base → frontend → backend → database/orm → auth → api → addons → examples
Each layer contributes its own files. For package.json, the layers are deep-merged
(not overwritten), so the dependencies and scripts from every layer are combined into a
single coherent file. Your project always gets a base (package.json, README.md,
.gitignore, LICENSE) plus everything your selected stack needs.
You can configure the stack in three ways, and they compose left-to-right (later wins):
- Presets — a named bundle of choices (
--preset mern) - Individual flags — override any single choice (
--database postgres) - Interactive prompts — run with no flags for a guided setup
# Preset as a base, then override just the database + orm
npx @vipinyadav02/createjsstack@latest my-app --preset mern --database postgres --orm prisma --yes| Preset | Frontend | Backend | Database | ORM |
|---|---|---|---|---|
mern |
react | express | mongodb | mongoose |
next-fullstack |
next | next | postgres | prisma |
react-vite |
react | — | — | — |
express-api |
— | express | postgres | prisma |
# List all presets
npx @vipinyadav02/createjsstack@latest listFrontend: react, next, vue, nuxt, svelte, sveltekit, solid, qwik, astro, angular, remix, react-router, tanstack-router, tanstack-start, native-nativewind, native-unistyles
Backend: express, hono, fastify, nest, koa, elysia, next, convex
Databases: mongodb, postgres, mysql, sqlite
ORMs: prisma, drizzle, mongoose, typeorm, mikro-orm
Auth: better-auth, clerk, next-auth, lucia
API: trpc, orpc, graphql, rest
Addons: docker, biome, turborepo, pwa, tauri, vitest, playwright, cypress
Package Managers: npm, pnpm, bun
npx @vipinyadav02/createjsstack@latest my-app --preset mern --yesnpx @vipinyadav02/createjsstack@latest my-app \
--frontend next \
--backend next \
--database postgres \
--orm prisma \
--auth better-auth \
--package-manager pnpmnpx @vipinyadav02/createjsstack@latest my-api \
--frontend none \
--backend nest \
--database postgres \
--orm typeorm \
--addons docker| Option | Description | Values |
|---|---|---|
--preset |
Start from a preset | mern, next-fullstack, react-vite, express-api |
--frontend |
Frontend framework | react, next, vue, nuxt, svelte, angular, solid, astro, … none |
--backend |
Backend framework | express, hono, fastify, nest, koa, elysia, next, convex, none |
--database |
Database system | mongodb, postgres, mysql, sqlite, none |
--orm |
ORM/ODM | prisma, drizzle, mongoose, typeorm, mikro-orm, none |
--auth |
Authentication | better-auth, clerk, next-auth, lucia, none |
--api |
API style | trpc, orpc, graphql, rest, none |
--runtime |
Runtime environment | node, bun, deno, workers |
--addons |
Additional tools (CSV) | docker, biome, turborepo, pwa, tauri, vitest, playwright |
--package-manager |
Package manager | npm, pnpm, bun |
--git / --no-git |
Initialize git repository | Flag |
--install / --no-install |
Install dependencies | Flag |
--yes |
Use defaults (skip prompts) | Flag |
Note: Project name is always customizable, even with
--yesflag. Runnpx @vipinyadav02/createjsstack@latest create --helpfor the full option list.
Visit createjsstack.dev/new to use our interactive stack builder and generate commands visually.
- Getting Started: createjsstack.dev/docs/getting-started
- Presets: createjsstack.dev/docs/presets
- CLI Options: createjsstack.dev/docs/cli-options
- How It Works: createjsstack.dev/docs/how-it-works
# Clone repository
git clone https://github.com/vipinyadav01/js-stack.git
cd js-stack
# Install dependencies
npm install
# Build CLI
npm run build:cli
# Link for local testing
npm link
# Test locally
createjsstack create test-project --preset mern --yesContributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see the LICENSE file for details.
- Website: createjsstack.dev
- Documentation: createjsstack.dev/docs
- GitHub: github.com/vipinyadav01/js-stack
- NPM: npmjs.com/package/@vipinyadav02/createjsstack
Built with ❤️ by Vipin Yadav