@d3vpadawann/commit-devil
v1.1.5
Published
Padronização de commits para projetos — commitizen, commitlint, husky
Maintainers
Readme
@d3vPadawann/commit-devil
Padronização de commits para projetos. Configura commitizen, commitlint e husky automaticamente através de um wizard interativo.
Instalação
npm install @d3vPadawann/commit-devil -DSetup
npx commit-devil initO wizard vai perguntar:
- Escopos do projeto (components, hooks, services, etc.)
- Prefixo do Jira (ex:
ABDP-) - Padrão do ticket (regex, ex:
\d{4}) - Ticket obrigatório?
- Limite de caracteres do subject e header
- Comandos do pre-commit (ex:
npx lint-staged) - Comandos do pre-push (ex:
npm run test)
Arquivos gerados
| Arquivo | Descrição |
| --------------------------- | --------------------------- |
| .commit-devilrc.json | Configuração do projeto |
| commitlint.config.cjs | Config do commitlint |
| .cz-config.cjs | Config do commitizen |
| .husky/commit-msg | Hook de validação do commit |
| .husky/prepare-commit-msg | Hook do commitizen |
| .husky/pre-commit | Hook customizável |
| .husky/pre-push | Hook customizável |
Uso
# Via npm script
npm run commit
# Via git (o hook prepare-commit-msg ativa o commitizen)
git commitReconfigurar
npx commit-devil init --forceTipos de commit
| Tipo | Descrição |
| ---------- | ---------------------------------- |
| feat | Uma nova funcionalidade |
| patch | Adição de pequena funcionalidade |
| fix | Correção de bug |
| docs | Apenas documentação |
| style | Formatação (sem mudança de código) |
| refactor | Refatoração de código |
| perf | Melhoria de performance |
| test | Adicionando ou corrigindo testes |
| build | Mudanças no build ou dependências |
| ci | Mudanças na configuração de CI |
| chore | Tarefas de manutenção |
| revert | Reverte um commit anterior |
| wip | Work in progress |
| merge | Merge de branches |
Regras de validação
- ❌ Subject vazio
- ❌ Subject contendo apenas o prefixo do ticket (ex:
[ABDP-1234]) - ❌ Tipo de commit inválido
- ❌ Header excedendo limite de caracteres
Desenvolvimento
# Build
npm run build
# Watch mode
npm run dev