If you’ve built more than a couple of Node.js backends, you know the drill.
npm init, install Express, install TypeScript, configure tsconfig.json, structure your folders — and by the time you're done, you've spent 20 minutes without writing a single line of actual application logic.
I got tired of it. So I built @excli/express.
What is @excli/express?
A CLI tool that scaffolds a complete, production-ready Express.js project in seconds. TypeScript or JavaScript, your choice of package manager — all set up and ready to run from the moment the command finishes.
Prerequisites
Before running @excli/express, make sure you have the following installed:
- Node.js v20 or higher — nodejs.org
- Package manager — npm, yarn, pnpm, or bun
- Docker — optional for running the generated compose.yaml — docker.com
- Git — for version control of your generated project — git-scm.com
**
How to use it?
**
npx @excli/express
That’s the entire command. The CLI walks you through a few prompts — language, package manager, project preferences — and generates everything for you.
No flags to memorize. No documentation to consult. Just answer the prompts and start building.
Database Support
@excli/express sets up your project with first-class database support. You choose your database during the interactive setup:
SQL: MySQL, PostgresSQL, MariaDB
NOSQL: MongoDB
Each option comes with a pre-configured database connection file and a starter schema or model — so you’re not staring at a blank file figuring out boilerplate.
ORM & ODM Support
Along with your database, you pick your ORM or ODM:
- Prisma — MySQL, MariaDB, PostgreSQL, MongoDB
- TypeORM — MySQL, MariaDB, PostgreSQL, MongoDB
- Drizzle — MySQL, MariaDB, PostgreSQL
- Sequelize — MySQL, MariaDB, PostgreSQL
- Mongoose — MongoDB only
Docker & docker-compose
The tool generates a ready-to-use compose.yaml for your chosen database, including:
- Your database service with correct environment variables
- Volume mounts for data persistence
- A browser-based admin panel for your database (accessible at http://localhost:6969)
Redis (Optional)
If your project needs caching, you can opt into Redis during setup. It gets added as an additional service in your compose.yaml — no manual configuration required.
Try it:
npx @excli/express
Top comments (0)