logo hsb.horse

Registro de Decisão de Arquitetura

Automação de Git Hook com lefthook

Adotar lefthook para executar formatação e lint do Biome automaticamente no commit e no push.

Aceito #tooling #quality #git-hook

Automação de Git Hook com lefthook

Decisão

  • Adotar lefthook para gestão de Git Hooks.
  • Executar biome format --write e depois biome check --write nos arquivos staged em pre-commit.
  • Executar também biome format --write e biome check --write nos arquivos incluídos no push (mudanças commitadas) em pre-push.
  • Centralizar definições de hook em lefthook.yml na raiz do repositório.

Contexto

Quando formatação ou lint são pulados localmente, as revisões incluem diffs e comentários ruidosos e não essenciais. Também havia inconsistência na configuração de hooks por desenvolvedor, então precisávamos de uma abordagem reproduzível e versionada.

Alternativas

  • Hooks nativos em .git/hooks com configuração manual: baixa reprodutibilidade e difícil compartilhamento.
  • Husky: opção consolidada, mas desta vez preferimos lefthook por configuração mais leve e simples.
  • Validação apenas em CI: feedback mais lento e sem detecção local precoce.

Consequências

  • Verificações de qualidade são automatizadas antes de commit e antes de push.
  • Problemas de formatação são detectados cedo, reduzindo inconsistência de estilo.
  • Em caso de falha, commit/push é bloqueado até aplicar correções e rerodar checks.