CLI Commands
Comprehensive reference for the JS-Stack CLI commands and options.
Create Command
Create a new project:
npx create-js-stack@latest <project-name> [options]Or explicitly:
npx create-js-stack@latest create <project-name> [options]Options
Frontend
--frontend <framework1,framework2,...>Available options:
tanstack-router- TanStack Router (React)react-router- React Routertanstack-start- TanStack Start (full-stack)next- Next.js (full-stack, includes API routes)nuxt- Nuxt 3 (full-stack, includes server routes)sveltekit- SvelteKit (full-stack)remix- Remix (full-stack)astro- Astro (content-focused)vue- Vue.js 3angular- Angular 17+qwik- Qwik (resumable framework)native-nativewind- React Native with NativeWindnative-unistyles- React Native with Unistylessvelte- Svelte 5solid- SolidJSnone- No frontend (API-only)
Multiple Frontends: You can select multiple frontends (comma-separated) for monorepo setups:
npx create-js-stack@latest my-app --frontend react-router,vueExamples:
# Single frontend
npx create-js-stack@latest my-app --frontend next
# Multiple frontends (monorepo)
npx create-js-stack@latest my-app --frontend react-router,vue
# Next.js (full-stack, no separate backend needed)
npx create-js-stack@latest my-app --frontend next --backend noneImportant Notes:
- Next.js, Nuxt, SvelteKit, Remix, and TanStack Start are full-stack frameworks - they include API routes
- React Native requires a backend (cannot be "none")
- Multiple frontends work best with Turborepo addon
Backend
--backend <framework>Available options:
hono- Hono (ultra-fast, edge-ready)express- Express.js (most popular)fastify- Fastify (high performance)nest- NestJS (enterprise-ready)koa- Koa.js (modern async/await)next- Next.js API routes (use with--frontend next)elysia- Elysia (Bun-first framework)convex- Convex (backend-as-a-service)none- No backend (frontend-only or full-stack framework)
Examples:
# Express backend
npx create-js-stack@latest my-app --backend express
# Hono (ultra-fast, edge-ready)
npx create-js-stack@latest my-app --backend hono
# NestJS (enterprise)
npx create-js-stack@latest my-app --backend nest
# No backend (for Next.js/Nuxt or frontend-only)
npx create-js-stack@latest my-app --backend noneImportant Notes:
- Use
nonewith Next.js, Nuxt, SvelteKit, Remix, or TanStack Start (they have built-in API routes) - React Native requires a backend (cannot be "none")
- Hono and Elysia are optimized for edge runtimes
Runtime
--runtime <runtime>Available options:
node- Node.js (default)bun- Bun runtimedeno- Deno runtimeworkers- Cloudflare Workersnone- No specific runtime
Examples:
# Node.js (default)
npx create-js-stack@latest my-app --runtime node
# Bun runtime
npx create-js-stack@latest my-app --runtime bun --backend elysia
# Cloudflare Workers
npx create-js-stack@latest my-app --runtime workers --backend honoDatabase
--database <database>Available options:
postgres- PostgreSQL (recommended for production)mysql- MySQLsqlite- SQLite (great for development)mongodb- MongoDB (NoSQL)none- No database
Examples:
# PostgreSQL (production)
npx create-js-stack@latest my-app --database postgres
# SQLite (development/prototyping)
npx create-js-stack@latest my-app --database sqlite
# MongoDB (NoSQL)
npx create-js-stack@latest my-app --database mongodbImportant Notes:
- PostgreSQL and MySQL require a running database server
- SQLite is file-based (no server needed) - perfect for development
- MongoDB works with Mongoose or Prisma ORM
ORM
--orm <orm>Available options:
drizzle- Drizzle ORM (lightweight, type-safe)prisma- Prisma (recommended, JavaScript)mongoose- Mongoose (MongoDB only)typeorm- TypeORM (JavaScript-first, decorators)mikro-orm- MikroORM (feature-rich)none- No ORM (raw queries)
Examples:
# Prisma (modern, JavaScript)
npx create-js-stack@latest my-app --orm prisma
# Drizzle (lightweight, type-safe)
npx create-js-stack@latest my-app --orm drizzle
# TypeORM (works great with NestJS)
npx create-js-stack@latest my-app --orm typeorm
# Mongoose (for MongoDB)
npx create-js-stack@latest my-app --orm mongoose --database mongodbCompatibility:
- MongoDB: Mongoose or Prisma
- PostgreSQL/MySQL/SQLite: Drizzle, Prisma, TypeORM, or MikroORM
- The CLI automatically validates ORM compatibility with database selection
API
--api <style>Available options:
trpc- tRPC (end-to-end typesafe APIs)orpc- ORPC (lightweight RPC)graphql- GraphQLrest- REST API (default)none- No API layer
Examples:
# tRPC (type-safe)
npx create-js-stack@latest my-app --api trpc
# ORPC (lightweight)
npx create-js-stack@latest my-app --api orpc
# GraphQL
npx create-js-stack@latest my-app --api graphql
# REST (default)
npx create-js-stack@latest my-app --api restAuthentication
--auth <method>Available options:
better-auth- Better Auth (modern, Next.js optimized)clerk- Clerk (third-party service, enterprise)next-auth- NextAuth.js (Next.js)lucia- Lucia (lightweight, framework-agnostic)kinde- Kinde (authentication platform)none- No authentication
Examples:
# Better Auth (Next.js recommended)
npx create-js-stack@latest my-app --auth better-auth
# Clerk (enterprise)
npx create-js-stack@latest my-app --auth clerk
# Lucia (lightweight)
npx create-js-stack@latest my-app --auth lucia
# NextAuth.js (Next.js)
npx create-js-stack@latest my-app --auth next-authCompatibility Notes:
- Next.js: Better Auth, NextAuth.js, Clerk, Lucia, Kinde
- Other frameworks: Better Auth, Clerk, Lucia, Kinde
- Better Auth works with all frameworks
Package Manager
--package-manager <manager>Available options:
npm(default)pnpmbun
Example:
npx create-js-stack@latest my-app --package-manager pnpmAddons
--addons <addon1,addon2,...>Available options:
docker- Docker configuration (Dockerfile + docker-compose.yml)testing- Testing setup (Vitest/Jest + Testing Library)biome- Biome linter & formatter (fast alternative to ESLint+Prettier)turborepo- Turborepo monorepo setup (for multi-package projects)pwa- Progressive Web App configurationtauri- Tauri desktop app supporthusky- Git hooks with Huskyvitest- Vitest test runnerplaywright- Playwright end-to-end testingcypress- Cypress end-to-end testingstorybook- Storybook component developmentchangesets- Changesets for version management
Examples:
# Single addon
npx create-js-stack@latest my-app --addons docker
# Multiple addons
npx create-js-stack@latest my-app --addons docker,testing,biome
# Monorepo setup
npx create-js-stack@latest my-app --addons turborepo,testing
# PWA support
npx create-js-stack@latest my-app --addons pwaRecommendations:
- Always include
testingfor production apps - Use
biomefor faster linting/formatting - Use
dockerfor containerized deployments - Use
turborepofor monorepos or multiple frontends
Examples
--examples <example1,example2,...>Available options:
todo- Todo list exampleai- AI integration exampledashboard- Dashboard exampleauth- Authentication exampleapi- API examplenone- No examples
Example:
npx create-js-stack@latest my-app --examples todo,authDatabase Setup
--db-setup <setup>Available options:
turso- Turso (SQLite-compatible edge database)neon- Neon (serverless PostgreSQL)docker-compose- Docker Compose database setupsupabase- Supabase setupnone- No database setup
Example:
npx create-js-stack@latest my-app --db-setup neonWeb Deployment
--web-deploy <platform>Available options:
cloudflare-pages- Cloudflare Pagesalchemy- Alchemy deploymentnone- No web deployment config
Example:
npx create-js-stack@latest my-app --web-deploy cloudflare-pagesServer Deployment
--server-deploy <platform>Available options:
cloudflare-workers- Cloudflare Workersalchemy- Alchemy deploymentnone- No server deployment config
Example:
npx create-js-stack@latest my-app --server-deploy cloudflare-workersGit
--gitInitialize a git repository in the project.
--no-gitSkip git initialization.
Install Dependencies
--installAutomatically install dependencies after project creation.
--no-installSkip dependency installation.
Other Options
Quick Start Flag
--yesSkip all prompts and use defaults or provided flags. The project name is still customizable as the first argument.
Example:
npx create-js-stack@latest my-custom-name --yesDry Run
--dry-runPreview what would be generated without creating any files. Useful for testing configurations.
Example:
npx create-js-stack@latest my-app --frontend next --dry-runVerbose Output
--verboseShow detailed output during generation, including all file operations and template processing.
Example:
npx create-js-stack@latest my-app --verboseDirectory Conflict Handling
--directory-conflict <strategy>Available strategies:
error- Throw error if directory exists (default)merge- Merge with existing directoryoverwrite- Overwrite existing directoryincrement- Create directory with incremented name
Example:
npx create-js-stack@latest my-app --directory-conflict mergeOther Commands
List Presets
npx create-js-stack@latest listList all available presets.
npx create-js-stack@latest list --jsonOutput presets as JSON.
Add Preset
npx create-js-stack@latest add-preset <name> --source <path>Add a custom preset from a template directory.
Info
npx create-js-stack@latest infoDisplay environment information (Node.js version, platform, CLI version).
Sponsors
npx create-js-stack@latest sponsorsDisplay sponsors information.
Docs
npx create-js-stack@latest docsOpen documentation in browser.
Builder
npx create-js-stack@latest builderOpen web-based interactive builder in browser.
Examples
Full-Stack Next.js App
npx create-js-stack@latest my-app \
--frontend next \
--database postgres \
--orm prisma \
--api trpc \
--auth better-auth \
--addons docker,testing,biome \
--package-manager pnpm \
--git \
--installReact with Express API
npx create-js-stack@latest my-app \
--frontend react-router \
--backend express \
--runtime node \
--database postgres \
--orm prisma \
--api trpc \
--auth better-auth \
--addons docker,testing \
--package-manager pnpm \
--git \
--installVue.js Frontend Only
npx create-js-stack@latest my-app \
--frontend vue \
--backend none \
--package-manager pnpm \
--gitMongoDB with Mongoose
npx create-js-stack@latest my-app \
--frontend react-router \
--backend express \
--database mongodb \
--orm mongoose \
--auth better-authHono Edge API
npx create-js-stack@latest my-api \
--frontend none \
--backend hono \
--runtime workers \
--database turso \
--orm drizzle \
--api rest \
--server-deploy cloudflare-workersInteractive Mode
If you don't provide flags, the CLI will prompt you interactively:
npx create-js-stack@latest my-appYou'll be asked to select:
- Frontend framework(s)
- Backend framework
- Runtime
- Database
- ORM
- API style
- Authentication
- Addons
- Examples
- Package manager
- Git initialization
- Dependency installation