Eris Client
Una interfaz de línea de comandos (CLI) basada en C que integra tu flujo de trabajo de Git en comandos sencillos: commits convencionales guiados, commit y push en un solo paso, creación de ramas, rebasado y macros de proyecto reproducibles.
Eris es una CLI para desarrolladores que envuelve tu flujo de trabajo con git mediante un flujo de commits estructurado, macros locales al proyecto y un enrutador de comandos basado en Prolog que admite encadenamiento y negación.
Ejecutas eris en lugar de git directamente para el trabajo diario.
Qué hace
eris init [nombre] — crea un directorio .eris/ en la carpeta actual, escribe el archivo de macros y añade .eris/ a la exclusión local de git para que nunca aparezca en tu repositorio.
eris commit / eris copush — commit interactivo + push en un solo paso. Te pide seleccionar un tipo de commit convencional (feat, fix, refactor, etc.) de un menú, luego solicita un mensaje, lo formatea como tipo: mensaje, prepara todo, hace commit y push. Funciona desde cualquier lugar dentro del proyecto.
eris ignore <archivo> — añade un archivo a .eris/.eris.ignore para que se omita durante copush. Es por proyecto, no global.
eris alias add <nombre> do <comando> do <comando> — guarda una macro con nombre (secuencia de comandos de shell) en .eris/.eris.macros.
eris alias run <nombre> / eris run <nombre> — ejecuta una macro guardada.
eris rebuild — reconstruye el binario de eris usando CMake.
eris root — muestra la raíz del proyecto eris detectada.
Encadenamiento de comandos
El enrutador de comandos está escrito en Prolog. Admite &&, || y not directamente en la lista de argumentos:
eris init myapp && eris commit # commit solo si init tuvo éxito
eris init || true # ignora el fallo
eris not init # tiene éxito cuando init falla
Macros
Las macros se almacenan en .eris/.eris.macros en la raíz del proyecto:
[deploy]
make build
git push origin main
ssh prod "systemctl restart app"
Añadir con separador do (sin necesidad de comillas):
eris alias add deploy do make build do git push origin main
Añadir con comillas (para comandos que contienen punto y coma o sintaxis de shell):
eris alias add test "npm run lint" "npm test"
Ejecutar:
eris run deploy
Instalación
make install
Esto compila el binario, lo copia a /usr/local/bin/eris y añade un alias a tu .bashrc o .zshrc (detectado automáticamente). Luego:
source ~/.zshrc # o ~/.bashrc
Las dependencias (cmake, gcc, libcurl, libssl, etc.) se verifican e instalan automáticamente durante la compilación si faltan.
Compilar desde el código fuente
make # configurar + compilar (Debug)
make CONFIG=Release
make JOBS=8
Requiere: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Opcional: SWI-Prolog (libswipl-dev) para el enrutador Prolog — usa un enrutador C como alternativa si no está presente.
