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 une interface en ligne de commande (CLI) destinée aux développeurs qui encapsule votre workflow Git avec un flux de commits structuré, des macros spécifiques au projet et un routeur de commandes basé sur Prolog prenant en charge le chaînage et la négation.
Vous utilisez eris à la place de Git brut pour votre travail quotidien.
Fonctionnalités
eris init [nom] — crée un répertoire .eris/ dans le dossier actuel, génère le fichier de macros et ajoute .eris/ à la liste d’exclusion locale de Git afin 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 vous demande un message, le formate sous la forme type: message, prépare tout, effectue le commit et le push. Fonctionne depuis n'importe quel emplacement au sein du projet.
eris ignore <fichier> — ajoute un fichier à .eris/.eris.ignore afin qu’il soit ignoré lors du copush. Par projet, pas global.
eris alias add <nom> do <commande> do <commande> — 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 — recompile le binaire eris lui-même à l’aide de CMake.
eris root — affiche la racine du projet eris détectée.
Enchaînement de commandes
Le routeur de commandes est écrit en Prolog. Il prend en charge les opérateurs &&, || et not directement dans la liste d’arguments :
eris init myapp && eris commit # valider uniquement si l’initialisation a réussi
eris init || true # ignorer l’échec
eris not init # réussir lorsque l’initialisation é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"
Ajouter avec le séparateur do (pas besoin de guillemets) :
eris alias add deploy do make build do git push origin main
Ajouter avec des guillemets (pour les commandes contenant des points-virgules ou de la syntaxe shell) :
eris alias add test "npm run lint" "npm test"
Exécuter :
eris run deploy
Installation
make install
Cela compile le binaire, le copie dans /usr/local/bin/eris et ajoute un alias à votre fichier .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 lors de la compilation si elles sont manquantes.
Compilation à partir du code source
make # configuration + compilation (débogage)
make CONFIG=Release
make JOBS=8
Prérequis : cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Facultatif : SWI-Prolog (libswipl-dev) pour le routeur Prolog — le système utilise par défaut un routeur C si celui-ci n’est pas présent.
