Skip to content
atarashi
Documentation menu

Blueprint catalogue

36 first-party blueprints. Every one of them is a directory with a manifest; nothing about them is privileged, and a blueprint you write works the same way. See Authoring blueprints.

Pick them with --add, or let a preset pick a coherent set for you:

atarashi new my-api --add http/fastify --add db/postgres --add orm/drizzle

Blueprints declare capabilities rather than naming each other, so the resolver pulls in what is missing and refuses combinations that cannot coexist. Two blueprints that both provide database will not install together, and it will tell you which ones to choose between.

By category

http

BlueprintWhat it doesProvides
http/expressExpress HTTP server with a health check, a versioned router and JSON response helpers.http http:express
http/fastifyFastify HTTP server with structured logging, a health check and a versioned route prefix.http http:fastify
http/honoHono HTTP server on the Node adapter, with a health check and a versioned route prefix.http http:hono

database

BlueprintWhat it doesProvides
db/mongodbMongoDB connection with a startup ping and a Compose service; hands over to Mongoose when present.database database:document database:mongodb
db/mysqlMySQL connection pool with a startup health check and a Compose service.database database:sql database:mysql
db/postgresPostgreSQL connection pool with a startup health check and a Compose service.database database:sql database:postgres
db/sqliteFile-backed SQLite database via better-sqlite3, with WAL enabled and no server to run.database database:sql database:sqlite

orm

BlueprintWhat it doesProvides
orm/drizzleDrizzle ORM wired to the selected SQL database, with a starter schema and drizzle-kit scripts.orm orm:drizzle
orm/mongooseMongoose connection lifecycle and a starter model for a MongoDB project.orm orm:mongoose
orm/prismaPrisma schema and client wired to the selected SQL database, with migrate and studio scripts.orm orm:prisma

auth

BlueprintWhat it doesProvides
auth/jwtStateless JWT auth: signing helpers, bcrypt password hashing and a bearer/cookie guard.auth auth:jwt
auth/sessionCookie-session auth for Express: signed session middleware, bcrypt hashing and a guard.auth auth:session

validation

BlueprintWhat it doesProvides
validation/zodZod schemas plus a validated, typed environment loader that fails fast on bad config.validation validation:zod config:env

middleware

BlueprintWhat it doesProvides
mw/corsCross-origin request handling driven by a CORS_ORIGIN allow-list, for Express, Fastify or Hono.middleware:cors
mw/error-handlerOne consistent JSON error shape: an HttpError class, Zod validation mapping and no stack leaks.middleware:error-handler
mw/helmetSensible default security headers (CSP, HSTS, frame options) for Express, Fastify or Hono.middleware:security-headers
mw/rate-limitPer-IP request throttling with standard RateLimit headers, for Express, Fastify or Hono.middleware:rate-limit

observability

BlueprintWhat it doesProvides
obs/morgan-loggerHuman-readable HTTP request logging for Express in development, combined format in production.logging logging:morgan
obs/pinoA shared Pino logger with pretty output in development and JSON lines in production.logging logging:pino

ci

BlueprintWhat it doesProvides
ci/githubA CI workflow that installs, lints, typechecks, builds and tests on every push and pull request.ci ci:github
ci/gitlabA GitLab pipeline that installs, lints, typechecks, builds and tests with a cached dependency store.ci ci:gitlab

meta

BlueprintWhat it doesProvides
meta/editorconfigEditor-agnostic indentation, charset and newline settings so diffs stay clean across machines.meta:editorconfig
meta/huskyA pre-commit hook that lints and formats only the files being committed.meta:git-hooks
meta/licenseWrites the LICENSE text for the license chosen at generation time.meta:license
meta/readmeA README describing exactly this project: its scripts, its environment variables and its blueprints.meta:readme

core

BlueprintWhat it doesProvides
core/node-jsNode 20 ESM project in plain JavaScript, with jsconfig for editor navigation.runtime:node language language:javascript
core/node-tsNode 20 ESM project with strict TypeScript, tsx for development and tsc for builds.runtime:node language language:typescript

frontend

BlueprintWhat it doesProvides
web/angular-tailwindStandalone-component Angular app with Tailwind v4 via PostCSS and Vitest for unit tests.ui ui:angular
web/nextNext.js App Router with Tailwind v4, TypeScript and the default React Server Component setup.ui ui:next
web/react-vite-tailwindReact 19 on Vite with the Tailwind v4 plugin, strict TypeScript and Vitest.ui ui:react

infra

BlueprintWhat it doesProvides
infra/dockerMulti-stage Dockerfile that builds with the project's package manager and runs as a non-root user.infra:docker
infra/docker-composeA Compose file for the app that database blueprints extend with their own service and volume.infra:compose

lint

BlueprintWhat it doesProvides
lint/biomeBiome as the single linter and formatter: one binary, one config, no plugin matrix.lint lint:biome format
lint/eslint-prettierFlat-config ESLint for correctness and Prettier for formatting, with the two kept from fighting.lint lint:eslint format

test

BlueprintWhat it doesProvides
test/jestJest in ESM mode, with ts-jest for TypeScript projects and a health-check test.test test:jest
test/vitestVitest with a coverage gate and a health-check test wired to the chosen HTTP framework.test test:vitest

Every blueprint

auth/jwt

Stateless JWT auth: signing helpers, bcrypt password hashing and a bearer/cookie guard.

