A powerful, customizable CLI that scaffolds full-featured Express.js boilerplates with TypeScript or JavaScript — production-ready from day one.
- ✅ Choose between TypeScript or JavaScript
- ✅ Select your database: MongoDB or PostgreSQL
- ✅ JWT-based Authentication (login, register, logout)
- ✅ Email workflows: Verify email, Forgot/Reset password
- ✅ Role-based Access Control (RBAC)
- ✅ Centralized User Management System
- ✅ Joi-based Request Validation
- ✅ Built-in Pagination Utilities
- ✅ Security Best Practices (Helmet, CORS, sanitization)
- ✅ Versioned API Routes
- ✅ Winston Logging for errors & requests
- ✅ Centralized Config & ENV management
- ✅ Plop.js-based Code Generator (like NestJS CLI, but unopinionated!)
- ✅ Docker-Ready Setup with
docker compose
- ✅ Dev-friendly tooling: Biome / ESLint + Prettier, Husky, lint-staged
- ✅ Supports ESM or CommonJS in JavaScript mode
- ✅ Customizable Templates for rapid feature/module generation
npm install -g get-express-starter
get-express-starter
You'll be prompted to choose:
-
Project name
-
Language (TypeScript / JavaScript)
-
Database (MongoDB / PostgreSQL)
-
Code generator setup
$ get-express-starter
✔ Project name: my-api
✔ Language: TypeScript
✔ Database: PostgreSQL
➡️ cd my-api
➡️ pnpm install
➡️ pnpm run dev
➡️ pnpm generate // For code generators, if you added them
Depending on your choices, one of the following templates will be scaffolded:
-
Express + MongoDB + TypeScript
-
Express + PostgreSQL + TypeScript
-
Express + MongoDB + JavaScript
You’ll get built-in support for generating:
-
Modules (routes, controllers, services)
-
Models
-
Middlewares
-
Validators
-
Utilities
pnpm generate
Each project comes with:
-
Dockerfile
-
docker-compose.yml
Start your app via Docker:
docker compose up --build
You get a preconfigured dev experience:
-
Biome (or ESLint + Prettier)
-
Husky + lint-staged (pre-commit hooks)
Script examples:
pnpm lint # Biome or ESLint
pnpm format # Prettier or Biome