Products / Modular CMS

Modular CMS.

Powers atypisch.com itself amongst other running projects. Open source. Late beta.

Status Beta · late
~ quickstart
$ curl -L atypisch.com/modular-cms | bash → installing modular-cms... → pick EU region (1–4): 2 → running on https://modularcms.org

Walkthrough

Inside the console.

Scroll. The screen stays put, the story moves.

01 — Editor

Fields where editors expect them.

Custom post types and field groups without a plugin zoo. The admin stays calm while the schema stays flexible.

Field groupsPost types

02 — Content

Blocks and relations that ship.

Compose pages with reusable components. Relations stay queryable. Preview works for unpublished work.

BlocksPreview

03 — Build

Developer-first, user-second never.

PHP API for themes, Vue admin where it helps. Open source. Powers atypisch.com itself.

PHP 8.1Vue 3
modularcms.org

A CMS you can still explain in five years.

BetaLate beta status
1Schema, not a plugin pile
OSSOpen source
EUHosted with the rest of the stack
Modular CMS screen 1 modularcms.org
Modular CMS screen 2 modularcms.org
Modular CMS screen 3 modularcms.org
Modular CMS screen 4 modularcms.org
Modular CMS screen 5 modularcms.org
Modular CMS screen 6 modularcms.org
Modular CMS screen 7 modularcms.org
Modular CMS screen 8 modularcms.org
01 / 08

Spec sheet

What ships in the box.

Schema

Custom types and fields

Define post types and field groups in one place. Repeaters, relations, blocks, media.

Theme API

PHP helpers for the front

md_get_post, md_get_field, render_blocks. Themes stay thin and readable.

i18n

Translations without a side CMS

Multi-language content next to the same posts. No duplicate product for locales.

Admin

Vue where it earns its keep

Modern editor UI on a PHP core. Export and import for moving content between environments.

Under the hood

Boring stack, on purpose.

PHP 8.1MySQL 8Vue 3BlocksOpen source

PHP 8.1, MySQL 8, Vue 3. Chosen to stay maintainable, not to impress a changelog.

Releases

Version history.

12 Sep 2026

Post types own their fields

A post type carries its own field structure, edited where the type is defined. Field groups are for adding extra fields on top, bound by a condition. Editing either now invalidates the cached schema immediately, where a change used to take up to five minutes to appear.

Feature update
12 Sep 2026

Seven queries a page, down from fifty

A warm page render went from forty to fifty queries down to seven to thirteen. Settings, menus and the module registry are read once and cached, system modules no longer write to the database on every request, and four boilerplate queries per request are gone.

Performance
12 Sep 2026

Site code out of the CMS core

One site's routes, migrations, configuration and helpers moved out of the core and into its own module, behind three routing hooks a module can claim a URL with. The core front controller lost four hundred lines and no longer names a single theme or site.

Major release
26 Jun 2026

Scheduled publishing and faster overviews

A scheduled post publishes itself once its time passes, without a cron job. Content overviews gained pagination, indexes, caching and search across custom fields.

Feature update
17 Jun 2026 v1.02

One admin, no external dependencies

The legacy admin is removed and the Vue admin is the only one, with zero external dependencies at runtime. Per-post-type export and import bundles carry their own media, uploads are stored by year and month, and the relationship picker stays fast on a long list.

Major release

Also in the family

Pairs well with.

Next product

Rozuro

Bookkeeping for freelancers and small teams across the EU. VAT filing, bank integration, real insight.