Requires http, config:env, conflicts on auth.

Full reference →

auth/session

Cookie-session auth for Express: signed session middleware, bcrypt hashing and a guard.

Requires http:express, config:env, conflicts on auth.

Full reference →

ci/github

A CI workflow that installs, lints, typechecks, builds and tests on every push and pull request.

Requires runtime:node, conflicts on ci.

Full reference →

ci/gitlab

A GitLab pipeline that installs, lints, typechecks, builds and tests with a cached dependency store.

Requires runtime:node, conflicts on ci.

Full reference →

core/node-js

Node 20 ESM project in plain JavaScript, with jsconfig for editor navigation.

Requires nothing, conflicts on language.

Full reference →

core/node-ts

Node 20 ESM project with strict TypeScript, tsx for development and tsc for builds.

Requires nothing, conflicts on language.

Full reference →

db/mongodb

MongoDB connection with a startup ping and a Compose service; hands over to Mongoose when present.

Requires runtime:node, config:env, conflicts on database.

Full reference →

db/mysql

MySQL connection pool with a startup health check and a Compose service.

Requires runtime:node, config:env, conflicts on database.

Full reference →

db/postgres

PostgreSQL connection pool with a startup health check and a Compose service.

Requires runtime:node, config:env, conflicts on database.

Full reference →

db/sqlite

File-backed SQLite database via better-sqlite3, with WAL enabled and no server to run.

Requires runtime:node, config:env, conflicts on database.

Full reference →

http/express

Express HTTP server with a health check, a versioned router and JSON response helpers.

Requires runtime:node, config:env, conflicts on http.

Full reference →

http/fastify

Fastify HTTP server with structured logging, a health check and a versioned route prefix.

Requires runtime:node, config:env, conflicts on http.

Full reference →

http/hono

Hono HTTP server on the Node adapter, with a health check and a versioned route prefix.

Requires runtime:node, config:env, conflicts on http.

Full reference →

infra/docker

Multi-stage Dockerfile that builds with the project's package manager and runs as a non-root user.

Requires runtime:node.

Full reference →

infra/docker-compose

A Compose file for the app that database blueprints extend with their own service and volume.

Requires infra:docker.

Full reference →

lint/biome

Biome as the single linter and formatter: one binary, one config, no plugin matrix.

Requires runtime:node, conflicts on lint, format.

Full reference →

lint/eslint-prettier

Flat-config ESLint for correctness and Prettier for formatting, with the two kept from fighting.

Requires runtime:node, conflicts on lint, format.

Full reference →

meta/editorconfig

Editor-agnostic indentation, charset and newline settings so diffs stay clean across machines.

Requires nothing.

Full reference →

meta/husky

A pre-commit hook that lints and formats only the files being committed.

Requires runtime:node, lint.

Full reference →

meta/license

Writes the LICENSE text for the license chosen at generation time.

Requires nothing.

Full reference →

meta/readme

A README describing exactly this project: its scripts, its environment variables and its blueprints.

Requires nothing.

Full reference →

mw/cors

Cross-origin request handling driven by a CORS_ORIGIN allow-list, for Express, Fastify or Hono.

Requires http, config:env.

Full reference →

mw/error-handler

One consistent JSON error shape: an HttpError class, Zod validation mapping and no stack leaks.

Requires http, validation, config:env.

Full reference →

mw/helmet

Sensible default security headers (CSP, HSTS, frame options) for Express, Fastify or Hono.

Requires http.

Full reference →

mw/rate-limit

Per-IP request throttling with standard RateLimit headers, for Express, Fastify or Hono.

Requires http.

Full reference →

obs/morgan-logger

Human-readable HTTP request logging for Express in development, combined format in production.

Requires http:express, config:env, conflicts on logging.

Full reference →

obs/pino

A shared Pino logger with pretty output in development and JSON lines in production.

Requires runtime:node, config:env, conflicts on logging.

Full reference →

orm/drizzle

Drizzle ORM wired to the selected SQL database, with a starter schema and drizzle-kit scripts.

Requires database:sql, language:typescript, conflicts on orm.

Full reference →

orm/mongoose

Mongoose connection lifecycle and a starter model for a MongoDB project.

Requires database:mongodb, conflicts on orm.

Full reference →

orm/prisma

Prisma schema and client wired to the selected SQL database, with migrate and studio scripts.

Requires database:sql, language:typescript, conflicts on orm.

Full reference →

test/jest

Jest in ESM mode, with ts-jest for TypeScript projects and a health-check test.

Requires runtime:node, conflicts on test.

Full reference →

test/vitest

Vitest with a coverage gate and a health-check test wired to the chosen HTTP framework.

Requires runtime:node, conflicts on test.

Full reference →

validation/zod

Zod schemas plus a validated, typed environment loader that fails fast on bad config.

Requires runtime:node, conflicts on validation.

Full reference →

web/angular-tailwind

Standalone-component Angular app with Tailwind v4 via PostCSS and Vitest for unit tests.

Requires language:typescript, conflicts on ui.

Full reference →

web/next

Next.js App Router with Tailwind v4, TypeScript and the default React Server Component setup.

Requires language:typescript, conflicts on ui.

Full reference →

web/react-vite-tailwind

React 19 on Vite with the Tailwind v4 plugin, strict TypeScript and Vitest.

Requires language:typescript, conflicts on ui.

Full reference →

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