Skip to content

riverosmejia/better-commit

v0.1.0MIT

/commit turns the working tree into Conventional Commits, one per logical group, on the branch you are on. Asks once (commit only, commit and push, or a new branch); never adds attribution.

better-commit

Conventional Commits from your working tree: /commit splits your changes into one commit per logical group, on the branch you are on. Conventional Commits desde tu árbol de trabajo: /commit parte los cambios en un commit por grupo lógico, en la rama en la que estés.

❯ /better-commit:commit

  Commit: what do you want?
  ❯ 1. Commit only (Recommended)      <- your convention: commits without push
    2. Commit and push to this branch
    3. Commit on a new branch

[groups the changes, one commit each]

  feat(api): retry the reconnect instead of dropping the listener
  chore(deps): move vite to ^6.2.0

Adaptación a Hermes Agent del comando commit de better-claude de midudev. Familia better-hermes.

Qué hace

Leegit rev-parse --abbrev-ref HEAD, git status --short --branch y git diff HEAD antes de tocar nada, y git diff HEAD -- <fichero> por grupo cuando hace falta
Preguntauna vez: solo commit (por defecto), commit y push, o commit en una rama nueva. Si ya lo dijiste (/commit push), no pregunta
Agrupaun commit por cambio lógico, no por fichero; si un fichero mezcla dos cambios que no se pueden separar, lo dice
Mensajetype(scope): resumen, imperativo, ≤ 72 caracteres, en tu idioma (mira git log --oneline -10), cuerpo solo cuando el porqué no se ve
NuncaCo-Authored-By, enlaces de sesión, atribución a un modelo o herramienta, emoji, .env* ni credenciales, --amend, rebase, reset --hard, force-push, ni tocar otra rama
Cierragit log --oneline -n <commits> y git status --short --branch, y te dice en tres líneas qué hizo y qué dejó fuera

Instalar

hermes plugins install riverosmejia/better-commit --enable

O desde el repo, para desarrollarlo:

git clone git@github.com:riverosmejia/better-commit.git
cd better-commit && ./install.sh        # enlaza, habilita y comprueba

Requisitos: Hermes Agent y git. No hay dependencias, ni herramientas, ni hooks, ni red.

Cómo se invoca

Las skills de un plugin se exponen en la sesión con su nombre completo:

/better-commit:commit          en el CLI o el TUI (solo interactivo)

Y, sobre todo, no hace falta recordar el nombre: dile "haz commit", "commitea esto" o "parte estos cambios" y el agente carga la skill por su descripción y hace lo mismo. En hermes chat -q (una sola pregunta, sin sesión interactiva) las skills de plugin no se resuelven como comando: ahí pide el commit en lenguaje natural.

Cómo está hecho

Un __init__.py de cinco líneas que registra la skill, y skills/commit/SKILL.md, que es todo el comando: Hermes la carga como instrucciones y el modelo ejecuta git con sus herramientas. Sin lógica propia no hay nada que se pueda desincronizar del comportamiento.

Origen y licencia

Port del comando commit de better-claude de midudev: su commands/commit.md fija el modelo, las herramientas permitidas y las reglas de agrupación y mensaje; aquí esas reglas viven en la skill y las ejecuta el agente con sus propias herramientas.

MIT © Miguel Ángel Durán (midudev) y riverosmejia. Ver LICENSE.