A minimal CLI for initializing Express.js projects and adding feature-based routes and controllers.
npm install caramexA developer-friendly CLI to initialize Express projects and generate feature-based routes & controllers with zero boilerplate friction.
caramex automates all of that safely, predictably, and idempotently.
- Project Initialization
- Creates a clean Express project structure
- Installs required dependencies
- Configures scripts and module type
- Enforces a predictable src/ layout
- Feature Generation
- Generates routes & controllers per feature
- Automatically registers routes in app.js
- Supports basic and CRUD templates
- Safe file writing (no accidental overwrites)
src/
├── app.js
├── index.js
├── routes/
│ └── auth.routes.js
└── controllers/
└── auth.controller.js
`Installation
$3
`
npm install -g caramex
`
OR
$3
`
npx caramex init
`Commands
$3
Initializes a new Express project in the current directory.
What it does:
- Runs npm init
- Installs express
- Installs nodemon (dev dependency)
- Sets type: module
- Sets entry point to src/index.js
- Creates base folder structure
Usage:
`
caramex init
`$3
Generates a feature with routes and controllers and wires it into the app.Usage:
`
caramex add auth
`#### Generated files
`
src/routes/auth.routes.js
src/controllers/auth.controller.js
`$3
`
// src/app.js
import authRoutes from "./routes/auth.routes.js";app.use("/auth", authRoutes);
`Options:
$3
Generate CRUD boilerplate instead of a basic template.
`
caramex add users --crud
`$3
Overwrite existing files if they already exist.
`
caramex add auth --force
`
$3
Dry-run mode. Shows what will be created without touching the filesystem.
`
caramex add auth --preview
`Future Plans
The following will be achieved as the package get better:
- Completing unit testing of all file and moving towards integration testing
- adding service files if needed using service flag
- adding middleware files if needed using middleware flag
- adding typescript language supportFinal Thoughts
caramex` is built as a learning-first, production-ready CLI designed to create clean Express structure while saving real development time.If you enjoy building tools instead of rewriting boilerplate, this is for you.