leganux-commit-describer
v1.0.0
Published
CLI tool to describe git commit changes using DeepSeek AI
Maintainers
Readme
lnxcommit — Leganux Commit Describer
CLI que analiza los cambios de tus commits de Git y genera una descripción legible en español usando IA (DeepSeek).
Requisitos
- Node.js >= 18
- Una API key de DeepSeek
- El directorio donde lo uses debe ser un repositorio Git
Instalación
Opción A — Global desde npm
npm install -g leganux-commit-describerOpción B — Clonar y enlazar localmente
git clone https://github.com/leganux/leganux-commit-describer.git
cd leganux-commit-describer
npm install
npm linkTras la instalación el binario lnxcommit quedará disponible en tu PATH.
Comandos
lnxcommit configure
Guarda tu API key de DeepSeek en ~/.lnx_commit_describer/config.json.
Solo necesitas ejecutarlo una vez (o cuando quieras cambiar la key).
lnxcommit configureFlujo interactivo:
🔧 Configuración de lnxcommit
API key actual: (no configurada)
? Ingresa tu API key de DeepSeek: ****************************
✅ API key guardada en: /Users/<tu-usuario>/.lnx_commit_describer/config.jsonlnxcommit describe
Analiza el repositorio Git del directorio actual (o del indicado con --path) y
muestra la descripción de cambios directamente en la consola.
# En el directorio del repo
lnxcommit describe
# Apuntando a otro repositorio
lnxcommit describe --path /ruta/al/repoSalida de ejemplo:
🔍 Analizando cambios en: /Users/leganux/mi-proyecto
:sparkles: Título: Migración de script a librería npm con CLI interactivo
- :sparkles: Se agrega el archivo `bin/lnxcommit.js` que expone el CLI con commander
- :recycle: Se refactoriza `describe-changes.js` separando la lógica en `lib/core.js`
- :memo: Se actualiza `README.md` con instrucciones completas de uso
- :package: Se crea `package.json` definiendo el binario `lnxcommit`
Resumen: Se convirtió el script original en una herramienta de línea de comandos instalable...Opciones
| Opción | Descripción |
|--------|-------------|
| --path <ruta> | Ruta al repositorio git (por defecto: directorio actual) |
lnxcommit describeandexport
Igual que describe, pero además exporta el resultado a un archivo .txt.
# Exporta a commit-description.txt en el directorio actual
lnxcommit describeandexport
# Con ruta y nombre de archivo personalizado
lnxcommit describeandexport --path /ruta/al/repo --output ./changelog/cambios.txtSalida de ejemplo:
🔍 Analizando cambios en: /Users/leganux/mi-proyecto
- :sparkles: ...
- :bug: ...
📄 Descripción exportada a: /Users/leganux/mi-proyecto/commit-description.txtEl archivo generado tiene el siguiente formato:
# Descripción de cambios
Generado: 2026-05-06 14:00:00
Directorio: /Users/leganux/mi-proyecto
- :sparkles: Título: ...
- :recycle: ...
...Opciones
| Opción | Descripción |
|--------|-------------|
| --path <ruta> | Ruta al repositorio git (por defecto: directorio actual) |
| --output <archivo> | Archivo de salida (por defecto: commit-description.txt en el repo) |
Configuración almacenada
La API key se guarda de forma local en tu máquina en:
~/.lnx_commit_describer/config.jsonEjemplo del contenido:
{
"apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}Este archivo es solo tuyo y nunca se sube al repositorio (está en .gitignore).
Cómo funciona internamente
- Detecta la rama base de comparación (
origin/main,origin/masteroHEAD~1). - Obtiene
git diff --name-statusy el patch unificado contra esa base. - Construye un prompt en español y lo envía a la API de DeepSeek (
deepseek-chat). - Formatea la respuesta como viñetas con gitmoji y la muestra / guarda.
Estructura del proyecto
leganux-commit-describer/
├── bin/
│ └── lnxcommit.js # Punto de entrada del CLI (commander)
├── lib/
│ └── core.js # Lógica reutilizable (git, AI, config)
├── describe-changes.js # Script original (standalone)
├── package.json
└── README.mdLicencia
MIT © leganux
