CLI для описания conventional commits
Добавил в существующую CLI-утилиту поддержку breaking changes и scope/context к типу коммита.
Задача
Гуляя по Github, я наткнулся на случайный репозиторий… и подумал, что у меня давно не было вклада в опенсорс.
Оказалось, что это CLI-утилита conventional-commit-cli Паритоша Пундира @Paari — интерактивный терминальный мастер для составления коммитов по спецификации Conventional Commits, с выбором типа, гитмодзи и превью сообщения перед коммитом.
В проекте не хватало двух вещей из самой спецификации conventional commits: пометки breaking change (! перед двоеточием) и scope/context (feat(auth): ...).
Что добавил
Реализовал два новых шага мастера:
- вопрос о breaking change — при положительном ответе к префиксу коммита добавляется
!; - ввод контекста в скобках, который подставляется как
type(context): message.
? Are you introducing a breaking change? (y/N)
? Enter the context of this commit (optional):
Оба шага опциональны — если что-то из этого не нужно, мастер идёт дальше без них, не ломая старый сценарий использования.
Запуск
npm i c-commit-cli -g
Дальше в любой директории со staged-изменениями:
commit