Mini CMS
A template-first CMS built as an aspect on the Mini PHP framework. Inline editing, media library, auto CRUD, and an admin panel — layered on a plain Mini app without changing how the app works.
Template-first
Content lives inside your PHP templates as cms_text(), cms_html(), and cms_image() calls. The developer defines the structure; the admin edits the values. No database schemas, no content types to configure.
Filesystem storage
Content is stored as JSON and HTML files under _content/. This means git diff shows exactly what changed, branches can carry different content, and a coding agent can edit content directly on disk.
Context-aware
Reusable partials get their own content scope automatically. Embed the same card template three times on a page — each instance stores its content independently, no slug collisions.
Quick start
composer create-project fubber/mini-cms-starter my-site
cd my-site
mini serve
Log in at /login with the default credentials. Every page is inline-editable: long-press (or click Edit in the sidebar) to activate edit mode, make changes, then Save.
For coding agents
This documentation site is itself a Mini CMS site. The pages you see here are the default starter content. An AI coding agent working on a Mini CMS project should:
- Read the view templates in
_views/to understand page structure - Read
_content/routes.phpto see all registered pages - Edit
_content/JSON and HTML files to modify content directly - Use
gitcarefully — content files are versioned, and a bad reset destroys real data
See the Git Workflow page for detailed guidance.