Skip to content

Development quick start

Z-CMS is a TypeScript monorepo built with Node.js, pnpm, Next.js, NestJS, PostgreSQL and Redis.

  • Node.js 22+
  • pnpm 10+
  • Docker
Terminal window
cp .env.example .env
pnpm install
pnpm bootstrap
pnpm dev

Before submitting a change, run:

Terminal window
pnpm typecheck
pnpm lint
pnpm test
pnpm verify

pnpm verify checks critical security invariants such as tenant isolation, sandbox escape resistance and package signing.

You do not need this repository to build a plugin or a theme. Install the CLI and scaffold one:

Terminal window
npm install -g @zcmsorg/cli@latest
zcms init

init asks whether you are building a plugin or a theme, then writes a project that builds, typechecks, tests, packs and signs with nothing changed — including the two build rules that are otherwise enforced only at runtime, on a live site.

Then follow the workflow that matches what you are building: