setup-pre-commit
por mattpocockO setup-pre-commit ajuda você a adicionar hooks de pre-commit do Husky com lint-staged, Prettier e execuções opcionais de typecheck/test. Use este guia setup-pre-commit quando seu repositório precisar de uma camada rápida e repetível de proteção no pre-commit e você quiser preservar a configuração existente enquanto adiciona os scripts certos para o gerenciador de pacotes em uso.
Esta skill recebe 78/100, o que a torna uma boa candidata para o diretório: ela oferece um fluxo real e acionável para configurar hooks de pre-commit do Husky com lint-staged, Prettier, type checking e testes, embora ainda tenha algumas ressalvas de adoção ligadas à verificação e ao tratamento de casos extremos.
- O gatilho é explícito e prático: ele mira adicionar hooks de pre-commit do Husky, configurar lint-staged e executar formatação/type checking/testes no momento do commit.
- As etapas operacionais são concretas e seguem uma sequência clara, incluindo detecção do gerenciador de pacotes, instalação de dependências, inicialização do Husky, criação do arquivo de hook e configuração do Prettier.
- A descrição e o conteúdo trazem detalhes suficientes do fluxo para que um agente execute com menos incerteza do que em um prompt genérico, incluindo comandos e conteúdo exatos de arquivos.
- Não há comando de instalação nem scripts/recursos de apoio incluídos, então os usuários precisam seguir apenas as instruções do SKILL.md.
- O repositório está marcado com um sinal de teste e a orientação diz para omitir linhas de typecheck/test se os scripts não existirem, o que torna o fluxo um pouco condicional em vez de totalmente pronto para uso.
Visão geral do skill setup-pre-commit
O skill setup-pre-commit ajuda você a montar um fluxo prático de Git hooks: checagens de pre-commit com Husky, formatação com lint-staged usando Prettier e, de forma opcional, execução de typecheck/test antes do código entrar no commit. Ele é ideal para repositórios que já usam uma stack baseada em Node e precisam de uma configuração rápida e repetível, em vez de criar o hook do zero.
Para que serve o setup-pre-commit
Use o skill setup-pre-commit quando quiser uma rede de segurança no momento do commit, padronizando a formatação e pegando quebras óbvias logo no começo. O trabalho real não é “instalar o Husky” isoladamente; é tornar os commits locais mais seguros sem obrigar você a redesenhar o repositório.
Quando ele é uma boa escolha
Ele é uma boa opção se o seu repositório já usa, ou pode usar, Prettier, scripts de typecheck e test, e se você quer uma convenção direta que funcione com npm, pnpm, Yarn ou Bun. Também é útil quando você precisa de uma configuração que possa ser aplicada rapidamente em um projeto existente, com pouca discussão de política interna.
Onde ele é limitado
Esse skill é menos útil se o seu projeto não for baseado em Node, se você quiser lógica de commit-msg ou pre-push em vez de pre-commit, ou se suas checagens precisarem de uma orquestração mais customizada do que um hook simples. Ele também parte do pressuposto de que você se sente confortável em verificar quais scripts existem antes de adicioná-los ao hook.
Como usar o skill setup-pre-commit
Instale e abra os arquivos certos
Instale com npx skills add mattpocock/skills --skill setup-pre-commit. Depois, leia primeiro o SKILL.md, porque é ali que estão o fluxo real e os pontos de decisão. Se a visualização do diretório mostrar apenas um arquivo, isso já basta para seguir a configuração, mas ainda assim vale inspecionar a árvore do repositório em busca de pistas sobre o gerenciador de pacotes e os scripts disponíveis.
Passe o contexto certo do repositório
Para obter o melhor resultado, diga ao skill qual lockfile existe, se o package.json já tem typecheck e test, e se o Prettier já está configurado. Um pedido forte seria: “Configure setup-pre-commit neste repositório usando pnpm; mantenha a configuração atual do Prettier; adicione apenas os scripts que já existem.” Isso é melhor do que simplesmente “adicionar hooks de pre-commit”, porque elimina suposições sobre o gerenciador de pacotes e sobre o conteúdo do hook.
Siga o fluxo na ordem certa
O skill foi pensado em uma sequência simples: detectar o gerenciador de pacotes, instalar as dependências de desenvolvimento, inicializar o Husky, escrever .husky/pre-commit, adicionar lint-staged e criar ou reaproveitar uma configuração do Prettier. Na prática, a decisão importante é se vale incluir npm run typecheck e npm run test ou omiti-los quando esses scripts não existem. Essa escolha mantém o hook útil em vez de frágil.
Padrão prático de prompt
Use um prompt que nomeie o estado do repositório e a política desejada. Por exemplo: “Use setup-pre-commit para adicionar Husky, lint-staged e Prettier a este monorepo. O lockfile é pnpm-lock.yaml, typecheck existe, test não existe, e já há um .prettierrc.” Isso dá ao skill informação suficiente para produzir uma configuração correta sem inventar scripts nem sobrescrever configurações.
Perguntas frequentes sobre o skill setup-pre-commit
O setup-pre-commit é só para repositórios novos?
Não. O skill setup-pre-commit costuma ser ainda mais valioso em repositórios existentes, porque ajuda você a adicionar uma política consistente de hooks sem reconstruir arquivos manualmente. Ele funciona melhor quando você já sabe quais scripts e configurações estão presentes.
Preciso de Husky e lint-staged ao mesmo tempo?
Para esse fluxo, sim, esse é justamente o ponto. O Husky dispara o hook, e o lint-staged restringe a formatação aos arquivos em stage, mantendo os commits rápidos. Se você quer apenas uma dessas partes, um prompt genérico pode ser mais simples do que o skill setup-pre-commit.
Ele vai sobrescrever meu setup do Prettier?
Não deveria, se usado com cuidado. O skill cria .prettierrc apenas quando não existe nenhum, e a principal decisão é se o seu repositório já tem uma configuração de formatter que precisa ser preservada. Se você já tem uma política de estilo, mencione isso explicitamente.
Ele é bom para CI ou só para commits locais?
O valor principal está na aplicação local de pre-commit, mas as mesmas checagens muitas vezes espelham as expectativas do CI. Se o seu CI usa comandos diferentes, não copie o hook às cegas; alinhe o hook aos scripts que o pipeline realmente executa. Essa é a principal preocupação de setup-pre-commit for CI Troubleshooting.
Como melhorar o skill setup-pre-commit
Dê ao skill as restrições reais do seu repositório
O maior ganho de qualidade vem de informar ao setup-pre-commit qual gerenciador de pacotes, quais scripts e quais arquivos de configuração já existem. Sem esse contexto, ele pode escolher prefixos de comando errados, criar scripts desnecessários ou montar etapas de hook que falham no primeiro commit.
Evite falhas comuns de hook
A falha mais comum é adicionar typecheck ou test em .husky/pre-commit quando esses scripts não existem. Outro problema frequente é formatar todos os arquivos em vez de apenas os arquivos staged, o que deixa os commits mais lentos do que o necessário. Se você quer que o hook seja confiável, especifique o que deve acontecer quando um script estiver ausente.
Melhore a primeira saída com alvos explícitos
Peça resultados concretos, não apenas instalação. Uma instrução melhor seria: “Adicione hooks pre-commit do Husky que executem lint-staged apenas nos arquivos staged, preservem a configuração existente do Prettier e incluam typecheck somente se o package.json já o definir.” Isso gera um resultado de setup-pre-commit guide bem mais utilizável do que um pedido vago.
Ajuste depois da primeira passada
Depois da configuração inicial, verifique se o hook está alinhado às expectativas do time em termos de velocidade e rigor. Se ele estiver pesado demais, remova verificações caras do pre-commit e leve-as para o CI; se estiver permissivo demais, adicione o script que falta ou restrinja o escopo do lint-staged. O melhor resultado de setup-pre-commit install é aquele que o time realmente vai continuar usando.
