Eris Client
C

Eris Client

Un'interfaccia a riga di comando (CLI) basata su C che semplifica il flusso di lavoro Git in comandi intuitivi: commit convenzionali guidati, commit e push in un unico passaggio, creazione di rami, rebase e macro di progetto riutilizzabili.

Eris è una CLI per sviluppatori che avvolge il tuo flusso di lavoro git con un flusso di commit strutturato, macro locali al progetto e un router di comandi basato su Prolog che supporta concatenamento e negazione.

Esegui eris invece del git grezzo per il lavoro quotidiano.


Cosa fa

eris init [nome] — crea una directory .eris/ nella cartella corrente, scrive il file delle macro e aggiunge .eris/ all'exclude locale di git in modo che non appaia mai nel tuo repository.

eris commit / eris copush — commit interattivo + push in un unico passaggio. Ti chiede di selezionare un tipo di commit convenzionale (feat, fix, refactor, ecc.) da un menu, poi richiede un messaggio, lo formatta come tipo: messaggio, mette in stage tutto, esegue il commit e fa il push. Funziona da qualsiasi punto all'interno del progetto.

eris ignore <file> — aggiunge un file a .eris/.eris.ignore in modo che venga saltato durante copush. Per progetto, non globale.

eris alias add <nome> do <comando> do <comando> — salva una macro con nome (sequenza di comandi shell) in .eris/.eris.macros.

eris alias run <nome> / eris run <nome> — esegue una macro salvata.

eris rebuild — ricostruisce il binario eris stesso usando CMake.

eris root — stampa la radice del progetto eris rilevata.


Concatenamento di comandi

Il router di comandi è scritto in Prolog. Supporta &&, || e not direttamente nell'elenco degli argomenti:

eris init myapp && eris commit      # commit solo se init ha successo
eris init || true                   # ignora il fallimento
eris not init                       # ha successo quando init fallisce

Macro

Le macro sono memorizzate in .eris/.eris.macros nella radice del progetto:

[deploy]
make build
git push origin main
ssh prod "systemctl restart app"

Aggiungi con separatore do (nessuna necessità di virgolette):

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

Aggiungi con virgolette (per comandi che contengono punti e virgola o sintassi shell):

eris alias add test "npm run lint" "npm test"

Esegui:

eris run deploy

Installazione

make install

Questo costruisce il binario, lo copia in /usr/local/bin/eris e aggiunge un alias al tuo .bashrc o .zshrc (rilevato automaticamente). Poi:

source ~/.zshrc   # o ~/.bashrc

Le dipendenze (cmake, gcc, libcurl, libssl, ecc.) vengono verificate e installate automaticamente durante la build se mancanti.


Build da sorgente

make        # configura + build (Debug)
make CONFIG=Release
make JOBS=8

Richiede: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Opzionale: SWI-Prolog (libswipl-dev) per il router Prolog — utilizza un router C come fallback se non presente.


Documentazione