Express 5 + TypeScript
Strict tsconfig, path aliases, ESLint flat config, Prettier, and Husky pre-commit hooks are ready before you write your first line.
Generate a fully configured Express + TypeScript backend in seconds. Prisma, Drizzle, Docker, Zod, Pino — all wired up from day one.
Every combination is fully scaffolded — not just listed as a dependency.
A complete project setup so you can focus on building your API, not configuring tools.
Strict tsconfig, path aliases, ESLint flat config, Prettier, and Husky pre-commit hooks are ready before you write your first line.
Prisma, Drizzle, or TypeORM for SQL. Mongoose for MongoDB. Everything is scaffolded with examples, not only dependencies.
Multi-stage Dockerfile + docker-compose with database service included, so local and production environments stay consistent.
Zod schemas, helmet, CORS, rate limiting, and custom errors are pre-wired so your API starts from a safer baseline.
Pino + pino-http produce JSON request logs that are fast, production-friendly, and easy to plug into observability pipelines.
Jest scaffolding is ready from the start for unit and integration tests, so your project does not lose momentum.
From zero to a running Express.js API in under a minute.
Execute one command in any directory. The interactive flow guides setup, or use --yes for automation.
$ npx west-js-appChoose ORM, database, Docker support, and package manager. For CI, combine --yes with --name, --db, and --orm.
$ npx west-js-app --yes --name my-apiDependencies are installed, git is initialized, and structure is ready. Jump directly into feature work.
$ cd my-api && pnpm dev| ORM | PostgreSQL | MySQL | SQLite | MongoDB |
|---|---|---|---|---|
| Prisma | ✓ | ✓ | ✓ | — |
| Drizzle | ✓ | ✓ | ✓ | — |
| TypeORM | ✓ | ✓ | ✓ | — |
| Mongoose | — | — | — | ✓ |
| None | ✓ | ✓ | ✓ | ✓ |
A generator. Once the project is created there is no runtime dependency on west-js-app. You own the generated TypeScript + Express code.
Node.js 18 or higher. The default Docker image is node:20-slim, and you can change it for your deployment target.
Yes. Select No database and get a clean Express + TypeScript setup without ORM wiring. Add it later when needed.
Yes. Windows, macOS, and Linux are supported. Git hooks are configured to avoid common line-ending and chmod issues.
Yes. Pass --yes and combine it with --name, --db, --orm, and --docker for a fully non-interactive generation flow.