AEX Engineering
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

TipoUsar 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 pagamentos

Com escopo, quando ajuda a localizar a mudança:

feat(checkout): adiciona cupom de desconto
fix(auth): trata token expirado

Regras 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)

  1. Toda mensagem começa com um dos sete tipos oficiais.
  2. Descrição no imperativo, em português, curta.
  3. Um commit representa uma mudança coesa.
  4. Mudanças incompatíveis são sinalizadas com ! e BREAKING CHANGE.
  5. Branches seguem o BRANCH_STANDARD.

On this page