Конвенция именования коммитов
Единый стандарт именования коммитов делает историю изменений понятной и удобной для работы. Он помогает:
✅ Быстро понимать суть изменений по заголовку коммита
✅ Автоматически генерировать changelog на основе структурированных сообщений
✅ Упрощать поиск по истории (например, исправлений багов или новых фич)
✅ Поддерживать порядок в командной разработке
Этот репозиторий содержит:
- Конвенцию именования коммитов — правила оформления сообщений.
- Git-хук на PHP — автоматическую проверку соответствия коммитов заданному формату.
Хук можно установить:
- Глобально — для всех репозиториев на вашей системе.
- Локально — только для текущего проекта (через Composer).
Подробнее о правилах: см. CONVENTION.md.
Установка
Глобальная (для всех репозиториев)
Локальная (для одного проекта)
Конфигурация
Настройки проверки коммитов задаются в файле commit-convention.json в корне проекта.
Пример полной конфигурации со значениями по умолчанию:
{
"descriptionRequired": false,
"messageRequireTrailingDot": true,
"mainTags": "initial|new|fix|update|refactor|opt|optimization|tweak",
"additionalTags": "#145|README.md|custom-tag|module_name|feature|ui|api...",
"messageMaxLength": 100,
"messageWarningLength": 80,
"formatHint": "[основной_тег][уточняющий_тег] Сообщение коммита.\n\nОписание..."
}
Параметры конфигурации
descriptionRequired | Требовать обязательное описание коммита после пустой строки |
messageRequireTrailingDot | Обязательная точка в конце сообщения коммита |
mainTags | Основные теги (разделены |). |
additionalTags | Дополнительные теги/модификаторы (разделены |). |
messageMaxLength | Максимальная длина сообщения коммита (в символах) |
messageWarningLength | Длина сообщения, при которой выводится предупреждение |
formatHint | Подсказка формата, которая показывается при ошибке |
Приоритет настроек
- Параметры из
commit-convention.json в корне проекта
- Встроенные значения по умолчанию из
CommitConventionConfig
Дополнительные рекомендации:
📜 Лицензия
Проект распространяется на условиях «ОТКРЫТОЙ ЛИЦЕНЗИИ РФ» версии 1.0
SPDX-Identifier: LicenseRef-OpenRF-1.0
Полный текст: LICENSE.md