Skip to content
Apothem
Справочник

Соглашения о коммитах

Устанавливает формат сообщений коммитов, тегирование релизов, дисциплину исключительно человеческого авторства и каденцию по задачам для git-артефактов и контроля версий.

Каноническая справка по сообщениям коммитов git, тегам релизов и дисциплине авторства. Сводка в CLAUDE.md «Соглашения» является встроенным объявлением; эта страница — отдельная справка, которую цитируют последующие участники.


1. Conventional Commits

Темы коммитов следуют форме Conventional Commits: <type>(<scope>): <subject>. Замкнутое множество <type> — это {feat, fix, chore, docs, refactor, test, perf, ci, build, style, revert, release}. <scope> — это поверхность, которую затрагивает коммит (например, feat(conformity), docs(adr), fix(ci)); scope опускается только для сквозных изменений, которые не локализуются.

Тема пишется в повелительном наклонении, со строчной буквы после двоеточия type/scope, без точки в конце и менее 72 символов. Тело — отделённое от темы пустой строкой — объясняет, почему изменение существует, а не что изменил diff; сам diff является канонической записью того, что было изменено.

2. Дисциплина авторства (только люди)

Каждая поверхность авторства в каждом git-артефакте (тема коммита, тело коммита, поле Author:, трейлер Co-Authored-By:, трейлер Signed-off-by:, имя ветки, имя тега, аннотация тега, имя stash, тело git-notes, заголовок PR, описание PR) называет только участников-людей. Среда выполнения harness никогда не приписывает себя, базовую языковую модель, среду выполнения / окружение / IDE / расширение / поставщика или любой другой автоматизированный инструмент ни к одной из этих поверхностей. Запрещённые шаблоны включают Co-Authored-By: <model-name>, Co-Authored-By: <noreply@*-vendor.com>, повествование в теле вроде generated with X или co-authored by an automated helper, а также любой маркер в строке темы, сигнализирующий о нечеловеческом авторстве. Полная спецификация находится в src/apothem/rules/production-ready-prs.md §6; механическое принуждение находится в src/apothem/hooks/messages/pretooluse-bash.md Scan 3.

3. Теги релизов (семантическое версионирование)

Теги релизов следуют семантическому версионированию (vMAJOR.MINOR.PATCH). Версия до 1.0 — это 0.MINOR.PATCH согласно предстабильному соглашению спецификации; несовместимые изменения увеличивают MINOR, исправления ошибок увеличивают PATCH. Тег аннотированный (git tag -a) и подписан на уровне публикации согласно site/content/docs/governance/release-engineering-policy.mdx. Версия пакета находится в исходном манифесте (pyproject.toml version), а поверхности времени выполнения / несущие версию выводятся из этих метаданных пакета.

4. Каденция по задачам

Коммиты выполняются по задачам при серьёзности SHARED+, по фазам при PERSONAL_USE и опциональны при EXPLORING. Коммит задачи выполняется сразу после прохождения шлюзов проверки задачи; отложенные коммиты накапливают контекст и рискуют потерять область охвата. Полная дисциплина находится в src/apothem/rules/operational-mandates.md §CM-13.

5. Валидаторы

Цепочка pre-commit-хуков в .pre-commit-config.yaml применяет шлюзы качества для каждой записи. Применение дисциплины авторства на bash-хуке (Scan 3 из src/apothem/hooks/messages/pretooluse-bash.md) перехватывает запрещённые трейлеры и маркеры тела до того, как будет выполнена любая операция записи git.

On this page