intermediate

Conventional Commits

Используйте структурированные сообщения коммитов для changelog, автоматизации версий и поиска по истории.

Conventional Commits задают формат `type(scope): description` с опциональным breaking footer `BREAKING CHANGE:`. Инструменты парсят историю для версий и changelog.

| Type | Типичный сигнал semver | |------|------------------------| | `feat` | minor | | `fix` | patch | | `feat!` или breaking footer | major |

					feat(auth): add OAuth callback route

fix(ui): prevent double submit on checkout

feat(api)!: remove legacy /v1 users endpoint

BREAKING CHANGE: /v1/users removed; migrate to /v2/users
				

При squash-merge финальное сообщение squash должно сохранять type и breaking markers для release tooling.

На интервью: польза автоматизации, конвенции scope, когда церемония мешает маленькой команде и связка с Changesets.

Типовые ошибки: размытый `chore` скрывает влияние на пользователя; squash теряет структуру; формат коммита вместо хорошего review.

Компромисс — машиночитаемая история против трения для авторов.

Чеклист:

  • Осмысленные type и scope.
  • Явные breaking changes.
  • Squash-сообщения согласованы с automation.
  • Коммиты честно отражают user impact.