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.
