SHiNE-server/AGENTS.md

5.1 KiB
Raw Blame History

AGENTS

Язык проекта

  • По умолчанию использовать русский язык во всех пользовательских текстах и технических пояснениях.
  • Пояснения к коммитам, PR и merge-запросам писать на русском языке.
  • Комментарии в коде, встроенные справки, документацию и инструкции писать по возможности на русском языке.

Примечание

  • Если внешний инструмент/интеграция требует английский формат, допускается английский, но рядом желательно дать краткое пояснение на русском.

Документация блокчейна

  • Актуальная документация по форматам блокчейна находится в Dev_Docs/Blockchain/README.md.
  • Это точка входа (оглавление), рядом расположены детальные файлы по форматам, типам каналов и командным сообщениям.
  • При любом изменении кода, связанного с блокчейном (формат блока, типы каналов, правила чтения/записи, команды), обязательно обновлять соответствующие документы в Dev_Docs/Blockchain/.
  • Дополнительно обязательно вести Dev_Docs/Blockchain/CHANGELOG.md: дописывать изменения построчно с указанием даты/времени и хэша коммита, после которого внесено изменение.

Версионирование

  • Единый файл версий проекта: VERSION.properties (в корне репозитория).
  • Перед каждым новым коммитом обязательно увеличивать версии в VERSION.properties:
  • client.version — версия клиентского UI.
  • server.version — версия серверной части.
  • Базовое правило инкремента: +1 по последнему числовому сегменту (patch), если не оговорено иное.

Deploy

  • Все документы и заметки по деплою хранить в папке Deploy Server/.
  • Для сервера VPS-05 (45.136.124.227) доступ выполнять через пользователя player.
  • Базовый целевой хост для деплоя по умолчанию: player@45.136.124.227.
  • Базовый путь на сервере для SHiNE: /home/player (проекты SHiNE размещать в /home/player/SHiNE/...).
  • По возможности все справки, комментарии и примечания в конфигах/документах писать на русском языке.
  • Деплой UI выполнять только в один целевой контур за запуск: либо prod (основной), либо один выбранный тестовый (ui_1, ui_2, ui_3, ui_drygmira, ui_milana, ui_aidar).
  • Если из запроса неясно, куда деплоить, обязательно сначала спросить пользователя, какой именно целевой контур нужен.
  • По умолчанию сначала деплой и проверка на тестовом контуре; на основной (prod) деплоить только после явного подтверждения пользователя, что версия проверена и готова.
  • При уточняющем вопросе отдельно предупреждать: деплой на основной выполнять только если точно подтверждена корректная работа.

Логи звонков (установка соединения)

  • Специальный поток диагностики установки звонков идёт через CallDeliveryReport (клиент → сервер).
  • На проде специальный файл для звонков:
  • /home/player/SHiNE/shine-server/logs/call-delivery-events.log
  • Общий серверный лог (и ротации) на проде:
  • /home/player/SHiNE/shine-server/logs/app.log
  • /home/player/SHiNE/shine-server/logs/app.YYYY-MM-DD.log
  • Для анализа причин недозвона в первую очередь фильтровать записи по ключам:
  • CallDeliveryReport
  • call_connected
  • outgoing_failed
  • incoming_failed
  • call_busy
  • call_declined
  • unknown_error
  • В этих записях искать поля reason, failureStage, pcConnectionState, pcIceConnectionState, routeLabel, configuredTurnHosts*, reachableTurnHosts*.