setup-commitlint-husky-automator

1.0.0 • Public • Published

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 -y

Passo 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-automator

Opçã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-husky

O que acontece ao executar?

Ao executar npx setup-commitlint-husky-automator (ou setup-commitlint-husky), o script fará o seguinte:

  1. Instalará dependências: Adicionará husky, @commitlint/cli e @commitlint/config-conventional como devDependencies no seu package.json e os instalará.

  2. Inicializará Husky: Criará a pasta .husky/ no seu projeto e configurará o Git para usar os hooks gerenciados pelo Husky.

  3. Configurará o commit-msg Hook: Criará (ou atualizará) o arquivo .husky/commit-msg para que o Commitlint valide sua mensagem de commit a cada git 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!

  1. Crie alguma alteração (exemplo: adicione ou modifique um arquivo):

    echo "Olá Mundo!" > index.html
    git add .
  2. 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.

  3. 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 com chmod +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

Package Sidebar

Install

npm i setup-commitlint-husky-automator

Weekly Downloads

6

Version

1.0.0

License

MIT

Unpacked Size

8.23 kB

Total Files

5

Last publish

Collaborators

  • jeielmiranda