You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(git): Implementar instalacao e suporte a Git Pre-commit Hooks #18
Adicionar suporte nativo para instalacao de hooks de Git no repositorio local (\�nvguard hook install) e integracao oficial com o framework popular \pre-commit\ via .pre-commit-hooks.yaml.
Tarefas
Implementar subcomando \�nvguard hook install\ que cria o script executavel em .git/hooks/pre-commit.
Implementar subcomando \�nvguard hook run\ otimizado para verificar apenas arquivos em stage (--staged).
Criar o arquivo .pre-commit-hooks.yaml\ na raiz do repositorio para suportar o framework Python pre-commit.
Garantir performance ultrarrapida na verificacao pre-commit para nao atrasar o fluxo de desenvolvimento do usuario.
Adicionar testes automatizados para instalacao, execucao e desinstalacao de hooks.
Implementação do gerenciamento nativo de Git pre-commit hooks no CLI \�nvguard\ (\�nvguard hook ) e suporte oficial ao framework Python \pre-commit\ via .pre-commit-hooks.yaml.
O objetivo é fornecer proteção preventiva com latência mínima (<10ms) antes da criação de commits, inspecionando exclusivamente arquivos que estão em stage no Git.
2. Componentes e Estrutura de Pacotes
**\internal/git**:
Função \GetStagedFiles(repoPath string) ([]string, error): executa \git diff --name-only --cached --diff-filter=ACM\ e retorna a lista de caminhos staged relativos à raiz do repositório.
Função \GetHooksDir(repoPath string) (string, error): resolve o caminho do diretório de hooks (.git/hooks).
\internal/hook\ (Novo Pacote):
**\Manager**:
\Install(repoPath string, force bool) error: cria ou atualiza .git/hooks/pre-commit\ com permissão \
Activity
joaooncode commentedon Sep 2, 2026
Especificação Técnica: Git Pre-commit Hooks & Staged Inspection
1. Visão Geral e Arquitetura
Implementação do gerenciamento nativo de Git pre-commit hooks no CLI \�nvguard\ (\�nvguard hook ) e suporte oficial ao framework Python \pre-commit\ via .pre-commit-hooks.yaml.
O objetivo é fornecer proteção preventiva com latência mínima (<10ms) antes da criação de commits, inspecionando exclusivamente arquivos que estão em stage no Git.
2. Componentes e Estrutura de Pacotes
**\internal/git**:
\internal/hook\ (Novo Pacote):