Diretrizes de Commit Git
Formato da Mensagem de Commit
<tipo>(<escopo>): <assunto em tailandês ou inglês>
[corpo opcional]
Tipos
| Tipo | Quando usar |
|---|
feat | Nova funcionalidade ou página adicionada |
fix | Correção de bug |
refactor | Reestruturação de código sem mudança de comportamento |
style | Mudanças apenas de UI/CSS (sem alteração de lógica) |
chore | Configuração, dependências, ferramentas (prisma generate, etc.) |
docs | Mudanças de documentação ou comentários |
perf | Melhoria de performance |
Escopos Correspondentes a Este Projeto
| Escopo | Mapeia para |
|---|
auth | src/lib/auth.ts, src/lib/auth-client.ts, rotas (auth)/ |
product | (front)/product/, app-product-card.tsx |
cart | src/lib/cart-store.ts, componentes de carrinho |
course | (front)/course/, src/services/course-service.ts |
contact | (front)/contact/, src/app/api/contact/ |
prisma | prisma/schema.prisma, src/lib/prisma.ts |
ui | src/components/ui/, src/components/ |
layout | (front)/layout.tsx, (auth)/layout.tsx |
api | src/app/api/ |
config | next.config.ts, prisma.config.ts, .env |
Regras do Assunto
- Use apenas inglês no assunto
- Frase curta, não mais que 72 caracteres
- Sem ponto final no final da frase
- Use presente: "add", "fix", "update", não "added", "fixed"
Exemplos
feat(product): add product detail page
fix(cart): fix totalPrice calculation when qty is 0
chore(prisma): regenerate Prisma client after schema changes
style(ui): update badge color in hero component
refactor(auth): extract signIn logic from page component
feat(api): add GET /api/products endpoint with pagination
fix(contact): prevent XSS in email HTML template
Armadilhas
- Jamais commitar o arquivo
.env — ele contém BETTER_AUTH_SECRET e DATABASE_URL
- O diretório
generated/prisma/ está no .gitignore — não é necessário prepará-lo
- Se alterar o schema, execute
npx prisma generate antes de commitar o schema
- Não use
--no-verify para pular hooks sem um bom motivo
Lista de Verificação Antes do Commit