2.3 KiB
2.3 KiB
🐙 Padrões Git (O Protocolo "Guardião do Tempo")
Público: Todos os Agentes (O Arquiteto, Linus Torvalds). Objetivo: Manter um histórico limpo, significativo e reversível.
[!CRITICAL] O Mandato Linus: "Sua mensagem de commit é uma carta de amor para o futuro desenvolvedor que terá que debugar seu código às 3 da manhã. Não escreva 'coisas consertadas'."
1. 📝 Commits Convencionais (Reforço Estrito)
Seguimos Conventional Commits com categorização em Português.
Formato
type(scope): description
Tipos
feat: Nova funcionalidade (New Feature).fix: Correção de bug (Bug Fix).docs: Alterações apenas em documentação (README,.md).style: Formatação, ponto-e-vírgula (sem mudança de lógica).refactor: Mudança de código que não corrige bug nem adiciona feature.test: Adição ou correção de testes.chore: Atualização de tarefas de build, configs de ferramenta, etc.
Exemplos
- ✅ BOM:
feat(auth): adicionar validação de token JWT no login - ✅ BOM:
fix(ui): resolver problema de overflow na navbar móvel - ❌ RUIM:
update code - ❌ RUIM:
fixed bug
2. 🌳 Estratégia de Branching (Trunk Based / Git Flow)
- Main: A fonte da verdade. Sempre implantável.
- Branches de Feature:
feat/nome-da-feature - Branches de Fix:
fix/descricao-do-problema - Hotfix:
hotfix/bug-critico-producao
3. ⚛️ Commits Atômicos
Regra: Uma mudança lógica = Um Commit.
- Não misture uma refatoração genérica de CSS com uma migração crítica de banco de dados no mesmo commit.
- Por que? Para que possamos dar
git revertna refatoração de CSS sem quebrar o banco de dados.
4. 🛑 A Checagem "Árvore Suja"
Antes de começar qualquer tarefa, Agentes devem verificar git status.
- Árvore Limpa: Prossiga.
- Árvore Suja: PARE. Notifique o usuário. "Não posso iniciar uma nova tarefa com mudanças não commitadas."
5. 🤖 O Checklist de "Commit" do Agente
Antes de rodar git commit:
- A mensagem está no formato
type: description? - Adicionei TODOS os arquivos relevantes (
git add .é perigoso se você não checou.gitignore)? - O código passa no linter?