Every project starts the same way for me.
Open terminal. Create folder. npm init. Install express.
Install typescript. Configure tsconfig.json. Set up Helmet.
Add CORS. Wire up Pino logger. Add .env validation.
45 minutes later — I haven't written a single line of
actual business logic yet.
After doing this for the 10th time I asked myself:
why am I still doing this manually?
So I built Zuro CLI.
What it does
npx zuro-cli init my-app
That one command gives you a fully production-ready
Express + TypeScript project with:
- Express.js + TypeScript configured
- Helmet for secure HTTP headers
- CORS ready
- Pino logger (fastest JSON logger for Node)
- .env validation out of the box
- Clean folder structure (routes, controllers, middleware)
Ready in 60 seconds. Not 45 minutes.
Then add only what you need
npx zuro-cli add database
Drizzle ORM + PostgreSQL or MySQL
npx zuro-cli add auth
Better-Auth + signup/login/sessions
npx zuro-cli add validator
Zod middleware for request validation
npx zuro-cli add error-handler
Custom error classes + consistent API responses
The best part? Running add auth automatically installs
database and error-handler too if they're missing.
No order to remember. No missing dependencies.
Why these specific libraries?
I didn't pick randomly. Everything has a reason:
Drizzle ORM → type-safe queries, no heavy binary,
feels like writing SQL which most devs already know
Better-Auth → modern, actively maintained, works
perfectly with TypeScript and Drizzle
Zod → runtime + TypeScript validation in one shot
Pino → literally the fastest JSON logger for Node.js
Helmet → secure HTTP headers with zero config
Who is this for?
Honestly? I built this for myself first.
I'm a student from India who builds a lot of hackathon
projects and side projects. Every time I started a new
backend I lost the first hour on setup.
Zuro CLI is for:
- Students starting backend projects
- Hackathon builders who need to ship fast
- Developers tired of copy-pasting the same setup
It's v0.1 beta
There's a lot more coming. More modules, more options,
more flexibility.
But the core works. I use it myself.
Try it
npx zuro-cli init my-app
Docs → https://zuro-cli.devbybriyan.com
It's completely free and open source.
I'd love brutal honest feedback — what's missing?
What would you add? What would make you actually use this?
Drop a comment below 🙏
Top comments (0)