17/06/2026
Gerar mensagem de commit com IA: criei uma extensão de VS Code com Claude
Toda vez que eu parava pra pensar na mensagem de commit era um pesadelo. Criei uma extensão de VS Code que gera o commit com o Claude num clique, lendo o próprio diff. Gratuita e open source.
A hora de escrever a mensagem de commit é sempre um pesadelo pra mim. O código já está pronto, testado, funcionando, e aí eu travo uns segundos olhando pro campo vazio pensando "como resumo isso?". Quando o diff mexeu em três arquivos diferentes, os segundos viram um minuto.
Parece pouco. Mas multiplica por dezenas de commits por dia e vira troca de contexto constante: sair do modo "resolver o problema" pra entrar no modo "descrever o problema em uma linha". Resolvi simplificar esse processo.
O que é a extensão
Criei uma extensão de VS Code chamada Claude Commit Button. Ela coloca um botão de estrelinha (✨) no painel de Source Control. Você clica, ela lê o diff (o que está staged, ou todas as mudanças se nada estiver staged), manda pro Claude e preenche o campo da mensagem de commit. Você revisa, ajusta se quiser, e commita.
Sem sair do VS Code, sem copiar diff pra canto nenhum, sem pensar na frase. O fluxo continua sendo seu: a extensão só elimina a parte chata.
Ela é gratuita e o código está aberto no meu GitHub: github.com/toledox82/claude-commit-button. Tem o .vsix pronto na aba de Releases pra instalar direto.
Mas o GitHub Copilot já não faz isso?
Faz, é verdade. O Copilot tem um recurso parecido e gera a mensagem de commit praticamente do mesmo jeito. O problema é o limite: você passa duas ou três semanas usando de boa e, de repente, ele para de funcionar porque bateu a cota mensal do plano gratuito.
Cheguei a pensar em assinar o plano só pra não ficar perdendo tempo com isso. Só que, até o momento em que escrevo este post, eles tiraram os planos pagos do ar: não dá pra assinar. Quem já tem, tem; quem não tem, não consegue entrar. Foi o empurrão que faltava pra eu fazer a minha própria versão, sem limite e usando o Claude CLI que já roda na minha máquina.
Como funciona por baixo
A extensão não usa nenhuma API paga separada. Ela chama o Claude CLI que você já tem instalado na máquina (o mesmo do Claude Code), em modo não interativo, joga o diff pra ele e recebe de volta uma mensagem curta no estilo conventional commit. Se você ainda está em cima do muro sobre usar o Claude no dia a dia, já escrevi sobre isso em Claude Code ou crack code.
O único pré-requisito é ter o Claude CLI instalado e logado. Se claude --version funciona no seu terminal, a extensão funciona.
A parte que me surpreendeu: haiku x sonnet
Quando montei a extensão, deixei o haiku como modelo padrão. Fazia todo sentido: é o modelo mais leve e barato, e gerar uma frase de commit é uma tarefa minúscula. Pra que mandar um modelo grande nisso?
Aí eu medi. E o resultado foi o contrário do que eu esperava:
Reproduzi várias vezes pra ter certeza que não era ruído de rede. Não era. O sonnet ganhou nos dois quesitos: mais rápido e mais acertivo. O provável é que o haiku estivesse com mais latência na fila da API naquele momento, mas o ponto prático é claro: modelo "maior" não significou mais lento aqui. Troquei o padrão pra sonnet e segui.
Por que isso acelera o desenvolvimento
O ganho não é só o tempo de digitar. É não quebrar o foco. Escrever uma boa mensagem de commit exige parar e sintetizar, e essa pausa cobra um preço pequeno toda vez. Tirar essa fricção significa:
- Menos troca de contexto: você fica no modo de construir, não no de redigir.
- Histórico mais consistente: as mensagens saem todas no mesmo estilo, sem aquele commit "ajustes" preguiçoso de fim de dia.
- Mais commits pequenos: quando descrever fica barato, você commita com mais frequência, que é exatamente o que torna o histórico útil depois.
Não é sobre terceirizar o pensamento. É sobre não gastar energia mental com a etiqueta quando ela pode ser gerada a partir do que você já fez.
Como instalar
- Baixe o
.vsixna aba de Releases do repositório. - No VS Code:
Ctrl+Shift+P→ Extensions: Install from VSIX… e escolha o arquivo. - Recarregue a janela. O botão ✨ aparece na barra do painel de Source Control.
Resumo
- Botão no Source Control que gera a mensagem de commit a partir do seu diff, num clique.
- Usa o Claude CLI que você já tem, sem API paga à parte.
- Padrão em sonnet: nos meus testes foi mais rápido e mais preciso que o haiku.
- Gratuita e open source em github.com/toledox82/claude-commit-button.
Se você instalar e tiver alguma ideia ou achar algum bug, o repositório está aberto. Fico feliz de ver outras pessoas usando.