Escreve mensagens de commit no padrão Conventional Commits. Use quando precisar formatar um commit, revisar mensagens, ou entender o padrão. Gatilho: "como fazer commit", "mensagem de commit", "qual tipo usar", "como documentar breaking change".
<tipo>[escopo opcional]: <descrição curta>
[corpo opcional]
[rodapé opcional]
| Tipo | Quando usar | Exemplo |
|---|
feat | Nova funcionalidade visível ao usuário | feat(discussions): adiciona paginação na listagem |
fix | Correção de bug | fix(auth): corrige redirecionamento após login |
refactor | Refatoração sem mudança de comportamento | refactor(comments): extrai hook useCommentForm |
test | Adição ou correção de testes | test(users): adiciona testes de integração do perfil |
chore | Tarefas de manutenção, deps, configs | chore: atualiza dependências do projeto |
docs | Documentação | docs: atualiza guia de contribuição |
style | Formatação, espaços, lint (sem lógica) | style: corrige indentação no componente Button |
ci | Mudanças no pipeline de CI/CD | ci: adiciona job de type check no workflow |
perf | Melhoria de performance | perf(discussions): adiciona prefetch na listagem |
build | Sistema de build, bundler, scripts | build: migra para vite 6 |
Use os nomes das features, apps ou camadas como escopo:
| Escopo | O que cobre |
|---|---|
auth | Login, registro, sessão |
discussions | Listagem, criação, edição, exclusão de discussões |
comments | Comentários em discussões |
teams | Gerenciamento de times |
users | Perfil, dados de usuário |
components | Componentes compartilhados (src/components/ui/) |
hooks | Hooks compartilhados |
api | Camada de API client, interceptors |
config | Configurações de ambiente ou paths |
testing | Utilitários de teste, mocks, MSW handlers |
e2e | Testes Playwright |
nextjs-app | Mudanças específicas do app Next.js App Router |
nextjs-pages | Mudanças específicas do app Next.js Pages Router |
react-vite | Mudanças específicas do app React + Vite |
Use ! após o tipo/escopo para indicar breaking change na primeira linha:
feat(api)!: remove endpoint legado /api/v1/users
Ou adicione BREAKING CHANGE: no rodapé com uma descrição detalhada:
refactor(auth)!: altera interface do configureAuth
BREAKING CHANGE: o campo `redirectTo` foi renomeado para `redirectPath`.
Atualize todos os usos de configureAuth no projeto.
# Nova funcionalidade
feat(discussions): adiciona filtro por autor na listagem
# Correção de bug
fix(comments): corrige erro ao deletar comentário sem permissão
# Teste de integração
test(auth): adiciona teste de fluxo de registro com email duplicado
# Refatoração de componente
refactor(components): extrai lógica de confirmação para useConfirmDialog
# Atualização de dependência