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.

GitHub|

Eris es una interfaz de línea de comandos (CLI) para desarrolladores que integra tu flujo de trabajo de Git con un flujo de confirmaciones estructurado, macros específicas del proyecto y un enrutador de comandos basado en Prolog que admite encadenamiento y negación.

Utilizas eris en lugar de Git sin modificaciones para el trabajo diario.


Qué hace

eris init [nombre]: crea un directorio .eris/ en la carpeta actual, genera el archivo de macros y añade .eris/ a la lista de exclusiones locales de Git para que nunca aparezca en tu repositorio.

eris commit / eris copush: commit interactivo y push de una sola vez. Te pide que elijas un tipo de commit convencional (feat, fix, refactor, etc.) de un menú; a continuación, te solicita un mensaje, lo formatea como tipo: mensaje, prepara todo para el commit, realiza el commit y envía los cambios. Funciona desde cualquier lugar dentro del proyecto.

eris ignore <archivo> — añade un archivo a .eris/.eris.ignore para que se omita durante el copush. Es específico de cada 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 — recompila el propio binario de eris utilizando 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 # realiza el commit solo si la inicialización ha tenido éxito
eris init || true # ignora el fallo
eris not init # se ejecuta con éxito cuando la inicialización 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 el separador do (no es necesario entre comillas):

eris alias add deploy do make build do git push origin main

Añadir entre comillas (para comandos que contengan 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 (se detecta automáticamente). A continuación:

source ~/.zshrc   # o ~/.bashrc

Las dependencias (cmake, gcc, libcurl, libssl, etc.) se comprueban e instalan automáticamente durante la compilación si faltan.


Compilar desde el código fuente

make # configuración + compilación (Debug)
make CONFIG=Release
make JOBS=8

Requisitos: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Opcional: SWI-Prolog (libswipl-dev) para el enrutador Prolog; si no está presente, se recurre a un enrutador en C.


Documentación