# Обязательные инструкции проекта ## Язык общения - Все ответы пользователю в чате необходимо писать только на русском языке. - Английский язык допустим только внутри кода, имён API, идентификаторов, путей, команд и дословных технических терминов, когда перевод ухудшает точность. ## Коммиты - Все сообщения коммитов, включая заголовок и описание, необходимо писать только на русском языке. ## Работа с Unity - При любой работе с Unity обязательно использовать MCP-сервер `unityMCP`. - Это правило распространяется в том числе на UI, сцены, префабы, GameObject, компоненты, ассеты, материалы, камеры, настройки проекта, консоль, компиляцию, тесты и визуальную проверку результата. - Перед изменениями читать через `unityMCP` релевантные ресурсы и состояние Unity Editor. После изменений проверять результат через `unityMCP`, включая состояние компиляции, консоль, тесты и снимки экрана, когда это применимо. - Не считать работу с Unity завершённой без проверки через `unityMCP`. Если сервер недоступен, явно сообщить об этом пользователю и не подменять обязательную Unity-проверку неподтверждёнными предположениями. ## DOTween - В проекте новые `Tween` и `Sequence` не запускаются автоматически. - После создания анимации обязательно явно вызывать `PlayForward()` или `Play()`. - Если метод только собирает и возвращает анимацию, явный запуск обязан выполнить вызывающий код. ## Память и контекст проекта - В любой задаче без исключений обязательно использовать MCP-сервер `agentmemory` для получения и сохранения контекста проекта. - В начале каждой задачи запрашивать из `agentmemory` релевантную информацию до принятия архитектурных и реализационных решений. - Использовать `agentmemory` как постоянное хранилище сведений об архитектуре, структуре папок и файлов, кодовой базе, документации, принятых решениях, соглашениях, зависимостях, известных проблемах и результатах работы. - По мере исследования и выполнения задачи сохранять или обновлять в `agentmemory` новую существенную информацию, чтобы она была доступна в следующих задачах. - При создании контекста решения обязательно объединять актуальное состояние репозитория и Unity Editor с информацией из `agentmemory`; не полагаться только на текущий чат. - Перед завершением задачи фиксировать в `agentmemory` важные изменения, решения и результаты проверки. - Если `agentmemory` недоступен, явно сообщить об этом пользователю. Попытка обратиться к `agentmemory` всё равно обязательна; задача не должна молча обходить это требование. # Code Style ## Структура скрипта (строгий порядок) 1. `public event` 2. `public` поля 3. `[SerializeField] private` поля 4. `private` поля 5. Свойства 6. Unity-методы (`Awake` → `OnEnable` → `Start` → `Update` → `FixedUpdate` → `LateUpdate` → `OnDisable` → `OnDestroy`) 7. Публичные методы 8. Приватные методы ## Именование | Что | Как | |-----|-----| | Публичные поля | `camelCase` | | Публичные события | `PascalCase` | | `[SerializeField] private` | `_camelCase` | | Приватные поля | `_camelCase` | | Свойства | `PascalCase` | | Параметры методов | `camelCase` | ## Комментарии - **Без `/// `** - Комментарии только для сложной/неочевидной логики