# Зоны движка: что можно править

Карта каталогов Celena CMS в виде «светофора». Правило простое: при обновлении ядра файлы движка **заливаются поверх** (см. «Обновление CMS»), поэтому выживают только правки в ваших собственных каталогах.

## Красная зона — не редактировать

Перезаписывается целиком при каждом обновлении CMS. Любая правка здесь будет потеряна.

| Что | Зачем это движку |
|---|---|
| `core/` | Ядро: роутер, БД, шаблонизатор, безопасность |
| `modules/` | Штатные модули панели (страницы, новости, настройки…) |
| `config/` | Конфигурация ядра (настройки сайта — в панели и `.env`, не здесь) |
| `bin/` | Консольные команды (`php bin/celena …`) |
| `docs/` | Документация для разработчиков — читать можно, править нельзя |
| `public/assets/` | Штатные ассеты ядра и плагинов |
| `index.php`, `admin.php`, `.htaccess` | Точки входа и серверные правила |
| `plugins/leads`, `plugins/shop`, `plugins/analytics`, `plugins/handbook` | Штатные плагины |
| `templates/default`, `templates/admin`, `templates/commerce` | Штатные темы |

Нужно изменить поведение ядра или штатного плагина? Делается **своим плагином через хуки** (см. «Хуки и события») — ядро остаётся нетронутым и обновляемым.

## Жёлтая зона — править осторожно

Обновление эти файлы **не трогает**, но ошибка здесь ломает сайт целиком.

- **`.env`** — доступы к базе, ключи, режим отладки. Правится редко и по одной строке; перед правкой — копия файла. Рекомендуемые права — `600`. Никогда не показывайте содержимое посторонним (и не вставляйте целиком в чат с ИИ).
- **Форк штатной темы** — хотите менять `default` или `commerce`? Скопируйте тему под своим именем (`templates/mysite/`), поправьте `theme.json` и включите её в панели. Копия — ваша, обновления её не затирают. Правка штатной темы «по месту» — классическая ошибка (см. «Типичные поломки»).

## Зелёная зона — ваша территория

Здесь живёт весь ваш код. Обновления ядра эти каталоги не трогают.

- **`plugins/<ваш-плагин>/`** — любая своя логика: роуты, контроллеры, миграции, админ-страницы. Как создать — «Создание плагина».
- **`templates/<ваша-тема>/`** — внешний вид сайта: шаблоны `.tpl` и ассеты темы. Как создать — «Создание темы».

## Серая зона — не трогать руками

Эти каталоги наполняет сам движок; редактировать их файлы бессмысленно или вредно.

- **`storage/`** — кэш, логи, сессии, бэкапы. Единственная уместная операция — очистка кэша (`php bin/celena cache:clear`).
- **`public/uploads/`** — загрузки медиатеки. Файлы сюда добавляются через панель; выполнение PHP здесь запрещено намеренно.
- **`install.lock`** — метка «сайт установлен». Удаление снова откроет установщик.
