CLI Reference
Complete reference for all Kickstart Express command-line options and usage patterns.
Basic Usage
kickstart-express [options]
When run without any options, Kickstart Express starts in interactive mode, guiding you through project configuration.
Global Options
-h, --help
Display help information and exit.
kickstart-express --help
-V, --version
Display version number and exit.
kickstart-express --version
Project Configuration Options
-n, --name <project-name>
Specify the project name. This will be used as the directory name.
kickstart-express --name my-awesome-api
RequiredYes (if not provided, you'll be prompted)
-l, --language <ts|js>
Choose the programming language for your project.
kickstart-express --language ts # TypeScript
kickstart-express --language js # JavaScript
Defaultts (TypeScript)
-d, --docker
Include Docker configuration (Dockerfile and docker-compose.yml).
kickstart-express --docker
Defaultfalse
-s, --src
Create src folder structure instead of root-level files.
kickstart-express --src
Defaultfalse
--structured
Use structured architecture with controllers, services, and routes separation.
kickstart-express --structured
Defaultfalse
NoteAutomatically enables --src when used
Add Command
The add command allows you to extend existing kickstart-express projects with additional features like databases and authentication.
Basic Syntax
kickstart-express add <feature> [options]
Database Features
add db --db-type <type> --orm <orm>
Add database support with specific database type and ORM.
Interactive Mode:
kickstart-express add db
Non-Interactive Examples:
# MongoDB with Mongoose
kickstart-express add db --db-type mongodb --orm mongoose
# PostgreSQL with Prisma
kickstart-express add db --db-type postgres --orm prisma
# PostgreSQL with Drizzle
kickstart-express add db --db-type postgres --orm drizzle
--db-type: mongodb, postgres--orm: mongoose, prisma, drizzle
Authentication Features
add auth --auth-type <type>
Add authentication support with JWT or Clerk.
Interactive Mode:
kickstart-express add auth
Non-Interactive Examples:
# JWT Authentication
kickstart-express add auth --auth-type jwt
# Clerk Authentication
kickstart-express add auth --auth-type clerk
--auth-type: jwt, clerk
Usage Examples
Project Scaffolding
Interactive Mode
Start the interactive CLI to configure your project step by step:
kickstart-express
Full Featured Project
Create a TypeScript project with all features enabled:
kickstart-express -n my-awesome-api -l ts -d -s --structured
Simple JavaScript Project
Create a basic JavaScript project:
kickstart-express --name simple-app --language js
Docker-Ready Project
Create a project with Docker configuration:
kickstart-express --name docker-api --docker --src
Feature Addition Workflows
Complete Setup (Interactive)
Create a project and add features interactively:
# 1. Create project
kickstart-express --name my-api --language ts --docker --src --structured
# 2. Add database (interactive prompts)
cd my-api
kickstart-express add db
# 3. Add authentication (interactive prompts)
kickstart-express add auth
Complete Setup (Non-Interactive)
Create a project and add features with CLI arguments:
# 1. Create project
kickstart-express --name my-api --language ts --docker --src --structured
# 2. Add MongoDB with Mongoose
cd my-api
kickstart-express add db --db-type mongodb --orm mongoose
# 3. Add JWT authentication
kickstart-express add auth --auth-type jwt
Enterprise API with PostgreSQL and Clerk
Create an enterprise-ready API:
# 1. Create project with full structure
kickstart-express --name enterprise-api --language ts --docker --src --structured
# 2. Add PostgreSQL with Prisma
cd enterprise-api
kickstart-express add db --db-type postgres --orm prisma
# 3. Add Clerk authentication
kickstart-express add auth --auth-type clerk