conventional commits - BotBooker/BotBooker GitHub Wiki

В Git‑коммитах используют префиксы (типы) — это стандартизированные метки, которые сразу показывают, какой характер у внесённых изменений. Это упрощает чтение истории коммитов, автоматическую генерацию changelog и работу CI/CD‑систем.

Ниже — основные типы по стандарту Conventional Commits и их значение.

Основные типы

  1. feat (от feature — «функция»)
    Что значит: добавлен новый функционал или существенно улучшена существующая функция.
    Примеры:

    • feat: добавить поиск по пользователям
    • feat: интегрировать API погоды
    • feat: создать компонент карточек товаров
  2. fix (от fix — «исправить»)
    Что значит: исправлена ошибка (баг), которая мешала работе.
    Примеры:

    • fix: устранить ошибку 500 при запросе /users
    • fix: исправить отображение кнопки «Сохранить»
    • fix: починить вход с неверным паролем
  3. perf (от performance — «производительность»)
    Что значит: изменения, которые ускоряют работу приложения (оптимизация алгоритмов, кэширование и т. п.).
    Примеры:

    • perf: уменьшить время загрузки страницы
    • perf: оптимизировать сортировку
    • perf: кэшировать ответы API
  4. refactor (от refactor — «рефакторинг»)
    Что значит: переработка кода без добавления функций и без исправления ошибок. Цель — улучшить читаемость, структуру, поддерживаемость.
    Примеры:

    • refactor: переименовать переменные для ясности
    • refactor: выделить общий код в отдельный метод
    • refactor: упростить валидацию формы
  5. style (от style — «стиль»)
    Что значит: изменения форматирования (пробелы, отступы, точки с запятой), которые не влияют на логику программы.
    Примеры:

    • style: убрать лишние пробелы
    • style: добавить отступы между функциями
    • style: исправить стили заголовков
  6. test (от test — «тест»)
    Что значит: добавлены или изменены тесты (юнит‑тесты, интеграционные тесты и т. п.).
    Примеры:

    • test: добавить юнит‑тесты для валидации
    • test: исправить тестовые данные
  7. docs (от documentation — «документация»)
    Что значит: изменены документы (README, комментарии, API‑документация).
    Примеры:

    • docs: обновить инструкцию по установке
    • docs: исправить опечатки в README.md
    • docs: добавить лицензию
  8. build (от build — «сборка»)
    Что значит: изменения в системе сборки (Webpack, npm, зависимости, скрипты сборки).
    Примеры:

    • build: обновить зависимости
    • build: добавить плагин минификации CSS
    • build: удалить устаревшие скрипты
  9. ci (от continuous integration — «непрерывная интеграция»)
    Что значит: изменены настройки CI/CD (Travis CI, GitHub Actions, конвейеры).
    Примеры:

    • ci: обновить конфигурацию Travis CI
    • ci: добавить этап сборки
    • ci: исправить ошибки в CircleCI
  10. chore (от chore — «рутина»)
    Что значит: мелкие вспомогательные изменения, которые не попадают в другие категории (чистка репозитория, обновление метаданных, правка конфигов, не влияющих на сборку).
    Примеры:

    • chore: очистить старые ветки
    • chore: обновить email в контактах
    • chore: добавить иконку загрузки
  11. revert (от revert — «отменить»)
    Что значит: откат предыдущего коммита (например, если изменения оказались ошибочными).
    Примеры:

    • revert: отменить коммит «feat: добавить аутентификацию»
    • revert: вернуть версию документации

Как это выглядит в коммите

Стандартный формат:

<type>(<scope>): <description>
  • <type> — префикс (например, feat, fix).
  • <scope> — область изменения (опционально; например, parser, ui, api).
  • <description> — краткое описание изменений (без точки в конце, с маленькой буквы).

Пример:

feat(auth): добавить вход через Google

Зачем это нужно

  • Читаемость: сразу видно, что изменилось.
  • Автоматизация: инструменты (например, Semantic Release) парсят префиксы для генерации версий и changelog.
  • Согласованность: команда использует единый стиль, меньше путаницы.
⚠️ **GitHub.com Fallback** ⚠️