v1.x · stable on npm

Scaffold production Express APIs in one command.

create-express-modular generates a modular TypeScript backend with your ORM, validator, JWT auth and Docker — guarded by an opinionated architecture from day one.

bash
npx create-express-modular my-api
~/taskflow-api
  ──────────────────────────────────────────────────────
  [CEM]  taskflow-api  dev server

  ◆  Project   taskflow-api
  ◆  Entry     src/server.ts
  ◆  Started   01 June 2026 21:20:00
  ──────────────────────────────────────────────────────

  ▲  Server running on http://localhost:5000   21:20:01
  ◈  MongoDB connected
// why cem

An opinionated foundation, without the boilerplate.

Interactive scaffolding

Pick your ORM (Mongoose, Prisma, Drizzle), validator (Zod, Joi), auth and Docker setup. A complete domain-driven project is ready in seconds.

Modular by design

Every feature lives in its own folder with route, controller, service, model, validation, interface and constants — auto-wired into the router.

Architecture guards

The build pipeline enforces naming conventions, detects orphan modules, and refuses to compile a malformed app.

Beautiful DX

tsx-powered dev server with near-instant restarts, a styled landing page, and a CLI that actually looks good in your terminal.

Quality built-in

cem check runs typecheck, ESLint v9 flat config and Prettier in one rapid pipeline with inline error reporting.

Dockerized deploys

Multistage Dockerfile and docker-compose with the correct database sidecar generated automatically.

// the cli

A complete command surface.

Every operation you'd reach for during real development — generation, deletion, inspection, build, check — is one short command.

Browse all commands
$ cem dev
$ cem build
$ cem check
$ cem list
$ cem add module <Name>
$ cem add middleware <name>
$ cem add env <KEY>
$ cem remove <kind> <name>

Ready to ship faster?

Skip the boilerplate. Spin up your next Express backend with batteries included.