Eris Client
C

Eris Client

Narzędzie CLI napisane w języku C, które pozwala zarządzać procesem pracy z Git za pomocą prostych poleceń — wspomagane konwencjonalne zatwierdzenia, zatwierdzanie i wysyłanie zmian w jednym kroku, tworzenie gałęzi, rebasing oraz makra projektowe, które można ponownie uruchamiać.

Eris to CLI dla programistów, które opakowuje Twój przepływ pracy z gitem w ustrukturyzowany proces zatwierdzania, lokalne makra projektu oraz router poleceń oparty na Prologu, obsługujący łączenie i negację.

Używasz eris zamiast surowego gita w codziennej pracy.


Co robi

eris init [nazwa] — tworzy katalog .eris/ w bieżącym folderze, zapisuje plik makr i dodaje .eris/ do lokalnego pliku wykluczeń gita, aby nigdy nie pojawiał się w Twoim repozytorium.

eris commit / eris copush — interaktywne zatwierdzanie + wypychanie w jednym kroku. Pyta o wybór konwencjonalnego typu zatwierdzenia (feat, fix, refactor itp.) z menu, następnie prosi o wiadomość, formatuje ją jako typ: wiadomość, dodaje wszystko do stagingu, zatwierdza i wypycha. Działa z dowolnego miejsca w projekcie.

eris ignore <plik> — dodaje plik do .eris/.eris.ignore, aby był pomijany podczas copush. Dotyczy projektu, nie globalnie.

eris alias add <nazwa> do <polecenie> do <polecenie> — zapisuje nazwane makro (sekwencję poleceń powłoki) do .eris/.eris.macros.

eris alias run <nazwa> / eris run <nazwa> — uruchamia zapisane makro.

eris rebuild — przebudowuje binarny plik eris przy użyciu CMake.

eris root — wyświetla wykryty katalog główny projektu eris.


Łączenie poleceń

Router poleceń jest napisany w Prologu. Obsługuje &&, || oraz not bezpośrednio na liście argumentów:

eris init myapp && eris commit      # zatwierdź tylko jeśli init się powiódł
eris init || true                   # zignoruj błąd
eris not init                       # zakończ sukcesem, gdy init się nie powiedzie

Makra

Makra są przechowywane w .eris/.eris.macros w katalogu głównym projektu:

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

Dodawanie z separatorem do (bez potrzeby cudzysłowów):

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

Dodawanie z cudzysłowami (dla poleceń zawierających średniki lub składnię powłoki):

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

Uruchamianie:

eris run deploy

Instalacja

make install

To buduje plik binarny, kopiuje go do /usr/local/bin/eris i dodaje alias do Twojego .bashrc lub .zshrc (wykrywany automatycznie). Następnie:

source ~/.zshrc   # lub ~/.bashrc

Zależności (cmake, gcc, libcurl, libssl itp.) są sprawdzane i instalowane automatycznie podczas budowania, jeśli ich brakuje.


Budowanie ze źródła

make        # konfiguracja + budowanie (Debug)
make CONFIG=Release
make JOBS=8

Wymaga: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Opcjonalnie: SWI-Prolog (libswipl-dev) dla routera Prolog — w razie braku używany jest router w C.


Dokumentacja