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.

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.


Dokumentation