# Структура файлов/папок

JohnCMS имеет следующую структуру папок:

* assets
* config
* data
* install
* modules
* system
* themes
* upload

### assets

В папке хранятся аватары (**avatars**), смайлы (**emoticons**) и некоторые системные скрипты (**modules**) для генерации картинок предпросмотра.

{% hint style="info" %}
Подпапка **modules** будет удалена в следующих версиях.
{% endhint %}

### config

В папке хранятся различные конфигурационные файлы необходимые для работы системы. \
Файл **routes.php** отвечает за настройку адресов страниц.\
Файл **constants.php** содержит константы необходимые для работы системы.\
В подпапке **autoload** хранятся файлы, которые автоматически загружаются системой. Работа с конфигурационными файлами подробно описана здесь: [Конфигурационные файлы](https://johncms.com/documentation/configs/).

### data

В папке data хранятся различные системные данные, такие как кэш и логи

### install

В папке install хранятся скрипты и прочие данные необходимые для установки системы.\
Данную папку необходимо удалять после установки JohnCMS

### modules

Папка modules содержит все модули системы\
Подробно про структуру папки модуля будет описано отдельно.

### system

Папка system содержит все системные библиотеки\
В этой папке не рекомендуется ничего менять и добавлять в целях сохранения возможности простого обновления на следующие версии JohnCMS

### themes

Папка themes содержит шаблоны сайта\
В этой папке расположен шаблон **default** в папке с этим шаблоном **не рекомендуется ничего менять** для сохранения возможности простого обновления на следующие версии JohnCMS \
Для кастомизации шаблона создайте отдельную папку и скопируйте в неё содержимое папки default.\
Более подробно про работу с шаблонами читайте в соответствующем разделе документации

### upload

Папка upload содержит файлы модулей, такие как загрузки, прикрепленные файлы форума, библиотеки, альбомы, аватары и файлы личных сообщений.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.johncms.com/master/nachalo-raboty/struktura-failov-papok.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
