Skip to content

totalcms/cms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,454 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Total CMS

A modern flat-file CMS for PHP — no database required

WebsiteDocumentationPricingFree trial


About

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

Requirements

  • 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.

Installation

composer create-project totalcms/totalcms mysite
cd mysite

Point 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.

Twig templates

{% 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.

CLI

vendor/bin/tcms collection:list
vendor/bin/tcms jumpstart:export backup.json
vendor/bin/tcms cache:clear
vendor/bin/tcms deploy

For AI agents

Total 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 on composer 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)

Documentation

Full documentation is at docs.totalcms.co.

Support

License

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.

About

A modern, flat-file CMS for PHP — no database required. JSON storage, Twig templating, REST API, full admin interface, and AI-ready with MCP integration.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages