Eris Client
Une interface en ligne de commande (CLI) en C qui simplifie votre workflow Git en commandes simples : commits conventionnels guidés, commit et push en une seule opération, création de branches, rebasage et macros de projet réutilisables.
Eris est un CLI développeur qui encapsule votre workflow git avec un flux de commit structuré, des macros locales au projet, et un routeur de commandes basé sur Prolog qui prend en charge l'enchaînement et la négation.
Vous exécutez eris au lieu de git brut pour le travail quotidien.
Ce qu'il fait
eris init [nom] — crée un répertoire .eris/ dans le dossier courant, écrit le fichier de macros, et ajoute .eris/ à l'exclusion locale de git pour qu'il n'apparaisse jamais dans votre dépôt.
eris commit / eris copush — commit interactif + push en une seule opération. Vous invite à choisir un type de commit conventionnel (feat, fix, refactor, etc.) dans un menu, puis demande un message, le formate en type: message, prépare tout, commit et push. Fonctionne depuis n'importe où dans le projet.
eris ignore <fichier> — ajoute un fichier à .eris/.eris.ignore pour qu'il soit ignoré lors du copush. Par projet, pas global.
eris alias add <nom> do <cmd> do <cmd> — enregistre une macro nommée (séquence de commandes shell) dans .eris/.eris.macros.
eris alias run <nom> / eris run <nom> — exécute une macro enregistrée.
eris rebuild — reconstruit le binaire eris lui-même en utilisant CMake.
eris root — affiche la racine détectée du projet eris.
Enchaînement de commandes
Le routeur de commandes est écrit en Prolog. Il prend en charge &&, || et not directement dans la liste des arguments :
eris init myapp && eris commit # commit uniquement si init a réussi
eris init || true # ignorer l'échec
eris not init # réussir quand init échoue
Macros
Les macros sont stockées dans .eris/.eris.macros à la racine du projet :
[deploy]
make build
git push origin main
ssh prod "systemctl restart app"
Ajout avec le séparateur do (pas besoin de guillemets) :
eris alias add deploy do make build do git push origin main
Ajout avec guillemets (pour les commandes contenant des points-virgules ou de la syntaxe shell) :
eris alias add test "npm run lint" "npm test"
Exécution :
eris run deploy
Installation
make install
Ceci construit le binaire, le copie dans /usr/local/bin/eris, et ajoute un alias à votre .bashrc ou .zshrc (détecté automatiquement). Ensuite :
source ~/.zshrc # ou ~/.bashrc
Les dépendances (cmake, gcc, libcurl, libssl, etc.) sont vérifiées et installées automatiquement pendant la construction si elles sont manquantes.
Construction à partir des sources
make # configuration + construction (Debug)
make CONFIG=Release
make JOBS=8
Nécessite : cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Optionnel : SWI-Prolog (libswipl-dev) pour le routeur Prolog — utilise un routeur C en C comme solution de repli s'il n'est pas présent.
