Skip to content
Latchkey

commitlint vs Commitizen: Convenções de Commit

O commitlint valida mensagens de commit contra regras; o Commitizen guia você interativamente a escrever conventional commits. Eles se complementam.

O commitlint verifica se as mensagens de commit seguem uma convenção (comumente Conventional Commits), reprovando o commit ou o CI quando não seguem. O Commitizen fornece um prompt interativo que monta uma mensagem de commit em conformidade para você, reduzindo a chance de erros logo de início. Eles resolvem pontas diferentes do mesmo objetivo: o Commitizen ajuda os autores a escrever mensagens corretas, o commitlint as impõe - muitos times usam os dois.

commitlintCommitizen
PapelValida mensagensGuia a escrita de mensagens
Quando rodahook commit-msg / CINo momento do commit (prompt)
ImposiçãoSim (reprova commits ruins)Não (auxilia)
ConfiguraçãoConfig + regrasAdapter (ex.: cz)
Melhor paraImpor convençãoEscrever convenção

No CI

O commitlint é a camada de imposição: rode-o em um hook commit-msg e novamente no CI nos commits de PR para que mensagens fora do padrão reprovem o build. O Commitizen ajuda localmente, mas não impõe nada sozinho. A configuração robusta é Commitizen (ou um template guiado) para escrever, mais commitlint no CI como portão.

Acelere

O lint de mensagens de commit é leve; faça cache das dependências para que o job comece rápido. A verificação roda em runners de CI; runners gerenciados mais rápidos mantêm a etapa de validação quase instantânea.

O veredito

Impor uma convenção de commit para que mensagens ruins falhem: commitlint, idealmente no CI. Ajudar os autores a escrever mensagens em conformidade de forma interativa: Commitizen. Eles são complementares, não concorrentes - use o Commitizen para escrever e o commitlint para impor.

Guias relacionados