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.yamlpor default, comlefthook.yml/.husky/como alternativas documentadas. - Idempotente e respeitoso — mescla entradas de hook por
idem vez de sobrescrever, então re-rodar nunca atropela config que você adicionou à mão. Estenda por projeto comenforce-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.