Перейти к содержанию

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

Спасибо за интерес к проекту! Любой вклад важен — исправление ошибок, добавление новых функций, улучшение документации, предложение идей и сценариев использования.

С чего начать

  1. Ознакомьтесь с документацией и структурой репозитория, чтобы понять общую архитектуру и принятые подходы.
  2. Проверьте существующие Issues — возможно, похожая задача уже обсуждается или ею кто‑то занимается.
  3. Форкните репозиторий и создайте отдельную ветку для своих изменений (например, feature/... или fix/...).
  4. Если планируются крупные изменения, сначала откройте Issue или черновой PR (Draft) для обсуждения подхода.

Pull Request: оформление и проверка

  • Пишите понятные, информативные commit‑сообщения на английском или русском (но в рамках одного PR лучше придерживаться одного языка).
  • Соблюдайте принятый в проекте стиль кода (форматирование, именование, структура файлов).
  • При добавлении нового функционала:

    • обновите или добавьте соответствующий раздел документации;
    • при необходимости добавьте/обновите тесты и примеры использования.
  • Перед отправкой PR:

    • убедитесь, что проект собирается без ошибок;
    • запустите все доступные тесты/проверки (lint, unit, integration — при наличии);
    • устраните предупреждения статических анализаторов, если они подключены к проекту (pre-commit, linters).
  • В описании PR:

    • кратко опишите суть изменений и мотивацию;
    • укажите, какие Issues закрываются (например, Closes #123);
    • добавьте скриншоты/примеры, если меняется UI или формат отчетов.

Сообщение об ошибках и предложениях (Issues)

  • Используйте шаблон Issue, если он есть в репозитории.
  • Для баг‑репортов указывайте:

    • шаги для воспроизведения;
    • ожидаемое поведение;
    • фактический результат;
    • версию инструмента/окружения (OS, Python, зависимости и т.п.).
  • Для feature‑запросов опишите:

    • проблему или сценарий, который вы хотите решить;
    • ожидаемый результат;
    • возможные ограничения/риски.
  • Перед созданием Issue проверьте по поиску, не было ли уже заведено аналогичное обращение.

Стиль, структура и данные

  • Для описания инструментов соблюдайте существующий формат meta‑полей (названия, типы, структуры списков).
  • При добавлении новых полей:

    • по возможности обсудите изменение через Issue/PR;
    • следуйте общему неймингу и логике уже существующих полей.
  • Для текстов:

    • старайтесь писать нейтрально, без маркетинговых преувеличений;
    • указывайте факты, которые можно проверить (ссылки на сайт/репозиторий, официальную документацию).
  • Не добавляйте заведомо устаревшие или не поддерживаемые инструменты без пометок об их статусе.

Обсуждения и поддержка

  • Используйте раздел Issues для вопросов, обсуждений идей и уточнений по архитектуре или данным.
  • Поддерживайте вежливый и конструктивный тон, уважайте точку зрения других участников.
  • Если не уверены, куда поместить изменения (категория, division, тип и т.п.) — лучше спросить в Issue перед внесением правок.

Если у вас есть вопросы или нужна помощь с первым вкладом, создайте Issue с пометкой question или свяжитесь с мейнтейнерами в удобном для проекта канале.

Спасибо за ваш вклад!