One command. Zero prompts. Zero config.
A fully configured Node.js + TypeScript + Express API — ready to build on.
A production-ready API with industry best practices baked in — so you can focus on building features.
Latest stable framework with async error handling and modern routing built in.
Full type safety with strict mode enabled. Catch bugs at compile time, not runtime.
Runtime request validation with Zod schemas. Type-safe from API boundary to response.
Interactive API documentation at /api-docs — auto-generated from JSDoc annotations.
Fast testing out of the box. Example integration tests show you the pattern.
Helmet for HTTP headers, CORS configured, environment validation with Zod.
Structured, high-performance logging. Pretty output in dev, JSON in production.
Multi-stage Dockerfile + docker-compose. Deploy anywhere with a single build.
ESLint flat config + Prettier + Husky git hooks. Clean code enforced automatically.
npx create-api-starterkit my-api
cd my-api && npm run dev
Each feature is self-contained. No more hunting across scattered folders.
src/ ├── config/ │ ├── env.ts # Zod-validated env vars │ └── swagger.ts # OpenAPI configuration ├── middlewares/ │ ├── error-handler.ts # Global error handling │ ├── not-found.ts # 404 handler │ ├── request-logger.ts# HTTP logging │ └── validate.ts # Zod validation ├── modules/ # ← Add features here │ └── health/ │ ├── health.controller.ts │ ├── health.routes.ts │ └── health.schema.ts ├── utils/ │ ├── api-error.ts # Custom error class │ ├── api-response.ts # Standardized responses │ └── logger.ts # Pino logger ├── app.ts # Express app factory └── server.ts # Entry point
src/modules/users/app.ts{
"success": true,
"data": { ... },
"message": "OK",
"timestamp": "2026-..."
}
Stop configuring. Start shipping.
npx create-api-starterkit my-api