Node ≥22 · Next.js + NestJS · PostgreSQL

CMStack for TypeScript.

End-to-end type safety from database to view. A Next.js + NestJS monorepo that ships SEO-first pages and a typed API on a non-blocking Node runtime.

Open source · GPL-3.0 · MCP-ready

Early access

Get the stack - leave your email.

No spam. We'll only email you about CMStack early access.

Node ≥22
Runtime
Next.js + NestJS
Framework
13+
Core features
GPL-3.0
Open source
MCP
AI-ready

01 Why this stack

Node performance with the type safety to back it up.

Four reasons the TypeScript edition of CMStack is worth running in production.

01

Async, non-blocking Node runtime

Node's event loop handles many concurrent connections per worker without blocking. More throughput on the same hardware, with no per-request thread overhead.

02

End-to-end TypeScript types

Types flow from the database schema through the NestJS API to the Next.js view layer. Whole classes of runtime errors are caught at build time before they reach a request.

03

Next.js SSR/SSG for SEO-first delivery

Pages are server-rendered or statically generated at build time so search engines index real HTML. Fast Time to First Byte without a separate rendering layer to maintain.

04

NestJS monorepo with Auth.js v5

NestJS's modular architecture keeps the API organised as the project grows. pnpm workspaces manage the monorepo, and Auth.js v5 wires up social login without boilerplate.

02 Features

Everything a serious CMS needs - typed end to end.

The same complete feature set as every CMStack edition, expressed natively in TypeScript.

Content

Pages, posts, categories, tags and menus - the full editorial model, structured and fast to query.

Media library

Upload, organize and serve images and files through a managed media library.

Comments & moderation

Threaded comments with a moderation queue to keep discussion clean.

Roles & permissions

Granular, per-action permissions enforced via CASL so every role sees exactly what it should.

Runtime themes

Switch themes at runtime - no redeploy to change how the site looks.

Plugins & hooks

A typed plugin and hook registry to extend the core without forking it.

Full-text search

Built-in full-text search on PostgreSQL, not a bolted-on afterthought.

Multilingual + hreflang

Author content in multiple languages with correct hreflang signalling.

SEO built in

Open Graph, JSON-LD, sitemaps, robots.txt and llms.txt out of the box.

Social login

Sign in with Google, GitHub, Facebook or LinkedIn via Auth.js v5.

reCAPTCHA v3

Spam protection on public forms with reCAPTCHA v3.

MCP server

An MCP server lets AI clients manage your site through a typed interface.

TypeScript all the way down - not a bolted-on type layer, but a CMS designed from the first line to make the compiler your strongest QA tool.

03 Quickstart

Up and running with one command.

Docker handles the full environment - Node, PostgreSQL and all services in one step.

TypeScript
$ cp .env.example .env && docker compose up --build

Node ≥22 with corepack - see the repo for the manual path.

04 Roadmap

Toggle on what you need. Lose nothing.

Planned modules switch on and off without resetting your data.

Ecommerce

Products, cart, checkout and orders, built into the same core.

News portal

Sections and featured stories tuned for high-volume publishing.

Vehicle marketplace

Listings with search and filters for buying and selling.

Portfolio

Projects, case studies and galleries for showcase sites.

05 Open source

Open by default. Built to be trusted.

GPL-3.0, in the open

The TypeScript edition is open source under GPL-3.0 - read it, run it, extend it.

Built by Elman Group

Designed and maintained by Elman Group, with a consistent feature set across all CMStack editions.

MCP & AI-ready

A built-in MCP server lets AI clients manage content through a typed, permissioned interface.

Tested with Vitest + Playwright

Unit and integration tests via Vitest, end-to-end coverage via Playwright - automated test coverage ships with every build.

06 Early access

Get the stack - and what's coming next.

Drop your details and we'll get you set up with CMStack for TypeScript.

No spam. We'll only email you about CMStack early access.

Star the repo. Ship with TypeScript.

CMStack for TypeScript is open source and available today on GitHub.