Pular para o conteúdo

enforce-precommit

enforce-precommit monta um framework de pre-commit que aplica os standards do projeto na camada do git — o único checkpoint por onde todo commit passa, quem quer (ou o quê) que o tenha feito. Fecha a lacuna que os hooks do próprio agente não cobrem.

O que resolve

Os hooks loop-level do Octopus (auto-format, typecheck, block-no-verify, …) só disparam dentro de uma sessão de agente. Um commit feito por um humano digitando direto, ou por outra ferramenta como o Copilot, passa batido por eles — e é exatamente aí que commits sem formatar, sem tipo ou no-verify vazam pra história. Um framework de pre-commit move o portão pro próprio git, então a garantia deixa de depender de como a mudança foi feita.

Como resolve

  • Alinhado com suas rules — detecta a stack do projeto por extensão de arquivo e infere os checks certos de rules/common/*, pra que o portão aplique os mesmos standards que o agente segue.
  • Tooling padrão — escreve .pre-commit-config.yaml por default, com lefthook.yml / .husky/ como alternativas documentadas.
  • Idempotente e respeitoso — mescla entradas de hook por id em vez de sobrescrever, então re-rodar nunca atropela config que você adicionou à mão. Estenda por projeto com enforce-precommit.local.md.

É uma camada de defesa-em-profundidade: faz par com enforce-ide (a superfície do editor), o bundle guardrails (o loop do agente), e o template de CI de qualidade.

Quando usar

Montando um repo, ou endurecendo um onde commits driblam os checks do próprio agente. Se você também quer as convenções reforçadas no editor antes do commit, adicione enforce-ide.