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

Как внести свой вклад в проект.

Спасибо за ваш интерес к внесению вклада в Plugify! Мы приветствуем вклад от сообщества, будь то улучшение исходного кода, дополнение документации или исправление ошибок. Ниже вы найдете рекомендации о том, как эффективно вносить свой вклад.

Как внести свой вклад

Чтобы внести свой вклад в Plugify, пожалуйста, используйте функционал pull-запросов GitHub. Если вы новичок в pull-запросах, вы можете узнать о них больше на странице помощи GitHub.

При создании pull-запроса, пожалуйста:

  • Предоставьте четкое описание внесенных вами изменений.
  • Объясните причину изменений.
  • Ссылайтесь на любые связанные проблемы или обсуждения.

После отправки мы рассмотрим ваш pull-запрос, обсудим все необходимые изменения и либо объединим, либо закроем его. Если ваш вклад будет успешным, мы с радостью добавим вас на нашу страницу авторов (если вы этого захотите).

Внесение вклада в исходный код

Если вы вносите вклад в исходный код, пожалуйста, следуйте этим шагам:

  1. Протестируйте свои изменения: Убедитесь, что ваши изменения работают как ожидается и не вносят новых проблем.
  2. Соблюдайте соглашения о кодировании: Придерживайтесь наших правил стиля кодирования. Мы рекомендуем использовать наши конфигурации Clang-Format и Clang-Tidy для автоматического форматирования вашего кода.

Стиль кодирования

  • Используйте осмысленные имена переменных и функций.
  • Делайте функции небольшими и сфокусированными.
  • Добавляйте комментарии там, где это необходимо для объяснения сложной логики.
  • Следуйте существующей структуре кода и шаблонам.

Внесение вклада в документацию

Документация Plugify создана с помощью Shadcn-Docs, а исходные файлы находятся в репозитории документации. Вклад в документацию также осуществляется через pull-запросы.

Структура документации

  • Страницы Wiki: Простые markdown-файлы в каталоге docs.
  • Документация по исходному коду: Генерируется с помощью Doxygen. Файлы конфигурации находятся в каталоге docs.

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

Исходный код документирован с помощью Doxygen. Вот пример того, как документировать функцию:

/**
 * @file
 * @brief Brief description of the file.
 */

/**
 * @brief Brief description of the function.
 *
 * Detailed description of the function.
 */
void exampleFunction();

Если вам нужно вручную задокументировать определенные части кода, вы можете расширить или изменить файл конфигурации Doxygen для соответствующего модуля.

Сборка документации локально

Перед отправкой pull-запроса вы должны протестировать свои изменения, собрав документацию локально. Это гарантирует, что HTML-вывод корректен и хорошо выглядит.

Шаги по сборке документации

  1. Перейдите в каталог build:
    cd build
    
  2. Настройте сборку с включенным Doxygen:
    cmake .. -DPLUGIFY_BUILD_DOCS=ON
    
  3. Соберите документацию:
    cmake --build . --target docs
    
  4. Просмотрите документацию в вашем браузере:
    your_favorite_browser docs/html/index.html
    

Автоматизация процесса сборки

Чтобы сэкономить время, вы можете создать псевдоним (alias) в вашем конфигурационном файле оболочки (например, .bashrc или .zshrc):

alias docbuild='cd docs && doxygen Doxyfile'

Теперь вы можете просто выполнить docbuild в вашем терминале, чтобы сгенерировать документацию.

CI/CD конвейер

После объединения вашего pull-запроса наш CI/CD конвейер автоматически:

  1. Соберет документацию.
  2. Обновит wiki.
  3. Опубликует изменения.

Этот процесс обычно занимает 10-15 минут.

Советы для участников

  • Коммуникация: Если вы в чем-то не уверены, не стесняйтесь задавать вопросы в сообществе Discord или открывать issue на GitHub.
  • Небольшие изменения: Разбивайте большие вклады на более мелкие, управляемые pull-запросы.
  • Тестирование: Всегда тщательно тестируйте свои изменения перед отправкой pull-запроса.

Спасибо!

Мы ценим ваш вклад и с нетерпением ждем совместной работы, чтобы сделать Plugify еще лучше. Если у вас есть какие-либо вопросы или вам нужна помощь, не стесняйтесь обращаться!