Eris Client
C

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.


Documentación