Внесение вклада

Как сообщить о проблеме и отправить изменения в Plugify и его документацию.

Plugify разрабатывается открыто на GitHub, в организации untrustedmodders. Мы рады сообщениям об ошибках, исправлениям, новым возможностям и улучшениям документации.

Где что лежит

Каждая часть — отдельный репозиторий:

ЧастьРепозиторий
Ядро и тестовое приложение plugplugify
Языковые модулиplugify-module-<язык>, например plugify-module-cpp
Шаблон нового языкового модуляplugify-module-template
Хосты игровых серверовplugify-source2-launcher, plugify-metamod-loader
Базовые плагиныplugify-plugin-<имя>, например plugify-plugin-s2sdk
Этот сайтuntrustedmodders.github.io

Issue и pull request открывайте в том репозитории, к которому относится изменение.

Сообщение о проблеме

Сначала поищите среди существующих issue. Хорошее сообщение:

  • воспроизводимо: шаги, которые приводят к проблеме;
  • конкретно: версии ядра, модулей и хоста, платформа;
  • одна проблема на issue.

Если что-то падает или плагин не запускается, приложите отчёт, который ядро пишет в лог после загрузки, и, если есть, стек вызовов.

Отправка изменений

Обсудите большие изменения заранее

Прежде чем браться за что-то крупное, откройте issue или спросите в Discord, чтобы работа не дублировалась.

Сделайте форк и ветку

git checkout -b feat/my_feature

Пишите коммиты по Conventional Commits

Репозитории используют Conventional Commits: сообщение коммита начинается с типа, например feat:, fix:, docs: или chore:. По этим сообщениям release-please делает релизы и списки изменений.

git commit -m "feat: add my_feature"

Откройте pull request

Опишите, что изменилось и зачем, и сошлитесь на issue, который он закрывает. Делайте pull request небольшими: их проще проверять.

Перед отправкой кода соберите его, запустите в plug и следуйте стилю кода.

Документация

Этот сайт

Сайт собран на Nuxt с темой shadcn-docs-nuxt. Страницы — Markdown-файлы в content/ (английский) и content/ru/ (русский); у каждой английской страницы есть русская по тому же пути и с той же структурой.

npm ci
npm run dev

npm run check проверяет примеры манифестов по схемам Plugify, сверяет английские и русские страницы, собирает сайт и проверяет внутренние ссылки. Запускайте её перед pull request.

Справочник по API ядра

Заголовки ядра документированы комментариями Doxygen. Чтобы собрать справочник локально:

cmake -S . -B build -DPLUGIFY_BUILD_DOCS=ON
cmake --build build --target docs

Он записывается в build/docs/html. Достаточно изменить комментарии в заголовках; сгенерированный HTML не коммитится.

Правила поведения

Будьте вежливы в issue, pull request и в Discord. В репозитории ядра есть правила поведения.