0.3 presets ยท Drizzle and Prisma ยท MCP โ†’

One command. Every app, already wired together.

Any number of frontends and backends in one TypeScript monorepo, with typed clients, a database, Docker and CI already wired.

$npx @oct8/octorepo@latest create my-repo

or npm create @oct8/octorepo@latest my-repo

Start from

Monorepo tool

Frontends

Backends

Database

Services

What you get

A repo that's ready to run.

{}

Typed API clients

Generated from each backend's OpenAPI spec.

โ‡„

Nx or Turborepo

Workspace and pipelines, your pick.

โ–ค

Docker Compose

Every app and service, with healthchecks.

โ–ฃ

Shared packages

Types, schemas and one UI package per framework.

!

Env checked at startup

A missing variable fails fast, by name.

โœ“

CI included

Same scripts in every package.

Presets

A whole stack in one flag.

saas

--preset saas
Apps
web ยท nextadmin ยท react-viteapi ยท nestworker ยท fastify
Services
postgresvalkeymailpit
ORM
drizzle
$ npx @oct8/octorepo@latest create my-saas \
    --preset saas --yes

api-platform

--preset api-platform
Apps
edge ยท honousers ยท nestbilling ยท fastifydocs ยท astro
Services
postgresrabbitmq
ORM
prisma
$ npx @oct8/octorepo@latest create my-api \
    --preset api-platform --tool nx \
    --app backend:jobs:koa --yes
Database

Drizzle or Prisma, migrated on boot.

  • One flag: schema, migration and seed in packages/db
  • Postgres added for you
  • Compose migrates before backends start
# the same script names for both ORMs
$ pnpm --filter @my-repo/db db:migration  # write one
$ pnpm --filter @my-repo/db db:migrate    # apply them
$ pnpm --filter @my-repo/db db:seed

# every backend
GET /db/health  { "ok": true, "greetings": 1 }
                503 while the database is unreachable
Agent-native

Your coding agent can scaffold it too.

An MCP server with the same engine as the CLI.

list_optionswhat's supported
validate_stackdry run
createnew repo
add_appnew app
add_servicenew service
read_manifestrepo layout
Every repo explains itself in an AGENTS.md.
# Claude Code: add the server
$ claude mcp add octorepo -- \
    npx -y @oct8/octorepo@latest mcp

# or load the plugin: server + skill + /octorepo:new
$ claude --plugin-dir ./integrations/claude-code
> /octorepo:new shop next web + nest api + postgres

# Cursor or any MCP client: run as stdio
$ npx -y @oct8/octorepo@latest mcp
Grow it later

Day 90 is as easy as day one.

Only the files octorepo owns are regenerated.

Your code is never rewritten.

# a new backend
$ npx @oct8/octorepo add app backend billing nest

# a new frontend that talks to two backends
$ npx @oct8/octorepo add app frontend admin react-vite \
    --uses api,billing

# a new service
$ npx @oct8/octorepo add service rabbitmq
How it compares

Many apps on each side.

octorepocreate-better-t-stackcreate-turbocreate-nx-workspacecreate-t3-turbo
Several frontends in one repoyesopen PR (#1185)via examplesyes (Nx generators)Next.js + Expo
Several backends in one repoyesnonoyesno (tRPC package)
NestJSyesopen PR (#1119)noyesno
Docker Compose for apps and servicesyesdatabase onlynonono
Agent integrationMCP server, Claude Code plugin, AGENTS.mdClaude Code plugin with MCPagent skill, no MCPMCP server, configure-ai-agentsnone found

As of 2026-10-19, from each project's README, docs and issue tracker. Notes.

Supported today

The stack

Backend frameworks
expressfastifyhonokoanest
Frontend frameworks
nextreact-vitereact-routertanstack-startvue-vitenuxtsveltekitastrosolid-start
Services
postgresredisvalkeyrabbitmqmailpits3
ORM
drizzleprisma
Presets
saasapi-platform
Monorepo tool
turbonx
Package manager
pnpm
On the roadmap
trpc / orpcbetter authdoctor / upgradeplaywrightmicroservicesgraphqlgrpcelysiaangular

The CLI needs Node 22.12 or later. Generated repos target Node 24 and use pnpm.

Stop wiring. Start shipping.

No flags? It asks, one question at a time.

$npx @oct8/octorepo@latest create my-repo