- Rust >= 1.93.0
Выполнить команду в склонированной директории проекта.
cargo install --path . --bin cargo-pike --locked --forceИспользуется стандартный процесс открытия пулреквестов гитхаба.
- Форкните репозиторий и создайте новую ветку (
git checkout -b feature-branch). - Внесите изменения и убедитесь, что код проходит проверки (
just style-check), компилируется и запускается. - Запустите тесты (
cargo test). - Добавьте информацию о своём изменении в
CHANGELOG.md. - При необходимости внесите изменения в
README.md. - Сделайте коммит, следуя соглашению Conventional Commits (см. ниже).
- Отправьте изменения в ваш форк (
git push origin feature-branch). - Откройте Pull Request (PR) и опишите, какие изменения были внесены.
- Используйте стиль кодирования Rustfmt.
- Следуйте рекомендациям линтера Clippy в режиме pedantic.
- Добавляйте комментарии и документацию (
///для публичных API). - Убедитесь, что ваш код не ломает существующие тесты.
❗ Очень важно. Если коммит содержит несовместимые изменения. Необходимо после типа коммита (см. ниже) добавить восклицательный знак. Пример:
feat!: description
Сообщения коммитов должны соответствовать соглашению Conventional Commits и использовать английский язык в стиле "газетных заголовков (без артиклей и в повелительном склонении)".
Примеры допустимых сообщений коммитов:
feat: add new API for configfeat!: remove --version flagfix: fix config parsing errorchore: update dependencies
Тело комита не является обязательным, но желательно для сложных изменений.
Формат коммита:
<тип>[(область)][!]: <краткое описание>
Типы изменений:
- feat — добавление новой функциональности
- fix — исправление ошибки
- docs — изменение документации
- style — исправления форматирования (без изменения логики)
- refactor — рефакторинг (изменения без исправления багов и добавления новых фич)
- test — добавление или изменение тестов
- chore — изменения, не влияющие на код (например, обновление зависимостей)