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.
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.
