setup-commitlint-husky-automator
v1.0.0
Published
Um pacote CLI para automatizar a configuração do Husky e Commitlint (hook commit-msg) em projetos.
Maintainers
Readme
setup-commitlint-husky-automator
Um pacote CLI simples para automatizar a configuração do Husky e Commitlint em seus projetos Git.
🚀 Visão Geral
Este pacote foi criado para simplificar o processo de configuração de Git Hooks com Husky para impor a padronização de mensagens de commit usando o Commitlint. Em vez de executar múltiplos comandos manuais para instalar dependências e configurar arquivos, esta ferramenta faz tudo por você!
✨ Por que usar?
Automação: Instala automaticamente as dependências necessárias e configura o Git Hook
commit-msg.Consistência: Garante que todas as mensagens de commit em seu projeto sigam as Convenções de Commits (via
@commitlint/config-conventional).Produtividade: Economize tempo e evite erros de configuração manual, permitindo que você e sua equipe foquem no desenvolvimento.
Histórico Limpo: Ajuda a manter um histórico de commits legível e organizado, facilitando a depuração e a geração de
CHANGELOGs.
⚙️ Pré-requisitos
Antes de usar este pacote, certifique-se de ter o seguinte instalado em seu sistema:
Node.js (versão 16 ou superior)
npm (gerenciador de pacotes do Node.js, geralmente vem com o Node.js)
Git (sistema de controle de versão)
📦 Instalação e Uso
Para usar este pacote, siga os passos abaixo no terminal, na raiz do seu projeto (onde você tem seu package.json e seu repositório Git).
Passo 1: Inicialize seu Projeto (se ainda não o fez)
Se você está começando um projeto novo, certifique-se de que ele tenha um repositório Git e um arquivo package.json:
# Navegue até a pasta do seu projeto
cd seu-projeto/
# Inicialize um repositório Git
git init
# Crie um arquivo package.json básico
npm init -yPasso 2: Execute o Automatizador
Você pode executar o pacote de duas maneiras:
Opção A: Usar via npx (recomendado para uso único)
Esta é a forma mais comum, pois não instala o pacote globalmente e sempre usa a versão mais recente:
npx setup-commitlint-husky-automatorOpção B: Instalar Globalmente (se for usar em muitos projetos)
Se você planeja usar esta ferramenta em muitos projetos diferentes e prefere instalá-la globalmente:
npm install -g setup-commitlint-husky-automator
# Depois de instalar globalmente, você pode executar em qualquer diretório de projeto:
setup-commitlint-huskyO que acontece ao executar?
Ao executar npx setup-commitlint-husky-automator (ou setup-commitlint-husky), o script fará o seguinte:
Instalará dependências: Adicionará
husky,@commitlint/clie@commitlint/config-conventionalcomodevDependenciesno seupackage.jsone os instalará.Inicializará Husky: Criará a pasta
.husky/no seu projeto e configurará o Git para usar os hooks gerenciados pelo Husky.Configurará o
commit-msgHook: Criará (ou atualizará) o arquivo.husky/commit-msgpara que o Commitlint valide sua mensagem de commit a cadagit commit.
Passo 3: Adicione a Configuração do Commitlint
Para que o Commitlint saiba quais regras aplicar, você precisa de um arquivo de configuração. Crie um arquivo chamado commitlint.config.js na raiz do seu projeto com o seguinte conteúdo:
// commitlint.config.js
module.exports = {
extends: ['@commitlint/config-conventional'],
};Alternativamente, você pode adicionar a configuração diretamente no seu package.json:
{
"name": "seu-projeto",
"version": "1.0.0",
"description": "...",
// ... outras configurações
"commitlint": {
"extends": [
"@commitlint/config-conventional"
]
},
"devDependencies": {
"@commitlint/cli": "^19.0.0",
"@commitlint/config-conventional": "^19.0.0",
"husky": "^9.0.0"
}
}Passo 4: Teste a Configuração
Agora, tente fazer um commit para ver o Commitlint em ação!
Crie alguma alteração (exemplo: adicione ou modifique um arquivo):
echo "Olá Mundo!" > index.html git add .Tente um commit que NÃO segue as convenções:
git commit -m "commit sem padrão"Você deve ver uma mensagem de erro do Commitlint no terminal, e o commit será abortado.
Tente um commit que SEGUE as convenções:
git commit -m "feat: adiciona página inicial com mensagem de saudação"Este commit deve ser aceito sem problemas, e sua mensagem de commit será validada.
⚠️ Observações e Solução de Problemas
Permissões de Execução: Se encontrar erros de permissão (
Permission denied), certifique-se de que os scripts do Husky na pasta.husky/são executáveis. O automatizador já tenta fazer isso comchmod +x, mas em alguns ambientes pode ser necessário verificar.Versões do Node.js/npm: Certifique-se de que suas versões de Node.js e npm são compatíveis com as dependências.
Problemas de Internet: A instalação de pacotes requer uma conexão ativa com a internet.
Mensagens de Erro do Commitlint: O Commitlint fornecerá feedback detalhado sobre o que está errado com sua mensagem de commit. Preste atenção a essas mensagens para corrigir o formato.
📄 Licença
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.
👤 Autor
Jeiel Miranda
