Skip to content
atarashi
Documentation menu

Minimal TypeScript API

Express and TypeScript with validated config and one error shape. No database.

atarashi new my-app --preset backend-minimal

What you get

Files

17 files, 10.0 KB before node_modules.

my-app/
├── src/
│   ├── config/
│   │   └── env.ts
│   ├── lib/
│   │   ├── async-handler.ts
│   │   ├── http-error.ts
│   │   └── http.ts
│   ├── middlewares/
│   │   └── error-handler.ts
│   ├── routes/
│   │   └── index.ts
│   ├── app.ts
│   └── index.ts
├── .editorconfig
├── .env.example
├── .gitignore
├── README.md
├── atarashi.json
├── biome.json
├── package.json
├── pnpm-workspace.yaml
└── tsconfig.json

Dependencies

  • dotenv@^17.4.2
  • express@^4.21.2
  • zod@^3.25.76

Development only:

  • @biomejs/biome@^2.3.14
  • @types/express@^4.17.23
  • @types/node@^22.19.0
  • tsx@^4.20.6
  • typescript@^5.9.3

After generating

  1. Start the dev server: pnpm run dev
  2. Copy .env.example to .env and fill in the blanks
  3. Check the API: curl http://localhost:3000/health
  4. Lint the project: pnpm run lint

Change it

A preset is a starting point, not a cage. Add to it, drop from it, or eject:

atarashi new my-app --preset backend-minimal --add obs/pino
atarashi new my-app --preset backend-minimal --remove lint/biome --add lint/eslint-prettier
atarashi add auth/jwt   # later, inside the generated project

Part of the atarashi documentation, written and maintained by Gautam Suthar.