Imported from Alex1980Alex/1C-Enterprise_Framework (
.claude/skills/git-commit-message/SKILL.md). Install upstream withnpx skills add Alex1980Alex/1C-Enterprise_Framework --skill git-commit-message. Copyright stays with the author.
Git Commit Message Generator
Навык для формирования сообщений коммитов по корпоративному стандарту Conventional Commits.
Overview
Этот skill анализирует выполненную задачу и изменённые файлы, затем формирует структурированное сообщение коммита в формате "Как было / Как стало" для удобного копирования пользователем.
When to Use This Skill
- Пользователь просит "сформировать коммит" или "создать commit message"
- Нужно описать изменения для git
- Пользователь указывает на выполненную задачу и просит оформить коммит
- Фразы: "сделай коммит", "подготовь сообщение коммита", "опиши изменения"
Структура сообщения коммита
<type>: <description>
[body]
[footer]
Типы коммитов (type)
| Тип | Когда использовать |
|---|---|
| feat | Добавление нового функционала |
| fix | Исправление ошибок |
| improvement | Развитие существующего функционала |
| refactor | Рефакторинг без изменения функциональности |
| style | Форматирование, пробелы, точки с запятой |
| docs | Добавление/изменение документации |
| test | Добавление/исправление тестов |
| build | Сборка релиза, зависимости |
| vbuild | Обновление библиотек поставщика (1С) |
| ci | Работа с CI/CD |
| perf | Оптимизация производительности |
| revert | Откат изменений |
| adapt | Адаптация под новую конфигурацию поставщика |
| chore | Прочие изменения (не влияют на код) |
Description (заголовок)
- Формулируется от РЕЗУЛЬТАТА (что сделано?)
- Задача: "Доработать проведение документа" → Коммит: "Доработано проведение документа"
- Задача: "Исправить ошибку расчёта" → Коммит: "Исправлена ошибка расчёта"
Body (тело) - зависит от типа
feat / improvement:
Как было:
- Описание состояния ДО изменений
Как стало/список результатов:
- Результат 1
- Результат 2
- ...
Пояснение (опционально):
- Дополнительные важные факты
fix:
Как было/ошибочное поведение:
- Описание причины ошибки
Как стало/исправление:
- Как исправлено
refactor / style:
- Описание сути рефакторинга
- Основание (например SonarQube номер правила)
build / vbuild:
Как было:
- Версия до
Как стало:
- Версия после
- Краткое описание изменений (опционально)
Footer (подвал)
МЕТАДАННЫЕ: JIRA-НОМЕР
How Claude Uses This Skill
Шаг 1: Сбор информации
- Прочитать задачу - документ с описанием что нужно было сделать
- Получить git status - список изменённых файлов
- Определить тип - feat/fix/refactor и т.д.
Шаг 2: Анализ изменений
- Определить какие объекты метаданных изменены
- Сгруппировать по типам (Справочники, Документы, Обработки, Модули)
- Выделить ключевые изменения
Шаг 3: Формирование сообщения
- Сформировать заголовок (type: description)
- Заполнить body по шаблону типа
- Добавить footer с номером задачи
Шаг 4: Вывод результата
ВАЖНО: Результат выводится в блоке кода для удобного копирования:
## Сообщение коммита:
```
feat: Доработано определение состояний качества
Как было:
...
Как стало/список результатов:
...
МЕТАДАННЫЕ: GKSTCPLK-1910
```
Examples
Example 1: feat - Новый функционал
Задача: GKSTCPLK-1910 - Доработать определения состояния качества
Результат:
feat: Доработано определение состояний качества для усиленного контроля
Как было:
Механизм определения состояния качества не учитывал особенности работы с промежуточным композитом
Как стало/список результатов:
Документ "Формирование номера пробы":
- При наличии записей в РС "Показатели УК по регистрации" устанавливается Состояние = "Ожидание итогового анализа"
- Добавлен комментарий для группы ТС
Документ "Лабораторный анализ":
- Исключена обработка данных для заблокированных ТС
- Вычисленные состояния записываются для каждой регистрации
Изменённые объекты:
- Справочник гкс_ГруппыТС
- Общие модули: гкс_ВходнойКонтрольКачества, гкс_РаботаСПоказателямиНоменклатуры
- Документы: гкс_ЛабораторныйАнализ, гкс_ФормированиеНомераПробы
МЕТАДАННЫЕ: GKSTCPLK-1910
Example 2: fix - Исправление ошибки
Задача: HR30RU-1277 - Исправить проведение документа Изменение ШР
Результат:
fix: Исправлено проведение документа "Изменение штатного расписания"
Как было/ошибочное поведение:
При изменении документа в момент проведения возникает ошибка:
"Не удалось записать классы условий труда по должностям..."
Причина: в алгоритме записи данных не было предусмотрено, что могут быть строки закрытия позиций ШР
Как стало/исправление:
Добавлена проверка: изменения данных закрытых позиций ШР больше не отслеживаются
Запись данных в закрытые периоды не осуществляется
МЕТАДАННЫЕ: HR30RU-1277
Example 3: refactor - Рефакторинг
Задача: Рефакторинг модуля расчёта НДС
Результат:
refactor: Переработан модуль расчёта НДС
- Выделены общие функции расчёта в отдельный модуль
- Устранено дублирование кода в 5 процедурах
- Упрощена логика определения ставки НДС
Основание: SonarQube S1192 (дублирование строковых литералов)
МЕТАДАННЫЕ: TECHDEBT-456
Example 4: build - Сборка релиза
Задача: Сформировать релиз MFM 2024.7.1.0
Результат:
build: Сформирован релиз MFM 2024.7.1.0
Как было:
Релиз 2024.6.1.0
Как стало:
Релиз 2024.7.1.0
МЕТАДАННЫЕ: GMFM-2455
Best Practices
Заголовок (description)
- Краткий (до 72 символов)
- От результата: "Добавлено", "Исправлено", "Доработано"
- Без точки в конце
- На русском языке
Тело (body)
- Отделено пустой строкой от заголовка
- Структурировано по шаблону типа
- Конкретные результаты, не общие слова
- Список изменённых объектов для крупных изменений
Терминология 1С (ОБЯЗАТЕЛЬНО)
В сообщениях коммитов использовать стандартные названия объектов метаданных 1С, а НЕ имена файлов на диске.
| Имя файла (НЕ использовать) | Термин 1С (использовать) |
|---|---|
ObjectModule.bsl |
Модуль объекта |
ManagerModule.bsl |
Модуль менеджера |
Forms/.../Module.bsl |
Модуль формы |
Ext/Module.bsl (общий модуль) |
Общий модуль |
CommandModule.bsl |
Модуль команды |
RecordSetModule.bsl |
Модуль набора записей |
ValueManagerModule.bsl |
Модуль менеджера значения |
SessionModule.bsl |
Модуль сеанса |
SQL / SQL-запрос |
Запрос |
Form.xml |
Форма (описание) |
DataProcessors/ |
Обработка |
Documents/ |
Документ |
InformationRegisters/ |
Регистр сведений (РС) |
Catalogs/ |
Справочник |
CommonModules/ |
Общий модуль |
Enums/ |
Перечисление |
AccumulationRegisters/ |
Регистр накопления |
Формат описания изменений:
Обработка гкс_ИмяОбработки:
- Форма ИмяФормы, модуль формы, процедура ИмяПроцедуры: описание изменения
- Модуль объекта, функция ИмяФункции: описание изменения
Документ гкс_ИмяДокумента:
- Модуль менеджера, процедура ИмяПроцедуры: описание изменения
Регистр сведений гкс_ИмяРегистра:
- Модуль менеджера, процедура ИмяПроцедуры: описание изменения
Footer
- Отделён пустой строкой от body
- Содержит номер задачи Jira
- Формат:
МЕТАДАННЫЕ: PROJECT-NUMBER
Common Pitfalls
- ❌ Заголовок от задачи ("Доработать...") вместо результата ("Доработано...")
- ❌ Слишком длинный заголовок (> 72 символов)
- ❌ Отсутствие секции "Как было"
- ❌ Общие фразы вместо конкретных результатов
- ❌ Забыт номер задачи в footer
- ❌ Использование имён файлов вместо терминов 1С:
ObjectModule.bslвместо "Модуль объекта",Module.bslвместо "Модуль формы",SQLвместо "Запрос",ManagerModule.bslвместо "Модуль менеджера"
Источник правил
Правила оформления коммитов описаны в:
D:\1C-Enterprise_Framework\Документация разработчика\Сценапий разработки\006. Оформление коммитов.md
Related Skills
- 1c-development - Разработка 1С
- create-skill - Создание skills