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