Об этом проекте

# Total CMS Современная flat-file система управления контентом для PHP 8.2+, которая хранит весь контент в виде JSON-файлов на диске, а не в базе данных. Не нужно разворачивать MySQL, запускать миграции или поддерживать экосистему плагинов — контент живёт на диске, поэтому он легко версионируется, резервируется и деплоится вместе с остальным кодом. ## Основные возможности - **Не требуется база данных** — весь контент хранится в виде плоских JSON-файлов на диске. Деплой сводится к простому копированию файлов между окружениями. - **33 встроенных типа коллекций** — блог, изображения, галереи, файлы и другие, плюс поддержка неограниченных пользовательских схем. - **Шаблоны Twig** — 89 собственных фильтров и 49 функций поверх стандартного Twig 3 для мощной шаблонной логики. - **Конструктор сайтов** — добавьте страницу в админ-интерфейсе, и она сразу станет доступной. Не нужен этап сборки или генерации. - **REST API** — полный набор CRUD-операций для headless-использования с аутентификацией через API-ключ или OAuth 2.1. - **Встроенный MCP-сервер** — предоставляет ИИ-агентам доступ к коллекциям и поиску по сайту (версия Pro). - **Автоматизации** — обработчики по расписанию, вебхукам и событиям с очередью заданий. - **Система расширений** — жизненный цикл register/boot с разрешением на основе возможностей. - **Админ-интерфейс** — конструктор форм с 20+ типами полей, управление медиаконтентом и поддержка входа через passkey. - **CLI (`tcms`)** — управление коллекциями, схемами, объектами, импорт/экспорт, синхронизация и деплой из командной строки. - **Обработка изображений** — изменение размера на лету, добавление водяных знаков и работа с цветом OKLCH с использованием GD или ImageMagick. ## Требования - PHP 8.2+ (поддерживается 8.4) - Composer 2.0+ - Apache или Nginx с переписыванием URL - PHP-расширения: GD или ImageMagick, JSON, Fileinfo, OpenSSL Сервер баз данных не требуется. В production не нужен Node.js. ## Установка ```bash composer create-project totalcms/totalcms mysite cd mysite ``` Укажите document root веб-сервера на папку `public/`, затем откройте сайт в браузере. Мастер установки настроит учётную запись администратора, директорию данных и лицензию. Установщик также предлагает **вариант с подпутём**, который обслуживает Total CMS через `/tcms/`, оставляя `public/` свободной для вашего фронтенда. ## Пример шаблона ```twig {% for post in cms.collection.objects('blog') %} <article> <h2>{{ post.title }}</h2> {{ post.content|markdown }} </article> {% endfor %} ``` ## Команды CLI ```bash vendor/bin/tcms collection:list vendor/bin/tcms jumpstart:export backup.json vendor/bin/tcms cache:clear vendor/bin/tcms deploy ``` ## Поддержка ИИ-агентов Total CMS создан для удобной работы с coding-агентами: - **[llms.txt](https://docs.totalcms.co/llms.txt)** и **[llms-full.txt](https://docs.totalcms.co/llms-full.txt)** — полная документация в одном запросе - **Навык для агентов** — автоматически устанавливается в `.claude/skills/` при `composer install`, покрывает коллекции, схемы, CLI и рабочий процесс Site Builder - **Встроенный MCP-сервер** — направьте агента на живой сайт для прямого запроса коллекций и схем (версия Pro) ## Документация Полная документация доступна на [docs.totalcms.co](https://docs.totalcms.co). ## Поддержка - [Документация](https://docs.totalcms.co) - [Email-поддержка](mailto:support@totalcms.co) ## Лицензия Total CMS — коммерционное ПО. Для production-использования требуется лицензия. Условия см. в [LICENSE.md](LICENSE.md). Бесплатные 45-дневные пробные версии доступны — без указания банковской карты. Подробности на [totalcms.co](https://totalcms.co).