Eris Client
Eine CLI auf C-Basis, die deinen Git-Workflow in einfache Befehle verpackt. Fügt Commit-Vorlagen, Ein-Schritt-Commit und -Push, Branching, Rebasing, Aufgaben und To-dos sowie wiederholbare Projektmakros hinzu.
Eris ist eine CLI für Entwickler, die Ihren Git-Workflow mit einem strukturierten Commit-Ablauf, projektlokalen Makros und einem Prolog-basierten Befehlsrouter umgibt, der Verkettung und Negation unterstützt.
Sie verwenden eris anstelle von reinem Git 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 Ausschlusslisten von Git hinzu, sodass es niemals in Ihrem Repo erscheint.
eris commit / eris copush – Interaktiver Commit und Push in einem Schritt. Fordert dich 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. Gilt 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 mit 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
Installieren
make
Dadurch wird die Binärdatei erstellt und als Symlink in ~/.local/bin/eris verknüpft (mit LINK_DIR=... überschreibbar), sodass eris sofort ohne sudo funktioniert. Für eine systemweite Installation stattdessen:
sudo make install
Dadurch wird die Binärdatei erstellt, zusammen mit den dazugehörigen Prolog-Router-Dateien unter /usr/local/lib/eris/ installiert und ein symbolischer Link von /usr/local/bin/eris dorthin erstellt. Es ist kein Shell-Alias erforderlich, solange /usr/local/bin in Ihrem PATH enthalten ist. Um die Installation ohne Root-Rechte durchzuführen, verwenden Sie ein Benutzerpräfix:
make install PREFIX=$HOME/.local # Die Binärdatei wird in ~/.local/bin abgelegt
Abhängigkeiten (cmake, gcc, libcurl, libssl usw.) werden während des Kompiliervorgangs automatisch überprüft und bei Fehlen installiert.
Kompilieren aus dem Quellcode
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.
