Eris Client
C

Eris Client

Een op C gebaseerde CLI die je Git-workflow verpakt in eenvoudige commando's — begeleide conventionele commits, commit en push in één stap, vertakken, rebasing en herhaalbare projectmacro's.

GitHub|

Eris is een CLI voor ontwikkelaars die je Git-workflow omvat met een gestructureerde commit-stroom, projectspecifieke macro's en een door Prolog aangestuurde commandorouter die ketenvorming en negatie ondersteunt.

Je gebruikt eris in plaats van pure Git voor je dagelijkse werkzaamheden.


Wat het doet

eris init [naam] — maakt een .eris/-map aan in de huidige map, schrijft het macro's-bestand en voegt .eris/ toe aan de lokale uitsluiting van Git, zodat deze nooit in je repository verschijnt.

eris commit / eris copush — interactieve commit + push in één keer. Vraagt je om een conventioneel commit-type (feat, fix, refactor, enz.) uit een menu te kiezen, vraagt vervolgens om een bericht, formatteert dit als type: bericht, zet alles in de staging-area, voert een commit uit en pusht. Werkt vanaf elke locatie binnen het project.

eris ignore <bestand> — voegt een bestand toe aan .eris/.eris.ignore, zodat het wordt overgeslagen tijdens copush. Per project, niet globaal.

eris alias add <naam> do <cmd> do <cmd> — slaat een macro met een naam (reeks shell-opdrachten) op in .eris/.eris.macros.

eris alias run <naam> / eris run <naam> — voert een opgeslagen macro uit.

eris rebuild — bouwt het eris-binaire bestand zelf opnieuw op met behulp van CMake.

eris root — geeft de gedetecteerde hoofdmap van het eris-project weer.


Opvolging van commando’s

De commando-router is geschreven in Prolog. Deze ondersteunt &&, || en not direct in de argumentenlijst:

eris init myapp && eris commit # alleen committen als init is geslaagd
eris init || true # negeer mislukking
eris not init # slaagt wanneer init mislukt

Macro’s

Macro’s worden opgeslagen in .eris/.eris.macros in de projectroot:

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

Toevoegen met do als scheidingsteken (geen aanhalingstekens nodig):

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

Toevoegen met aanhalingstekens (voor commando’s die puntkomma’s of shell-syntaxis bevatten):

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

Uitvoeren:

eris run deploy

Installeren

make install

Hiermee wordt het binaire bestand gebouwd, naar /usr/local/bin/eris gekopieerd en wordt een alias toegevoegd aan je .bashrc of .zshrc (wordt automatisch gedetecteerd). Vervolgens:

source ~/.zshrc   # of ~/.bashrc

Afhankelijkheden (cmake, gcc, libcurl, libssl, enz.) worden tijdens het bouwen automatisch gecontroleerd en geïnstalleerd indien ze ontbreken.


Bouwen vanuit de broncode

make # configureren + bouwen (Debug)
make CONFIG=Release
make JOBS=8

Vereist: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Optioneel: SWI-Prolog (libswipl-dev) voor de Prolog-router — valt terug op een C-router indien niet aanwezig.


Documentatie