Standards
Padrão Oficial de Commits
Seguimos Conventional Commits. Cada mensagem começa com um tipo que descreve a natureza da mudança.
1 min de leitura
Seguimos Conventional Commits. Cada mensagem começa com um tipo que descreve a natureza da mudança.
Formato
tipo(escopo opcional): descrição no imperativo- tipo — a natureza da mudança (tabela abaixo).
- escopo — opcional; a área afetada, entre parênteses (ex.:
feat(auth):). - descrição — curta, no imperativo presente ("adiciona", não "adicionado").
Tipos
| Tipo | Usar para |
|---|---|
feat: | Nova funcionalidade. |
fix: | Correção de bug. |
refactor: | Refatoração sem mudar comportamento. |
docs: | Apenas documentação. |
style: | Formatação, sem lógica. |
test: | Adição ou ajuste de testes. |
chore: | Tarefas de manutenção e build. |
Exemplos
feat: adiciona login com Google
fix: corrige cálculo de juros no checkout
docs: atualiza API.md com novo endpoint
refactor: extrai serviço de pagamentosCom escopo, quando ajuda a localizar a mudança:
feat(checkout): adiciona cupom de desconto
fix(auth): trata token expiradoRegras de escrita
- Tipo em minúsculo, seguido de
:e um espaço. - Descrição no imperativo presente e em português ("adiciona", "corrige", "atualiza").
- Curta e objetiva, sem ponto final.
- Um commit = uma mudança coesa. Evite commits que misturam assuntos.
Mudança incompatível
Sinalize uma quebra de compatibilidade com ! após o tipo, e explique no corpo:
feat!: altera contrato do endpoint de pagamentos
BREAKING CHANGE: o campo `amount` passa a ser em centavos.Regras (resumo)
- Toda mensagem começa com um dos sete tipos oficiais.
- Descrição no imperativo, em português, curta.
- Um commit representa uma mudança coesa.
- Mudanças incompatíveis são sinalizadas com
!eBREAKING CHANGE. - Branches seguem o
BRANCH_STANDARD.