StackKit LogoStackKit
CLI

create

Scaffold a new full-stack project with your choice of framework, database, authentication, and more.

The create command is your entry point for every new project. It generates a complete, production-ready project structure in one step.

Usage

npx stackkit@latest create <project-name> [options]

Run it without any flags to use the interactive mode — StackKit will ask you everything it needs:

npx stackkit@latest create my-app

Interactive prompts

When you run create without flags, you'll be guided through the following choices:

  1. Framework — Next.js, Express.js, or React
  2. Database — Prisma, Mongoose, or None (only shown for Express)
  3. Database provider — PostgreSQL, MySQL, SQLite, or MongoDB (shown when Prisma is selected for Express)
  4. Authentication — Better Auth, or None
  5. UI library — Shadcn UI, or None
  6. Storage — Cloudinary, or None
  7. Language — TypeScript or JavaScript
  8. Package manager — pnpm, npm, yarn, or bun (auto-detected if a lockfile exists)
  9. Initialize git — Yes or No

After you confirm, StackKit generates all the files, installs dependencies, and creates an initial git commit.

Options

--framework, -f <value>

The base framework for your project.

ValueDescription
nextjsNext.js with App Router and TypeScript
expressNode.js REST API with TypeScript
reactVite + React SPA with TypeScript

--database, -d <value>

The database ORM or ODM to integrate.

ValueDescription
prismaPrisma ORM (prompts for provider)
prisma-postgresqlPrisma with PostgreSQL
prisma-mysqlPrisma with MySQL
prisma-sqlitePrisma with SQLite
mongooseMongoose ODM for MongoDB (Express only)
noneSkip database setup

For Prisma provider details:

  • postgresql
  • mysql
  • sqlite

--auth, -a <value>

The authentication library to integrate.

ValueDescription
better-authBetter Auth — TypeScript-first auth
noneSkip authentication

--ui, -u <value>

A UI component library to add.

ValueDescription
shadcnShadcn UI with Tailwind CSS (Next.js and React only)

--storage-provider <value>

File storage integration.

ValueDescription
cloudinaryCloudinary media uploads (Express only)

Other options

FlagDescription
--language, -ltypescript (default) or javascript
--package-manager, -ppnpm, npm, yarn, or bun
--yes, -yAccept all defaults (Next.js + Better Auth + TypeScript + pnpm)
--skip-installGenerate files without installing packages
--no-gitSkip git repository initialization

Examples

Interactive — recommended for first-time use:

npx stackkit@latest create my-app

Next.js with Prisma and Better Auth:

npx stackkit@latest create my-app \
  --framework nextjs \
  --database prisma-postgresql \
  --auth better-auth

Express REST API with MongoDB:

npx stackkit@latest create my-api \
  --framework express \
  --database mongoose \
  --auth better-auth

React frontend with Shadcn UI:

npx stackkit@latest create my-spa \
  --framework react \
  --ui shadcn

Generate files only, install later:

npx stackkit@latest create my-app --skip-install
cd my-app
pnpm install

Use all defaults:

npx stackkit@latest create my-app --yes

What gets generated

Every generated project includes:

  • Framework structure — Folder layout, routing, and entry points following framework conventions
  • Module integrations — Config files, clients, and routes for each module you selected
  • package.json — All required dependencies pre-listed
  • tsconfig.json — TypeScript with strict mode enabled
  • .env.example — All environment variables documented with descriptions
  • .gitignore — Tailored for your framework and modules
  • README.md — Project-specific setup and run instructions

Compatibility matrix

Not all modules work with every framework. Here's the full picture:

ModuleNext.jsExpressReact
Prisma
Mongoose
Better Auth
Shadcn UI
Cloudinary
Components

Better Auth on Express requires a database. The interactive prompt will enforce this — you can't select Better Auth without also selecting a database when the framework is Express.

Next steps

On this page