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.

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.


Documentatie