Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 3.58 KB

File metadata and controls

64 lines (44 loc) · 3.58 KB

Contributing Guide

Системные зависимости

  • Rust >= 1.93.0

Установка версии из исходников

Выполнить команду в склонированной директории проекта.

cargo install --path . --bin cargo-pike --locked --force

Как добавить изменение

Используется стандартный процесс открытия пулреквестов гитхаба.

  1. Форкните репозиторий и создайте новую ветку (git checkout -b feature-branch).
  2. Внесите изменения и убедитесь, что код проходит проверки (just style-check), компилируется и запускается.
  3. Запустите тесты (cargo test).
  4. Добавьте информацию о своём изменении в CHANGELOG.md.
  5. При необходимости внесите изменения в README.md.
  6. Сделайте коммит, следуя соглашению Conventional Commits (см. ниже).
  7. Отправьте изменения в ваш форк (git push origin feature-branch).
  8. Откройте Pull Request (PR) и опишите, какие изменения были внесены.

Требования к коду

  • Используйте стиль кодирования Rustfmt.
  • Следуйте рекомендациям линтера Clippy в режиме pedantic.
  • Добавляйте комментарии и документацию (/// для публичных API).
  • Убедитесь, что ваш код не ломает существующие тесты.

Стиль коммитов (Conventional Commits)

❗ Очень важно. Если коммит содержит несовместимые изменения. Необходимо после типа коммита (см. ниже) добавить восклицательный знак. Пример: feat!: description

Сообщения коммитов должны соответствовать соглашению Conventional Commits и использовать английский язык в стиле "газетных заголовков (без артиклей и в повелительном склонении)".

Примеры допустимых сообщений коммитов:

  • feat: add new API for config
  • feat!: remove --version flag
  • fix: fix config parsing error
  • chore: update dependencies

Тело комита не является обязательным, но желательно для сложных изменений.

Формат коммита:

<тип>[(область)][!]: <краткое описание>

Типы изменений:

  • feat — добавление новой функциональности
  • fix — исправление ошибки
  • docs — изменение документации
  • style — исправления форматирования (без изменения логики)
  • refactor — рефакторинг (изменения без исправления багов и добавления новых фич)
  • test — добавление или изменение тестов
  • chore — изменения, не влияющие на код (например, обновление зависимостей)