backend-minimal
Minimal TypeScript API
Express and TypeScript with validated config and one error shape. No database.
v1.0.0 / MIT / Node 20.11+
Atarashi builds a project out of 36 small composable blueprints. You pick capabilities: an HTTP framework, a database, an ORM, auth, testing. It resolves them, adds what you forgot, refuses what cannot work, and writes nothing to disk until the whole plan is valid.
No install required. Runs straight from npm.
01 / Compose
orm/drizzle requires a SQL database. It does not care which one, so it works with Postgres, MySQL or SQLite, and Atarashi works out the rest.
Ask for an ORM on its own and it tells you a database is missing, then names the ones that would satisfy it. Ask for two databases and it refuses, naming both. When exactly one blueprint can satisfy a requirement, it is added for you.
That indirection is the reason a project generated weeks ago can still grow a new capability. The choices are recorded in atarashi.json, which is what makes atarashi add possible later.
02 / Refuse
A conflict is an error with a suggested fix, never a half generated directory.
Pass --dry-run and it prints the whole plan, every file and every dependency, then writes nothing.
Every project records its spec in atarashi.json. Regenerating from it produces byte identical output. Generated secrets are the deliberate exception.
The blueprints ship inside the package. The registry is an optimisation, not a requirement.
03 / Grow
Generated files carry region markers, so a blueprint contributes into a named slot instead of owning a whole file. Adding a capability later injects into those markers rather than scattering new files.
04 / Sets
Start from one and adjust it. Add a blueprint, remove another, keep the rest.
Minimal TypeScript API
Express and TypeScript with validated config and one error shape. No database.
MongoDB REST API
Express + MongoDB + Mongoose + JWT + Docker, in strict TypeScript.
TypeScript REST API
Express + PostgreSQL + Drizzle + JWT + Docker, in strict TypeScript.
React single-page app
React, Vite and Tailwind on their own, with Biome for linting and formatting.
Angular frontend + TypeScript API
The backend-ts API at the root with an Angular and Tailwind app under web/.
React frontend + TypeScript API
The backend-ts API at the root with a React, Vite and Tailwind app under web/.
05 / Extend
They use the same format and the same validator as the first party ones.
A blueprint is data, not code: a blueprint.json and a files tree. Scaffold one with atarashi create-blueprint, publish it on npm as atarashi-blueprint-something, and anyone can add it. Hooks run in a restricted worker with no filesystem and no child processes.
Nothing Atarashi generates depends on Atarashi. The output is an ordinary project, and atarashi eject cuts the last link whenever you want it gone.