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 ein Entwickler-CLI, das deinen Git-Workflow mit einem strukturierten Commit-Ablauf, projektlokalen Makros und einem Prolog-basierten Befehlsrouter, der Verkettung und Negation unterstützt, umschließt.
Du verwendest eris anstelle von rohem Git für die tägliche Arbeit.
Was es tut
eris init [name] — richtet ein .eris/-Verzeichnis im aktuellen Ordner ein, schreibt die Makrodatei und fügt .eris/ zu den lokalen Git-Ausnahmen hinzu, sodass es nie in deinem Repository auftaucht.
eris commit / eris copush — interaktiver Commit + 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 sie als Typ: Nachricht, staged alles, committed und pusht. Funktioniert von überall innerhalb des Projekts.
eris ignore <datei> — fügt eine Datei zu .eris/.eris.ignore hinzu, sodass sie bei copush übersprungen wird. Pro Projekt, nicht global.
eris alias add <name> do <befehl> do <befehl> — speichert ein benanntes Makro (Sequenz von Shell-Befehlen) in .eris/.eris.macros.
eris alias run <name> / eris run <name> — führt ein gespeichertes Makro aus.
eris rebuild — baut das eris-Binary selbst mit CMake neu.
eris root — gibt das erkannte eris-Projektstammverzeichnis aus.
Befehlsverkettung
Der Befehlsrouter ist in Prolog geschrieben. Er unterstützt &&, || und not direkt in der Argumentliste:
eris init myapp && eris commit # Commit nur, wenn init erfolgreich war
eris init || true # Fehler ignorieren
eris not init # Erfolg, wenn init fehlschlägt
Makros
Makros werden im Projektstammverzeichnis in .eris/.eris.macros gespeichert:
[deploy]
make build
git push origin main
ssh prod "systemctl restart app"
Hinzufügen mit do-Trennzeichen (keine Anführungszeichen nötig):
eris alias add deploy do make build do git push origin main
Hinzufügen mit Anführungszeichen (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
Dies erstellt das Binary, kopiert es nach /usr/local/bin/eris und fügt einen Alias zu deiner .bashrc oder .zshrc hinzu (automatisch erkannt). Dann:
source ~/.zshrc # oder ~/.bashrc
Abhängigkeiten (cmake, gcc, libcurl, libssl, usw.) werden während des Builds automatisch überprüft und installiert, falls sie fehlen.
Aus dem Quellcode erstellen
make # konfigurieren + erstellen (Debug)
make CONFIG=Release
make JOBS=8
Erfordert: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Optional: SWI-Prolog (libswipl-dev) für den Prolog-Router — fällt auf einen C-Router zurück, falls nicht vorhanden.
