● Nx or Turborepo · pnpm · TypeScript

One command. Every app, already wired together.

octorepo scaffolds a Node/TypeScript monorepo with as many frontends and backends as you need, plus typed API clients between them, shared packages, Docker Compose and CI. Add more apps later without touching your own code.

$ npx octorepo create my-repo

Monorepo tool

Frontends

Backends

Services

What you get

Not a template. A repo that's ready to run.

{}

Typed API clients

Every backend publishes an OpenAPI spec. Every frontend gets a typed client for each backend listed in its uses.

⇄

Nx or Turborepo

Choose your tool. octorepo writes turbo.json or nx.json, the pnpm workspace and the task pipelines.

🐳

Docker Compose

Postgres, Redis and every app in one docker-compose.yml. Each app ships with its own Dockerfile.

▣

Shared packages

Shared types and zod schemas, tsconfig bases and React UI components, linked into every app.

✓

CI included

GitHub Actions workflows. On Nx, CI builds only what's affected compared with origin/main.

⌘

Same scripts everywhere

Every package has build, dev, lint, typecheck and test. Biome handles lint and format.

Grow it later

Add an app on day 90 as easily as on day one.

Run octorepo add app from the root of a generated repo. It regenerates only the files octorepo owns: the root package.json merge, workspace file, tool config, compose file, clients and src/generated/**.

It never rewrites your own code. It refuses to overwrite existing directories, and your values win over its defaults.

# a new backend
$ octorepo add app backend billing nest

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

# or describe the whole stack as JSON
$ octorepo create my-repo --config stack.json --yes --json
Supported today

The stack

Backend frameworks
expressnest
Frontend frameworks
nextreact-vite
Services
postgresredis
Monorepo tool
turbonx
Package manager
pnpm
On the roadmap
fastifyhonotanstack startvuenuxtsveltekittrpcprisma / drizzlegraphqlgrpc

Requires Node 22 or later and pnpm.

Stop wiring. Start shipping.

Run it in a terminal without flags and octorepo asks you for the stack, one question at a time.

$ npx octorepo create my-repo