Type-first content Infrastructure for TypeScript teams.

Define your schema in code, let cms0 generate tables and content APIs, then ship with a typed SDK that keeps every client in sync.

git:(main)x

npm i @cms0/cms0

Powering the best teams

Nvidia Logo
Column Logo
GitHub Logo
Nike Logo
Lemon Squeezy Logo
Laravel Logo
Lilly Logo
OpenAI Logo
Nvidia Logo
Column Logo
GitHub Logo
Nike Logo
Lemon Squeezy Logo
Laravel Logo
Lilly Logo
OpenAI Logo
app screen

Features

Everything you need to ship a type-first CMS.

cms0 turns your TypeScript schema into a living content system: database tables, REST-ish endpoints, and a typed SDK that stays in lockstep with your app.

Schema as code

Type-first models that never drift.

Define content types in TypeScript, then let cms0 emit the descriptor and Zod validators your app depends on. Learn more

Auto provisioning

Database tables and APIs on every change.

Publish a descriptor and cms0 regenerates tables, migrations, and content endpoints safely. Learn more

Typed SDK

Typed reads, validated responses.

Call data.homePage() or data.blogPosts() with generated types and runtime validation out of the box. Learn more

Admin studio

Content editing without custom dashboards.

A schema-aware UI for editors, API keys, and workspace roles built directly from your types. Learn more

Environments

Ship schema changes with confidence.

Separate environments, snapshots, and migrations so every deploy stays reversible and safe. Learn more

Self-host or cloud

Run cms0 where your data lives.

Deploy on your own infrastructure or use the hosted control plane. Your schema stays portable. Learn more

Access control

Guard content with roles and API keys.

Issue scoped keys, manage editor permissions, and integrate auth providers with ease. Learn more