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