diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index d46e23c..181efe9 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -10,6 +10,12 @@ "source": "./av-dev-backlog", "description": "Ведение беклога задач как каталога markdown-файлов: заведение из диалога, разбор находок ревью, груминг, приоритизация, декомпозиция, штурм идей.", "version": "0.1.0" + }, + { + "name": "av-dev-git", + "source": "./av-dev-git", + "description": "Git-обвязка для личных проектов. Скилл commit — сообщения коммитов в личном стиле (русский, scope-префикс, средняя детализация, без co-authored).", + "version": "0.1.0" } ] } diff --git a/README.md b/README.md index 77bf7e9..5fdbf62 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,9 @@ claude plugin install av-dev-backlog@av-dev-skills --scope project `backlog`: заведение задачи из диалога, разбор находок аудита/ревью, груминг, приоритизация, декомпозиция, штурм идей. Реализацией не занимается. Вызов: `/av-dev-backlog:backlog`. +- **av-dev-git** — git-обвязка для личных проектов. Скилл `commit`: сообщения + коммитов в личном стиле (русский, опциональный scope-префикс, первая строка + «что сделано», тело 1–3 пункта, без co-authored). Вызов: `/av-dev-git:commit`. Соглашение об именах: имя **плагина** длинное с префиксом `av-dev-` (уникально в маркетплейсе), имена **скилов** внутри — короткие. Вызов выходит вида diff --git a/av-dev-git/.claude-plugin/plugin.json b/av-dev-git/.claude-plugin/plugin.json new file mode 100644 index 0000000..4ac609d --- /dev/null +++ b/av-dev-git/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "av-dev-git", + "description": "Git-обвязка для личных проектов. Скилл commit — сообщения коммитов в личном стиле (русский, scope-префикс, средняя детализация, без co-authored).", + "version": "0.1.0", + "author": { + "name": "Anton Vakhrushev", + "email": "anwinged@gmail.com" + } +} diff --git a/av-dev-git/skills/commit/SKILL.md b/av-dev-git/skills/commit/SKILL.md new file mode 100644 index 0000000..3219fa6 --- /dev/null +++ b/av-dev-git/skills/commit/SKILL.md @@ -0,0 +1,49 @@ +--- +name: commit +description: Оформить git-коммит в личном стиле проекта. Сообщение на русском, средняя детализация, опциональный scope-префикс, первая строка отвечает «что сделано», тело — списком 1–3 пункта, без co-authored. Использовать, когда нужно закоммитить изменения или сформулировать текст коммита. +--- + +# Коммит + +Сообщение коммита на русском, лаконичное, но не пустое. Цель формулировки — +чтобы через полгода можно было быстро найти изменение по области или по проблеме. +Уровень конкретики средний: не абстрактно («правки», «фиксы»), но и не пересказ +диффа построчно — достаточно, чтобы понять суть. + +## Первая строка + +- Отвечает на вопрос **что сделано** — результатом, а не командой: `добавлены`, + `изменён`, `обновлено`, `исправлен`, `удалено`, `переименовано` и т.п. +- В начале **опционально** область изменения через двоеточие: `: <текст>`. + Scope — пакет, файл или подсистема (`backlog:`, `readme.md`). Если область + очевидна или изменение размазано — можно без неё. +- Английские термины, имена классов, функций, файлов — оставляем на английском, + не транслитерируем и не переводим. + +## Тело (опционально) + +- Нужно, только когда первой строки мало: неочевидное «почему», важная деталь, + несколько разнородных изменений. +- Списком, **1–3 пункта**. Не влезает в три — сигнал, что коммит стоит разбить. +- Та же средняя детализация, что и в заголовке. + +## Чего НЕ делаем + +- **Без `Co-Authored-By`** и любых трейлеров-подписей. +- Не пишем прозу по-английски (кроме терминов и имён). +- Не уходим в крайности — ни абстракция, ни построчный отчёт. + +## Примеры + +``` +backlog: добавлены задачи про загрузку +``` +``` +readme.md дополнен информацией об установке плагинов +``` +``` +исправлен баг с отображением источника +``` + +Разнородные изменения — не один коммит с длинным телом, а несколько коммитов, +каждый со своей узкой первой строкой.