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 ontwikkelaars-CLI die je git-workflow omhult met een gestructureerde commit-stroom, project-lokale macro's en een op Prolog gebaseerde commandorouter die chaining en negatie ondersteunt.
Je gebruikt eris in plaats van kale git voor dagelijks werk.
Wat het doet
eris init [naam] — maakt een .eris/-map aan in de huidige map, schrijft het macrobestand en voegt .eris/ toe aan git's lokale uitsluiting zodat het nooit in je repository verschijnt.
eris commit / eris copush — interactieve commit + push in één keer. Vraagt je om een conventioneel commit-type te kiezen (feat, fix, refactor, etc.) uit een menu, vraagt vervolgens om een bericht, formatteert het als type: bericht, staget alles, commit en pusht. Werkt vanuit elke locatie in 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 benoemde macro (reeks shell-commando's) op in .eris/.eris.macros.
eris alias run <naam> / eris run <naam> — voert een opgeslagen macro uit.
eris rebuild — herbouwt de eris-binary zelf met CMake.
eris root — toont de gedetecteerde eris-projectroot.
Command chaining
De commandorouter is geschreven in Prolog. Het ondersteunt &&, || en not direct in de argumentenlijst:
eris init myapp && eris commit # alleen committen als init is gelukt
eris init || true # negeer fout
eris not init # slaagt wanneer init faalt
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-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
Dit bouwt de binary, kopieert deze naar /usr/local/bin/eris en voegt een alias toe aan je .bashrc of .zshrc (automatisch gedetecteerd). Daarna:
source ~/.zshrc # of ~/.bashrc
Afhankelijkheden (cmake, gcc, libcurl, libssl, etc.) worden gecontroleerd en automatisch geïnstalleerd tijdens het bouwen indien ze ontbreken.
Bouwen vanuit 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.
