# O Que É commitlint?

> commitlint é uma ferramenta que verifica mensagens de commit contra uma convenção configurada, rejeitando commits que não seguem o formato acordado.

Source: https://latchkey.dev/pt/learn/ci-glossary/commitlint-definition  
Updated: 2026-06-26

## Por que importa

A automação de release que lê mensagens de commit só funciona se essas mensagens seguirem a convenção. commitlint impõe isso no momento do commit, de modo que o histórico permaneça parseável. Rodá-lo tanto como um hook local quanto como um check no CI detecta violações antes que elas cheguem à branch principal.

## Where this shows up in a real pipeline

A definition is only useful if you can recognise the thing in your own logs. In practice this concept surfaces when a job behaves differently between a local run and a runner, which is where most CI debugging starts.

- Compare a local run against a CI run of the same command before assuming a tool is at fault.
- Runner environments differ in shell, PATH, TTY availability, available memory, and disk. Most CI-only behaviour traces to one of those five.
- Pin tool versions so an environment difference cannot be introduced by an unrelated update.

## FAQ

### What is What is commitlint??

commitlint is a linter that validates commit messages against rules, typically a conventional commit format, and fails when a message does not conform. It runs as a hook locally or as a check in CI. It enforces the structured commit messages that automated versioning and changelogs depend on.

### Why does What is commitlint? matter in CI/CD?

Release automation that reads commit messages only works if those messages follow the convention. commitlint enforces that at commit time, so the history stays parseable. Running it both as a local hook and a CI check catches violations before they reach the main branch.

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
