🚀 Git Auto Commit (gac)
June 18, 2026 · View on GitHub
🚀 Git Auto Commit (gac)
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano
Mensagens de commit alimentadas por LLM que entendem seu código!
Automatize seus commits! Substitua git commit -m "..." por uvx gac para mensagens de commit contextuais e bem formatadas geradas por modelos de linguagem grandes!
O Que Você Obtém
Mensagens inteligentes e contextuais que explicam o porquê por trás de suas alterações:

Início Rápido
uvx gac init # Configure seu provedor, modelo e idioma
uvx gac # Gere e envie commit com LLM
É isso! Revise a mensagem gerada e confirme com y.
Recursos Principais
33+ Provedores suportados
- Anthropic • Azure OpenAI • Cerebras • ChatGPT (OAuth) • Chutes.ai • Claude Code (OAuth)
- Crof.ai • DeepInfra • DeepSeek • Fireworks • Gemini • GitHub Copilot (OAuth) • Groq
- Kimi for Coding • Lilac • LM Studio • MiniMax.io • Mistral AI • Moonshot AI • Neuralwatt • Ollama
- Ollama Cloud • OpenAI • OpenCode Go • OpenRouter • Plexus Gateway • Qwen Cloud (CN & INTL)
- Replicate • Streamlake/Vanchin • Synthetic.new • Together AI • Wafer.ai • Z.AI (API & Coding Plans)
- Custom Endpoints (Anthropic/OpenAI)
🧠 Análise Inteligente de LLM
- Entende a intenção: Analisa estrutura, lógica e padrões do código para entender o "porquê" por trás de suas alterações, não apenas o que mudou
- Consciência semântica: Reconhece refatoração, correções de bugs, funcionalidades e alterações quebrando para gerar mensagens contextualmente apropriadas
- Filtragem inteligente: Prioriza alterações significativas enquanto ignora arquivos gerados, dependências e artefatos
- Agrupamento inteligente de commits - Agrupa automaticamente alterações relacionadas em múltiplos commits lógicos com
--group
📝 Múltiplos Formatos de Mensagem
- Uma linha (flag -o): Mensagem de commit de uma única linha seguindo formato de commit convencional
- Padrão (padrão): Resumo com pontos de bullet explicando detalhes da implementação
- Verboso (flag -v): Explicações abrangentes incluindo motivação, abordagem técnica e análise de impacto
- Regra 50/72 (bandeira --50-72): Impõe o formato clássico de mensagem de commit para legibilidade ótima no git log e GitHub UI
- DCO/Signoff (bandeira --signoff): Adiciona linha Signed-off-by para conformidade com Developer Certificate of Origin (exigido por Cherry Studio, Linux kernel e outros projetos)
🌍 Suporte Multilíngue
- 25+ idiomas: Gere mensagens de commit em inglês, chinês, japonês, coreano, espanhol, francês, alemão e 18+ idiomas
- Tradução flexível: Escolha manter prefixos de commit convencionais em inglês para compatibilidade de ferramentas, ou traduza-os completamente
- Múltiplos workflows: Defina um idioma padrão com
uvx gac language, ou use a flag-l <idioma>para substituições únicas - Suporte a script nativo: Suporte completo para scripts não-latinos incluindo CJK, cirílico, tailandês e mais
💻 Experiência do Desenvolvedor
- Feedback interativo: Digite
rpara rerolar,epara editar (TUI in-place por padrão, ou$GAC_EDITORse definido), ou digite diretamente seu feedback comomake it shorteroufocus on the bug fix - Questionamento interativo: Use
--interactive(-i) para responder a perguntas direcionadas sobre suas alterações para mensagens de commit mais contextuais - Workflows de um comando: Workflows completos com flags como
uvx gac -ayp(adicionar tudo, auto-confirmar, push) - Integração Git: Respeita hooks pre-commit e lefthook, executando-os antes de operações LLM caras
- Servidor MCP: Execute
uvx gac servepara expor ferramentas de commit para agentes de IA através do Model Context Protocol
📊 Estatísticas de Uso
uvx gac stats # Visão geral: gacs totais, sequências, picos diários/semanais, projetos e modelos principais
uvx gac stats models # Detalhamento por modelo: gacs, tokens, latência, velocidade, gráficos latência por commit
uvx gac stats projects # Detalhamento por projeto: gacs, commits, tokens, arquivos médios por gac em todos os repositórios
uvx gac stats recent # Histórico recente de gacs: tokens, velocidade, latência, arquivos por gac (-n 20 para mais)
uvx gac stats reset # Redefinir todas as estatísticas (solicita confirmação)
uvx gac stats reset model <model-id> # Redefinir estatísticas apenas para um modelo específico
- Acompanhe seus gacs: Veja quantos commits você fez com gac, sua sequência atual, pico de atividade diária/semanal e projetos principais
- Rastreamento de tokens: Tokens totais de prompt, output e raciocínio por dia, semana, projeto e modelo — com troféus de recorde para uso de tokens também
- Modelos principais: Veja quais modelos você mais usa e quantos tokens cada um consome
- Celebrações de recordes: 🏆 troféus quando você estabelece novos recordes diários, semanais, de tokens ou de sequência; 🥈 por empatá-los
- Opt-in durante a configuração:
uvx gac initpergunta se você deseja ativar as estatísticas e explica exatamente o que é armazenado - Opt-out a qualquer momento: Defina
GAC_DISABLE_STATS=true(ou1/yes/on) para desativar. Definir comofalse/0/no(ou não definir) mantém as estatísticas ativadas - Privacidade em primeiro lugar: Armazenado localmente em
~/.gac_stats.json. Apenas contagens, datas, nomes de projetos e nomes de modelos — sem mensagens de commit, código ou dados pessoais. Sem telemetria
🛡️ Segurança Integrada
- Detecção automática de segredos: Examina em busca de chaves API, senhas e tokens antes de commitar
- Proteção interativa: Solicita antes de cometer dados potencialmente sensíveis com claras opções de remediação
- Filtragem inteligente: Ignora arquivos de exemplo, arquivos de template e texto placeholder para reduzir falsos positivos
Exemplos de Uso
Workflow Básico
# Prepare suas alterações
git add .
# Gere e envie commit com LLM
uvx gac
# Revise → y (commit) | n (cancelar) | r (rerolar) | e (editar) | ou digite feedback
Comandos Comuns
| Comando | Descrição |
|---|---|
uvx gac | Gerar mensagem de commit |
uvx gac -y | Auto-confirmar (sem necessidade de revisão) |
uvx gac -a | Adicionar tudo antes de gerar mensagem de commit |
uvx gac -S | Selecionar interativamente ficheiros para stage |
uvx gac -o | Mensagem de uma linha para alterações triviais |
uvx gac -v | Formato verboso com Motivação, Abordagem Técnica e Análise de Impacto |
uvx gac -h "hint" | Adicionar contexto para LLM (ex: uvx gac -h "bug fix") |
uvx gac -s | Incluir escopo (ex: feat(auth):) |
uvx gac -i | Fazer perguntas sobre alterações para melhor contexto |
uvx gac -g | Agrupar alterações em múltiplos commits lógicos |
uvx gac -p | Fazer commit e push |
uvx gac model | Alterar provedor e modelo de IA |
uvx gac stats | Veja suas estatísticas de uso do gac |
Exemplos para Usuários Avançados
# Workflow completo em um comando
# Veja suas estatísticas de commits
uvx gac stats
# Estatísticas de todos os projetos
uvx gac stats projects
uvx gac -ayp -h "preparação de release"
# Explicação detalhada com escopo
uvx gac -v -s
# Mensagem rápida de uma linha para pequenas alterações
uvx gac -o
# Gerar mensagem de commit em um idioma específico
uvx gac -l pt
# Agrupe alterações em commits logicamente relacionados
uvx gac -ag
# Modo interativo com saída detalhada para explicações detalhadas
uvx gac -iv
# Debugue o que o LLM vê
uvx gac --show-prompt
# Pule verificação de segurança (use com cuidado)
uvx gac --skip-secret-scan
# Adicionar signoff para conformidade DCO (Cherry Studio, Linux kernel, etc.)
uvx gac --signoff
Sistema de Feedback Interativo
Não satisfeito com o resultado? Você tem várias opções:
# Reroll simples (sem feedback)
r
# Edite a mensagem de commit
e
# Ou simplesmente digite seu feedback diretamente!
make it shorter and focus on the performance improvement
use conventional commit format with scope
explain the security implications
# Pressione Enter em entrada vazia para ver o prompt novamente
O recurso de edição (e) permite refinar a mensagem de commit:
- Por padrão (TUI in-place): Edição multi-linha com keybindings vi/emacs — corrigir erros de digitação, ajustar redação, reestruturar
- Com
GAC_EDITOR: Abre o seu editor preferido (code,vim,nano, etc.) — poder total do editor incluindo localizar/substituir, macros, etc.
Editores GUI como VS Code são tratados automaticamente: gac insere --wait para que o processo bloqueie até você fechar a aba do editor. Nenhuma configuração extra necessária.
Configuração
Execute uvx gac init para configurar seu provedor interativamente, ou defina variáveis de ambiente:
Precisa mudar provedores ou modelos depois sem tocar nas configurações de idioma? Use uvx gac model para um fluxo simplificado que pula os prompts de idioma.
Veja .gac.env.example para todas as opções disponíveis.
Quer mensagens de commit em outro idioma? Execute uvx gac language para selecionar entre 25+ idiomas incluindo Español, Français, 日本語, e mais.
Quer personalizar o estilo da mensagem de commit? Veja docs/CUSTOM_SYSTEM_PROMPTS.md para orientação sobre como escrever prompts de sistema personalizados.
Obtendo Ajuda
- Documentação completa: USAGE.md - Referência completa da CLI
- Servidor MCP: docs/MCP.md - Use o GAC como servidor MCP para agentes de IA
- Claude Code OAuth: docs/CLAUDE_CODE.md - Configuração e autenticação do Claude Code
- ChatGPT OAuth: docs/CHATGPT_OAUTH.md - Configuração e autenticação do ChatGPT OAuth
- Prompts personalizados: CUSTOM_SYSTEM_PROMPTS.md - Personalize o estilo da mensagem de commit
- Estatísticas de uso: Veja
uvx gac stats --helpou a documentação completa - Solução de problemas: TROUBLESHOOTING.md - Problemas comuns e soluções
- Contribuindo: CONTRIBUTING.md - Configuração de desenvolvimento e diretrizes