
Cmsify
Composable content, delivered.
Most CMSs let content models drift under your feet: change a field and every published page changes with it. Cmsify is built the other way around. Templates (content-type schemas) and inline components are versioned, published content is pinned to an immutable version, and moving content onto a newer template is something you do on purpose.
It is a headless CMS: a .NET 10 API over PostgreSQL, a Blazor admin UI for editors, and a versioned HTTP API for everything else. First-party TypeScript and .NET clients are for server-side applications, and reusable Blazor components cover content-editing UI. Workspaces, role-scoped API clients, OIDC sign-in, webhooks, scheduled publishing, and local or S3-compatible media storage are included. It ships as Docker images with a production Compose template.
Cmsify is open source under AGPL-3.0, published as-is and maintained on a best-effort basis. It is pre-1.0. The full guides, API integration notes, and operations documentation live at docs.cmsify.dev.
[Cmsify enters upstage, template in hand. The schema was versioned before it walked on.]
Features
- No. 01
An admin built for editors
A Blazor admin UI with workspaces, scheduled publishing, and media management.
- No. 02
Runs where you run it
Docker images for the API and admin, a production Compose template, OIDC sign-in, and S3-compatible storage.
- No. 03
An API and clients you can build on
A versioned HTTP API with first-party TypeScript and .NET clients for server-side applications.
- No. 04
Versioned templates
Content models are versioned. Published content stays pinned to an immutable version until you move it.
- No. 05
Composable by design
Build content types from templates and reusable inline components instead of one-off schemas.