Skip to content

About

Scaffold a production-ready, domain-driven Express + TypeScript backend. Customize your database (Mongoose, Prisma, Drizzle), validation (Zod, Joi), JWT auth, and Docker setup via an interactive CLI with batch support and built-in AI assistant context.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

create-express-modular

CI Security npm version npm downloads License: MIT Node.js TypeScript Go Engine

Scaffold a production-ready Express + TypeScript backend in seconds.
Choose your database, your validator, and optionally add JWT auth — all from one interactive CLI.

If you find this tool helpful, consider leaving a ⭐ star on GitHub to support the project!


Installation (Recommended)

Install the CLI globally to access the cem executable across your workspace:

# Using npm (recommended)
npm install -g create-express-modular

Quick Start

Scaffold a new project using the cem CLI (recommended):

# Using globally installed CLI (recommended)
cem my-api

# Or using npx / bunx without global installation
npx create-express-modular my-api
# or
bunx create-express-modular my-api

Then start developing:

cd my-api
cem dev

Your server is live at http://localhost:5000. ✅


What Gets Generated

Answer 5 prompts — get a complete, wired-up backend:

Prompt Options
Database / ORM Mongoose · Prisma · Drizzle
Validator Zod · Joi
JWT Auth Yes / No (bcrypt + refresh tokens + rate limiting)
Token delivery HTTP-only cookies · Authorization header
Docker Yes / No (Dockerfile + docker-compose + DB sidecar)

🤖 AI Coding Assistants (Cursor & Claude Ready)

To support seamless development with AI assistants (Cursor, Claude Code, GitHub Copilot, etc.), the CLI automatically scaffolds custom configuration context files during project initialization:

  • AGENTS.md — Universal rules detailing code style, technology choices, strictly-enforced directory structure guidelines, and available CLI tools.
  • CLAUDE.md — Full project context for Claude with real boilerplates (Controllers, Services, Routes, schemas, and Models) specifically tailored to the scaffolded stack.

CLI Commands

🛠️ Project Management

Command Description
cem dev Start the dev server with live reload
cem build Run guards + compile TypeScript to dist/
cem start Start the production server with preflight checks
cem check Run type-check, lint, and format checks in one command
cem list Show a snapshot of modules, middlewares, and env vars

➕ Generating Features

Command Description
cem add module <Name...> Scaffold one or more complete feature modules
cem add middleware <name...> Create one or more middleware files under src/app/middlewares/
cem add env <KEY...> Add one or more env vars to .env, .env.example, and config

❌ Removing Features

Command Description
cem remove module <Name...> Delete module directory(ies) and unwire routes
cem remove middleware <name...> Delete one or more custom middleware files
cem remove env <KEY...> Remove env var(s) from all configurations

💡 Command Shortcuts / Aliases:

  • cem rm is an alias for cem remove
  • cem ls is an alias for cem list

Requirements

  • Node.js: >= 18
  • Package Manager: npm >= 9 · yarn >= 1.22 · pnpm >= 8

Resources

Link Description
📖 Full Docs Complete CLI reference, guides, and examples
DOCS.md Offline version of the full documentation
ARCHITECTURE.md Internal project architecture overview
npm Package page

Community & Contributing

We welcome community contributions, bug reports, and suggestions!


License

Distributed under the MIT License. See LICENSE for more information.

About

Scaffold a production-ready, domain-driven Express + TypeScript backend. Customize your database (Mongoose, Prisma, Drizzle), validation (Zod, Joi), JWT auth, and Docker setup via an interactive CLI with batch support and built-in AI assistant context.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages