Vibecoding
Como escrever mensagens de commit que fazem sentido
Seu histórico de commits está cheio de 'update', 'fix' e 'aaa'. Daqui a 3 meses você não vai entender nada.
Abre teu histórico de git agora. Quantos commits dizem "update", "fix", "ajuste", "aaa", "agora vai"?
Esse histórico é inútil. Daqui a três meses você vai procurar quando um bug entrou e vai encontrar uma parede de "fix" sem sentido.
Meu take: commit é bilhete pro seu eu do futuro. Ele acorda às 2h da manhã com o app quebrado e precisa entender o que você fez. Escreva pra ele.
Por que a mensagem importa
O commit não é burocracia. Ele é a única memória confiável do projeto. Código mostra o "o quê". A mensagem mostra o "por quê".
O "por quê" é o que se perde. Você olha o código e vê que mudou uma linha. Não vê o motivo. A mensagem guarda isso.
A anatomia de um bom commit
Estrutura simples que funciona:
feat: adiciona rate limit no login
Bloqueia mais de 5 tentativas por minuto por IP.
Evita brute force na tela de senha.
Três partes:
- Primeira linha: tipo e resumo, no imperativo, até 50 caracteres.
- Linha em branco.
- Corpo: o porquê, se não for óbvio.
O imperativo é importante. "Adiciona", não "adicionado" nem "adicionando". Você está dando uma ordem ao repositório: aplique esta mudança.
Os tipos que uso
Não precisa decorar norma. Esses cobrem quase tudo:
- feat: funcionalidade nova.
- fix: conserto de bug.
- refactor: mudou a estrutura, não o comportamento.
- docs: documentação.
- chore: config, dependência, coisa de manutenção.
Exemplo real de um projeto meu:
fix: corrige data errada no relatório mensal
O fuso estava em UTC e mostrava o dia anterior pra
quem estava no Brasil. Forçado timezone America/Sao_Paulo.
Seis meses depois eu leio isso e entendo na hora. Isso é o objetivo.
O que evitar
Coisas que transformam seu histórico em lixo:
- "fix" sozinho. Fix do quê?
- "update final". Nunca é final.
- "asdf". Você teve pressa. Seu eu futuro paga.
- Commit gigante com 40 arquivos e mensagem "várias coisas". Divide.
Commit pequeno e frequente vence commit gigante. Cada commit deveria fazer uma coisa. Assim, quando algo quebra, você isola rápido.
Como a IA entra aqui
Você pode pedir pra IA gerar a mensagem a partir do diff:
Olhe este diff e escreva uma mensagem de commit no
formato "tipo: resumo no imperativo" mais um corpo
curto explicando o porquê.
Ela lê o "o quê" bem. Mas ela não sabe sua intenção. Então você revisa e completa o "por quê". A máquina rascunha, você assina.
O teste final
Antes de commitar, leia sua mensagem e pergunte: se eu ler isso daqui a três meses, entendo o que foi feito e por quê?
Se sim, manda. Se não, reescreve.
Histórico limpo não é vaidade. É a diferença entre debugar em 5 minutos ou em 5 horas.
A decisão é sua.
Perguntas frequentes
Perguntas rápidas
+Isso importa se eu trabalho sozinho?
Importa mais ainda. Seu unico revisor futuro e voce mesmo, e voce vai esquecer tudo em duas semanas.
+Preciso seguir Conventional Commits?
Ajuda, mas nao e obrigatorio. O minimo e: verbo no imperativo, o que mudou, e por que se nao for obvio.
+A IA pode escrever meus commits?
Pode gerar um rascunho a partir do diff. Mas voce revisa. Ela nao sabe a intencao, so o que mudou.
Continue lendo
Como não virar refém de uma ferramenta de IA
A ferramenta que você ama hoje pode dobrar de preço, mudar de dono ou fechar amanhã. Não construa em cima de uma só.
VibecodingO que fazer quando a IA te dá código que você não entende
A tentação é apertar aceitar e seguir. Não faça. Código que você não entende é código que você não mantém.
VibecodingPor que backup não é opcional
Existe quem faz backup e quem ainda não perdeu tudo. Você escolhe de qual lado ficar antes ou depois.