A modern flat-file CMS for PHP — no database required
Website • Documentation • Pricing • Free trial
Total CMS is a content management system built on PHP 8.2+ and Slim 4 that stores content as flat JSON files instead of in a database. There is no MySQL to provision, no migrations to run, and no plugin ecosystem to keep patched — content lives on disk, so it version-controls, backs up, and deploys like the rest of your code.
It is designed for web designers, freelancers, and agencies who want structured content and a polished admin for their clients, on any commodity PHP host.
- No database — content is JSON on disk; deploy by copying files
- 33 built-in collection types — blog, image, gallery, file, and more — plus unlimited custom schemas
- Twig templating — 89 custom filters and 49 functions on top of stock Twig 3
- Site Builder — add a page in the admin and it is live; no build or generate step
- REST API — full CRUD for headless use, with API-key or OAuth 2.1 authentication
- Built-in MCP server — exposes your site's collections and search to AI agents (Pro)
- Automations — schedule, webhook, and event-triggered handlers with a job queue
- Extensions — a register/boot lifecycle with capability-based permissions
- Admin interface — form builder with 20+ field types, media management, passkey login
- CLI (
tcms) — collections, schemas, objects, import/export, sync, and deploys - Image processing — on-the-fly resizing, watermarking, and OKLCH color handling
- PHP 8.2+ (8.4 supported)
- Composer 2.0+
- Apache or Nginx with URL rewriting
- PHP extensions: GD or ImageMagick, JSON, Fileinfo, OpenSSL
No database server. No Node.js runtime in production.
composer create-project totalcms/totalcms mysite
cd mysitePoint your web server's document root at public/, then open the site in a browser — the
setup wizard handles the admin account, data directory, and license from there.
The installer also offers a subpath layout, which serves Total CMS from /tcms/ and leaves
public/ free for your own frontend build. See the
Installation Guide for web server
configuration.
{% for post in cms.collection.objects('blog') %}
<article>
<h2>{{ post.title }}</h2>
{{ post.content|markdown }}
</article>
{% endfor %}See the Twig documentation for the full filter and function reference.
vendor/bin/tcms collection:list
vendor/bin/tcms jumpstart:export backup.json
vendor/bin/tcms cache:clear
vendor/bin/tcms deployTotal CMS is built to be worked on by coding agents:
- llms.txt and llms-full.txt — the complete documentation in one fetch
- Agent skill — installed into
.claude/skills/automatically oncomposer install, covering collections, schemas, the CLI, and the Site Builder workflow - Built-in MCP server — point an agent at a live site to query its collections and schemas directly (Pro edition)
Full documentation is at docs.totalcms.co.
Total CMS is commercial software. A license is required for production use. See LICENSE.md for terms.
Free 45-day trials are available — no credit card required. Visit totalcms.co for details.