Внесение вклада
Как сообщить о проблеме и отправить изменения в Plugify и его документацию.
Plugify разрабатывается открыто на GitHub, в организации untrustedmodders. Мы рады сообщениям об ошибках, исправлениям, новым возможностям и улучшениям документации.
Где что лежит
Каждая часть — отдельный репозиторий:
| Часть | Репозиторий |
|---|---|
Ядро и тестовое приложение plug | plugify |
| Языковые модули | 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, чтобы работа не дублировалась.
Сделайте форк и ветку
Пишите коммиты по Conventional Commits
Репозитории используют Conventional Commits: сообщение коммита начинается с типа, например feat:, fix:, docs: или chore:. По этим сообщениям release-please делает релизы и списки изменений.
Откройте pull request
Опишите, что изменилось и зачем, и сошлитесь на issue, который он закрывает. Делайте pull request небольшими: их проще проверять.
Перед отправкой кода соберите его, запустите в plug и следуйте стилю кода.
Документация
Этот сайт
Сайт собран на Nuxt с темой shadcn-docs-nuxt. Страницы — Markdown-файлы в content/ (английский) и content/ru/ (русский); у каждой английской страницы есть русская по тому же пути и с той же структурой.
npm run check проверяет примеры манифестов по схемам Plugify, сверяет английские и русские страницы, собирает сайт и проверяет внутренние ссылки. Запускайте её перед pull request.
Справочник по API ядра
Заголовки ядра документированы комментариями Doxygen. Чтобы собрать справочник локально:
Он записывается в build/docs/html. Достаточно изменить комментарии в заголовках; сгенерированный HTML не коммитится.
Правила поведения
Будьте вежливы в issue, pull request и в Discord. В репозитории ядра есть правила поведения.