testes/prafrota_fe-main/prafrota_fe-main/GIT_STANDARDS.md

3.7 KiB

🎯 Padrões Git - PraFrota Angular

Configuração Implementada

Este projeto agora possui padrões Git automatizados baseados no Conventional Commits.

🔧 Componentes Instalados:

  1. Hook de Validação (.git/hooks/commit-msg)

    • Valida formato de commits automaticamente
    • Impede commits mal formatados
  2. Aliases Git Úteis

    • git cm "mensagem" → commit com mensagem
    • git st → status
    • git lg → log gráfico
    • git ca → commit --amend
    • E mais...
  3. Script Assistido (scripts/git-commit.js)

    • Commit interativo com menu
    • Uso: node scripts/git-commit.js

📋 Formato de Commit Obrigatório

tipo(escopo): descrição

🏷️ Tipos Permitidos:

  • feat: nova funcionalidade
  • fix: correção de bug
  • docs: documentação
  • style: formatação/estilo
  • refactor: refatoração de código
  • test: testes
  • chore: tarefas de manutenção
  • perf: melhorias de performance
  • ci: integração contínua
  • build: sistema de build
  • revert: reverter commit

📏 Regras:

  • Primeira linha: máximo 72 caracteres
  • Descrição: começar com letra minúscula
  • Não terminar com ponto final
  • Usar imperativo (adiciona, não adicionado)

Exemplos Válidos:

# Funcionalidades
git commit -m "feat: adiciona autenticação JWT"
git commit -m "feat(auth): implementa login com Google"

# Correções  
git commit -m "fix: corrige validação de email"
git commit -m "fix(api): resolve erro de timeout"

# Documentação
git commit -m "docs: atualiza README com instruções"

# Refatoração
git commit -m "refactor: simplifica lógica de validação"

# Outros
git commit -m "style: formata código com prettier"
git commit -m "chore: atualiza dependências"
git commit -m "perf: otimiza consultas do banco"

🚫 Exemplos Inválidos:

# ❌ Tipo inválido
git commit -m "update: adiciona nova feature"

# ❌ Descrição com maiúscula
git commit -m "feat: Adiciona autenticação JWT"

# ❌ Termina com ponto
git commit -m "feat: adiciona autenticação JWT."

# ❌ Muito longo
git commit -m "feat: adiciona sistema completo de autenticação com JWT, OAuth2, refresh tokens e validação"

🎯 Aliases Disponíveis:

git cm "mensagem"    # commit -m
git st               # status  
git br               # branch
git co branch-name   # checkout
git lg               # log --oneline --graph --decorate
git ca               # commit --amend
git unstage arquivo  # reset HEAD --
git last             # log -1 HEAD

🚀 Como Usar:

Método 1: Commit Normal

git add .
git cm "feat: adiciona dashboard de analytics"

Método 2: Commit Assistido

git add .
node scripts/git-commit.js
# Seguir o menu interativo

Método 3: Aliases

git add .
git st              # Ver status
git cm "fix: corrige bug no login"
git lg              # Ver histórico

🔍 Verificação:

O hook valida automaticamente TODOS os commits. Se inválido:

🔍 Validando mensagem de commit...
❌ Formato de commit inválido!
# ... mensagem de ajuda ...

Se válido:

🔍 Validando mensagem de commit...
✅ Mensagem de commit válida!

🎉 Benefícios:

  • Histórico Limpo: Commits padronizados e legíveis
  • Automação: Validação automática impede erros
  • Produtividade: Aliases aceleram workflow
  • Conventional Commits: Compatível com ferramentas de versionamento
  • Changelog Automático: Facilita geração de releases
  • Semver: Suporte a versionamento semântico

🎯 Configuração implementada com base no guia .cursor/GIT_STANDARDS_SETUP.md