Flat-file PHP CMS.
Built on HATEOAS.

Download it. Create a file. Ship a page.

No database to set up. No config to wrestle with. It stays just as simple whether you're putting together a single page or a few hundred.

Pages are folders. Content is plain JSON, sitting right alongside your code: readable in any editor, diffable in any git log.

It's a PHP CMS underneath. You'll get to that part soon enough.

site/pages/
  about/
    index.json     # uuid, view, metadata
    data.json      # title, body, whatever fields you add
  blog/
    hello-world/
      index.json
      data.json

HATEOAS

Every route returns HTML. HTMX drives all interactions. The URL pattern is the API: no JSON layer, no client-side routing, no state management.

Files & Folders

Every page is a folder, every piece of content is a JSON file. No connection strings, no migrations, no SQL queries.

Override system

Everything in phlat/ is a default. Drop a matching file in site/ and it takes precedence. No configuration required.

Version controlled

Content lives alongside code in plain files. Every change is a diff. Roll back a page edit the same way you roll back a commit.

See all features →

Quick start

Point the web server document root at public/, then bootstrap the app.

```php
<?php

$app = new Phlat\App(__DIR__);
$app->execute();
```

Recent updates

All updates →
Latest

v0.0.70

16 July 2026

Registry admin table switched to infinite scroll, and standard-sized UI controls restored in a few admin panels.