🚀 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
¡Mensajes de commit impulsados por LLM que entienden tu código!
¡Automatiza tus commits! Reemplaza git commit -m "..." con uvx gac para obtener mensajes de commit contextuales y bien formateados generados por modelos de lenguaje grandes!
Lo que obtienes
Mensajes inteligentes y contextuales que explican el porqué detrás de tus cambios:

Inicio rápido
uvx gac init # Configura tu proveedor, modelo e idioma
uvx gac # Genera y hace commit con LLM
¡Eso es todo! Revisa el mensaje generado y confirma con y.
Características principales
33+ Proveedores soportados
- 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álisis inteligente con LLM
- Entiende la intención: Analiza la estructura del código, lógica y patrones para entender el "porqué" detrás de tus cambios, no solo qué cambió
- Conciencia semántica: Reconoce refactorizaciones, correcciones de errores, características y cambios rotos para generar mensajes contextualmente apropiados
- Filtrado inteligente: Prioriza cambios significativos mientras ignora archivos generados, dependencias y artefactos
- Agrupación inteligente de commits - Agrupa automáticamente cambios relacionados en múltiples commits lógicos con
--group
📝 Múltiples formatos de mensaje
- Una línea (bandera -o): Mensaje de commit de una sola línea siguiendo el formato de commit convencional
- Estándar (predeterminado): Resumen con viñetas explicando detalles de implementación
- Detallado (bandera -v): Explicaciones completas incluyendo motivación, enfoque técnico y análisis de impacto
- Regla 50/72 (bandera --50-72): Aplica el formato clásico de mensaje de commit para legibilidad óptima en git log y GitHub UI
- DCO/Signoff (bandera --signoff): Agrega línea Signed-off-by para cumplimiento del Developer Certificate of Origin (requerido por Cherry Studio, kernel de Linux y otros proyectos)
🌍 Soporte multilingüe
- 25+ idiomas: Genera mensajes de commit en inglés, chino, japonés, coreano, español, francés, alemán y 18+ idiomas más
- Traducción flexible: Elige mantener prefijos de commit convencionales en inglés para compatibilidad de herramientas, o traducirlos completamente
- Múltiples flujos de trabajo: Establece un idioma predeterminado con
uvx gac language, o usa la bandera-l <idioma>para anulaciones de una sola vez - Soporte de escritura nativa: Soporte completo para scripts no latinos incluyendo CJK, cirílico, tailandés y más
💻 Experiencia del desarrollador
- Retroalimentación interactiva: Escribe
rpara volver a generar,epara editar (TUI in-place por defecto, o tu$GAC_EDITORsi está configurado), o escribe directamente tu retroalimentación como "hazlo más corto" o "enfócate en la corrección del error" - Interrogación interactiva: Usa
--interactive(-i) para responder preguntas específicas sobre tus cambios para mensajes de commit más contextuales - Flujos de trabajo de un comando: Flujos de trabajo completos con banderas como
uvx gac -ayp(stage todo, auto-confirmar, push) - Integración con Git: Respeta los hooks de pre-commit y lefthook, ejecutándolos antes de operaciones costosas de LLM
- Servidor MCP: Ejecuta
uvx gac servepara exponer herramientas de commit a agentes de IA a través del Model Context Protocol
📊 Estadísticas de Uso
uvx gac stats # Resumen: gacs totales, rachas, picos diarios/semanales, proyectos y modelos principales
uvx gac stats models # Desglose por modelo: gacs, tokens, latencia, velocidad, gráficos de latencia por commit
uvx gac stats projects # Desglose por proyecto: gacs, commits, tokens, archivos promedio por gac en todos los repositorios
uvx gac stats recent # Historial de gacs recientes: tokens, velocidad, latencia, archivos por gac (-n 20 para más)
uvx gac stats reset # Restablecer todas las estadísticas (solicita confirmación)
uvx gac stats reset model <model-id> # Restablecer estadísticas solo para un modelo específico
- Rastrea tus gacs: Ve cuántos commits has hecho con gac, tu racha actual, pico de actividad diaria/semanal y proyectos principales
- Seguimiento de tokens: Tokens totales de prompt, output y razonamiento por día, semana, proyecto y modelo — con trofeos de récord también para el uso de tokens
- Modelos principales: Ve qué modelos usas más y cuántos tokens consume cada uno
- Celebraciones de récord: 🏆 trofeos cuando estableces nuevos récords diarios, semanales, de tokens o de racha; 🥈 por empatarlos
- Opt-in durante la configuración:
uvx gac initpregunta si deseas activar las estadísticas y explica exactamente qué se almacena - Opt-out en cualquier momento: Establece
GAC_DISABLE_STATS=true(o1/yes/on) para desactivar. Establecerlo enfalse/0/no(o dejarlo sin establecer) mantiene las estadísticas activadas - Privacidad primero: Almacenado localmente en
~/.gac_stats.json. Solo conteos, fechas, nombres de proyectos y nombres de modelos — sin mensajes de commit, código ni datos personales. Sin telemetría
🛡️ Seguridad incorporada
- Detección automática de secretos: Escanea claves de API, contraseñas y tokens antes de hacer commit
- Protección interactiva: Pregunta antes de hacer commit de datos potencialmente sensibles con claras opciones de remedición
- Filtrado inteligente: Ignora archivos de ejemplo, archivos de plantilla y texto de marcador de posición para reducir falsos positivos
Ejemplos de uso
Flujo de trabajo básico
# Haz stage de tus cambios
git add .
# Genera y haz commit con LLM
uvx gac
# Revisa → y (commit) | n (cancelar) | r (volver a generar) | e (editar) | o escribe retroalimentación
Comandos comunes
| Comando | Descripción |
|---|---|
uvx gac | Generar mensaje de commit |
uvx gac -y | Auto-confirmar (no necesita revisión) |
uvx gac -a | Hacer stage de todo antes de generar mensaje de commit |
uvx gac -S | Seleccionar archivos interactivamente para staging |
uvx gac -o | Mensaje de una línea para cambios triviales |
uvx gac -v | Formato detallado con Motivación, Enfoque Técnico y Análisis de Impacto |
uvx gac -h "hint" | Añadir contexto para LLM (ej., uvx gac -h "corrección de error") |
uvx gac -s | Incluir alcance (ej., feat(auth):) |
uvx gac -i | Hacer preguntas sobre los cambios para mejor contexto |
uvx gac -g | Agrupar cambios en múltiples commits lógicos |
uvx gac -p | Hacer commit y push |
uvx gac model | Cambiar proveedor y modelo de IA |
uvx gac stats | Ver tus estadísticas de uso de gac |
Ejemplos para usuarios avanzados
# Flujo de trabajo completo en un comando
# Ver tus estadísticas de commits
uvx gac stats
# Estadísticas de todos los proyectos
uvx gac stats projects
uvx gac -ayp -h "preparación de release"
# Explicación detallada con alcance
uvx gac -v -s
# Mensaje rápido de una línea para cambios pequeños
uvx gac -o
# Generar mensaje de commit en un idioma específico
uvx gac -l es
# Agrupar cambios en commits lógicamente relacionados
uvx gac -ag
# Modo interactivo con salida detallada para explicaciones detalladas
uvx gac -iv
# Depurar lo que el LLM ve
uvx gac --show-prompt
# Omitir escaneo de seguridad (usar con cuidado)
uvx gac --skip-secret-scan
# Agregar signoff para cumplimiento DCO (Cherry Studio, kernel de Linux, etc.)
uvx gac --signoff
Sistema de retroalimentación interactiva
¿No estás contento con el resultado? Tienes varias opciones:
# Volver a generar simple (sin retroalimentación)
r
# Editar el mensaje de commit
e
# ¡O simplemente escribe tu retroalimentación directamente!
hazlo más corto y enfócate en la mejora de rendimiento
usa formato de commit convencional con alcance
explica las implicaciones de seguridad
# Presiona Enter en entrada vacía para ver el prompt nuevamente
La función de edición (e) te permite refinar el mensaje de commit:
- Por defecto (TUI in-place): Edición multilínea con keybindings vi/emacs — corregir errores tipográficos, ajustar redacción, reestructurar
- Con
GAC_EDITOR: Abre tu editor preferido (code,vim,nano, etc.) — toda la potencia del editor incluyendo buscar/reemplazar, macros, etc.
Los editores GUI como VS Code se manejan automáticamente: gac inserta --wait para que el proceso se bloquee hasta que cierres la pestaña del editor. No se necesita configuración adicional.
Configuración
Ejecuta uvx gac init para configurar tu proveedor interactivamente, o establece variables de entorno:
¿Necesitas cambiar proveedores o modelos más tarde sin tocar la configuración de idioma? Usa uvx gac model para un flujo optimizado que omite los prompts de idioma.
Consulta .gac.env.example para todas las opciones disponibles.
¿Quieres mensajes de commit en otro idioma? Ejecuta uvx gac language para seleccionar entre 25+ idiomas incluyendo Español, Français, 日本語 y más.
¿Quieres personalizar el estilo del mensaje de commit? Consulta docs/CUSTOM_SYSTEM_PROMPTS.md para orientación sobre cómo escribir prompts de sistema personalizados.
Obtener ayuda
- Documentación completa: USAGE.md - Referencia completa de CLI
- Servidor MCP: docs/MCP.md - Usar GAC como servidor MCP para agentes de IA
- Claude Code OAuth: docs/CLAUDE_CODE.md - Configuración y autenticación de Claude Code
- ChatGPT OAuth: docs/CHATGPT_OAUTH.md - Configuración y autenticación de ChatGPT OAuth
- Prompts personalizados: CUSTOM_SYSTEM_PROMPTS.md - Personaliza el estilo del mensaje de commit
- Estadísticas de uso: Consulta
uvx gac stats --helpo la documentación completa - Solución de problemas: TROUBLESHOOTING.md - Problemas comunes y soluciones
- Contribuir: CONTRIBUTING.md - Configuración de desarrollo y guías