Eris Client
C

Eris Client

Eine C-basierte Befehlszeilenschnittstelle, die Ihren Git-Workflow in einfache Befehle verpackt – geführte „Conventional Commits“, Commit und Push in einem Schritt, Verzweigungen, Rebasing sowie wiederholbare Projektmakros.

GitHub|

Eris ist eine CLI für Entwickler, die Ihren Git-Workflow mit einem strukturierten Commit-Ablauf, projektbezogenen Makros und einem Prolog-basierten Befehlsrouter ergänzt, der Verkettung und Negation unterstützt.

Sie verwenden eris anstelle von Git ohne Erweiterungen für Ihre tägliche Arbeit.


Funktionsweise

eris init [name] — richtet im aktuellen Ordner ein Verzeichnis .eris/ ein, schreibt die Makrodatei und fügt .eris/ zu den lokalen Ausschlüssen von Git hinzu, sodass es niemals in Ihrem Repo erscheint.

eris commit / eris copush – interaktiver Commit + Push in einem Schritt. Fordert Sie auf, einen konventionellen Commit-Typ (feat, fix, refactor usw.) aus einem Menü auszuwählen, fragt dann nach einer Nachricht, formatiert diese als Typ: Nachricht, stellt alles bereit, führt den Commit durch und führt den Push aus. Funktioniert von überall innerhalb des Projekts.

eris ignore <Datei> — Fügt eine Datei zu .eris/.eris.ignore hinzu, sodass sie bei copush übersprungen wird. Projektbezogen, nicht global.

eris alias add <name> do <cmd> do <cmd> — Speichert ein benanntes Makro (eine Abfolge von Shell-Befehlen) in .eris/.eris.macros.

eris alias run <name> / eris run <name> — führt ein gespeichertes Makro aus.

eris rebuild — Erstellt die eris-Binärdatei selbst mithilfe von CMake neu.

eris root — gibt das erkannte Stammverzeichnis des eris-Projekts aus.


Befehlsketten

Der Befehlsrouter ist in Prolog geschrieben. Er unterstützt &&, || und not direkt in der Argumentliste:

eris init myapp && eris commit # Commit nur, wenn die Initialisierung erfolgreich war
eris init || true # Fehler ignorieren
eris not init # Erfolgreich, wenn die Initialisierung fehlschlägt

Makros

Makros werden im Verzeichnis .eris/.eris.macros im Projektstammverzeichnis gespeichert:

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

Mit dem Trennzeichen do hinzufügen (keine Anführungszeichen erforderlich):

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

Mit Anführungszeichen hinzufügen (für Befehle, die Semikolons oder Shell-Syntax enthalten):

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

Ausführen:

eris run deploy

Installation

make install

Dadurch wird die Binärdatei erstellt, in /usr/local/bin/eris kopiert und ein Alias an Ihre .bashrc- oder .zshrc-Datei angehängt (wird automatisch erkannt). Anschließend:

source ~/.zshrc   # oder ~/.bashrc

Abhängigkeiten (cmake, gcc, libcurl, libssl usw.) werden während des Kompiliervorgangs automatisch überprüft und bei Fehlen installiert.


Aus dem Quellcode kompilieren

make # Konfigurieren + Kompilieren (Debug)
make CONFIG=Release
make JOBS=8

Voraussetzungen: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Optional: SWI-Prolog (libswipl-dev) für den Prolog-Router – falls nicht vorhanden, wird auf einen C-Router zurückgegriffen.


Dokumentation