Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generar mensajes de commit desde cambios preparados. Se activa con "generar mensaje de commit", "sugerir commit message".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 90% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 197% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 132% | 0% |
| case-01 | ✓→✗ | ▼ Worse | 85% | 0% |
| case-03 | ✓→✗ | ▼ Worse | 174% | 0% |
Genera mensajes de commit a partir de cambios staged (git diff --staged). Este comando solo crea mensajes y los copia al portapapeles—no ejecuta ningún comando git.
bash/commit-message [opciones]
--format <formato> : Elegir formato de mensaje (conventional, gitmoji, angular)--lang <idioma> : Establecer idioma explícitamente (en, es)--breaking : Incluir detección de cambios disruptivosbash# Generar mensaje a partir de cambios staged (idioma auto-detectado) # La sugerencia principal se copia automáticamente al portapapeles /commit-message # Especificar idioma explícitamente /commit-message --lang es /commit-message --lang en # Incluir detección de cambios disruptivos /commit-message --breaking
Importante: Este comando solo funciona con cambios staged. Ejecuta git add primero para staged tus cambios.
bash# Si no hay nada staged, verás: $ /commit-message No staged changes found. Please run git add first.
La sugerencia principal se copia al portapapeles como comando completo: git commit -m "mensaje". Solo pégalo y ejecútalo en tu terminal.
Notas de Implementación:
pbcopy en un proceso separado de la salida del mensajeprintf en lugar de echo para evitar saltos de línea no deseadosImportante: Si existen convenciones específicas del proyecto, tienen prioridad.
Detecta automáticamente configuraciones de los siguientes archivos:
commitlint.config.jscommitlint.config.mjscommitlint.config.cjscommitlint.config.ts.commitlintrc.js.commitlintrc.json.commitlintrc.yml.commitlintrc.yamlpackage.json con sección commitlintbash# Buscar archivos de configuración find . -name "commitlint.config.*" -o -name ".commitlintrc.*" | head -1
Ejemplo de tipos específicos del proyecto:
javascript// commitlint.config.mjs export default { extends: ["@commitlint/config-conventional"], rules: { "type-enum": [ 2, "always", [ "feat", "fix", "docs", "style", "refactor", "test", "chore", "wip", // work in progress "hotfix", // urgent fix "release", // release "deps", // dependency update "config", // configuration change ], ], }, };
javascript// El proyecto usa mensajes en español export default { rules: { "subject-case": [0], // Deshabilitar para soporte español "subject-max-length": [2, "always", 72], // Ajustar límite de caracteres para español }, };
bash# Aprender patrones de uso de commits recientes git log --oneline -50 --pretty=format:"%s" # Estadísticas de tipos utilizados git log --oneline -100 --pretty=format:"%s" | \ grep -oE '^[a-z]+(\([^)]+\))?' | \ sort | uniq -c | sort -nr
Cambia automáticamente entre español/inglés/japonés basado en:
Por defecto es inglés. Genera en español si se detecta como proyecto en español.
text<type>: <description>
Importante: Siempre genera mensajes de commit de una sola línea. No genera mensajes multilínea.
Nota: Las convenciones específicas del proyecto tienen prioridad si existen.
Tipos Requeridos:
feat: Nueva característica (adición de característica visible al usuario)fix: Corrección de errorTipos Opcionales:
build: Cambios en sistema de build o dependencias externaschore: Otros cambios (sin impacto en release)ci: Cambios en archivos y scripts de configuración CIdocs: Cambios solo en documentaciónstyle: Cambios que no afectan el significado del código (espacios, formato, punto y coma, etc.)refactor: Cambios de código sin correcciones de errores o adiciones de característicasperf: Mejoras de rendimientotest: Agregando o corrigiendo pruebasbash$ /commit-message 📝 Sugerencias de Mensaje de Commit ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✨ Candidato Principal: feat: implement JWT-based authentication system 📋 Alternativas: 1. feat: add user authentication with JWT tokens 2. fix: resolve token validation error in auth middleware 3. refactor: extract auth logic into separate module ✅ `git commit -m "feat: implement JWT-based authentication system"` copiado al portapapeles
Ejemplo de Implementación (Versión Corregida):
bash# Copiar comando de commit al portapapeles primero (sin salto de línea) printf 'git commit -m "%s"' "$COMMIT_MESSAGE" | pbcopy # Después mostrar mensaje cat << EOF 📝 Sugerencias de Mensaje de Commit ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✨ Candidato Principal: $COMMIT_MESSAGE 📋 Alternativas: 1. ... 2. ... 3. ... ✅ \`git commit -m "$COMMIT_MESSAGE"\` copiado al portapapeles EOF
bash$ /commit-message 📝 Sugerencias de Mensaje de Commit ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✨ Candidato Principal: feat: implementar sistema de autenticación JWT 📋 Alternativas: 1. feat: agregar autenticación de usuario con tokens JWT 2. fix: resolver error de validación de token en middleware auth 3. refactor: extraer lógica de auth a módulo separado ✅ `git commit -m "feat: implementar sistema de autenticación JWT"` copiado al portapapeles
git diff --stagedNota: Este comando no ejecuta git add o git commit. Solo genera mensajes de commit y copia al portapapeles.
featfixtestchoredocs.gitmessageCONTRIBUTING.mdbash# Criterios de detección (orden de prioridad) 1. Detectar idioma del contenido git diff --staged 2. Análisis de comentarios de archivos staged 3. Análisis de idioma de git log --oneline -20 4. Configuraciones de idioma principal del proyecto
Información utilizada para análisis (solo lectura):
git diff --staged --name-only - Lista de archivos cambiadosgit diff --staged - Contenido real de cambiosgit status --porcelain - Estado de archivosPara cambios disruptivos de API:
Inglés:
bashfeat!: change user API response format BREAKING CHANGE: user response now includes additional metadata
O:
bashfeat(api)!: change authentication flow
Español:
bashfeat!: cambiar formato de respuesta de API de usuario BREAKING CHANGE: la respuesta del usuario ahora incluye metadatos adicionales
O:
bashfeat(api)!: cambiar flujo de autenticación
Inglés:
textfeat: add user registration endpoint fix: resolve memory leak in cache manager docs: update API documentation
Español:
textfeat: agregar endpoint de registro de usuario fix: resolver fuga de memoria en gestor de caché docs: actualizar documentación de API
bash# Usar con cambios staged git add -p # Staging interactivo /commit-message "Generar mensaje de commit óptimo" # Staged y analizar archivos específicos git add src/auth/*.js /commit-message --lang es "Generar mensaje para cambios de autenticación" # Detección y manejo de cambios disruptivos git add -A /commit-message --breaking "Marcar apropiadamente si hay cambios disruptivos"
git add de antemanoOther measured skills in the registry, with their headline benchmark lift.