Eris Client
C

Eris Client

CLI на основі C, який обгортає ваш робочий процес git у прості команди. Додає шаблони комітів, одноразовий коміт і push, розгалуження, ребейзинг, завдання та списки справ, а також відтворювані макроси проєкту.

GitHubДокументація|

Eris — це командний інтерфейс для розробників, який об’єднує ваш робочий процес із Git за допомогою структурованого потоку комітів, локальних для проєкту макросів та маршрутизатора команд на базі Prolog, що підтримує ланцюгове виконання та заперечення.

У повсякденній роботі ви використовуєте eris замість звичайного Git.


Що він робить

eris init [name] — створює каталог .eris/ у поточній папці, записує файл макросів та додає .eris/ до локального списку виключень git, щоб він ніколи не з’являвся у вашому репозиторії.

eris commit / eris copush — інтерактивне створення коміту та відправка змін одним натисканням. Пропонує вибрати стандартний тип коміту (feat, fix, refactor тощо) з меню, потім запитує повідомлення, форматує його у вигляді type: message, додає все до стадії, виконує коміт і відправляє зміни. Працює з будь-якого місця всередині проєкту.

eris ignore <file> — додає файл до .eris/.eris.ignore, щоб його пропускали під час copush. Діє для конкретного проєкту, а не глобально.

eris alias add <name> do <cmd> do <cmd> — зберігає макрос із заданою назвою (послідовність команд оболонки) у файлі .eris/.eris.macros.

eris alias run <name> / eris run <name> — запускає збережений макрос.

eris rebuild — перекомпілює сам бінарний файл eris за допомогою CMake.

eris root — виводить виявлений корінь проєкту eris.


Ланцюжки команд

Маршрутизатор команд написано на Prolog. Він підтримує оператори &&, || та not безпосередньо у списку аргументів:

eris init myapp && eris commit # виконати commit лише у разі успішного запуску
eris init || true # проігнорувати невдачу
eris not init # виконати, якщо запуск завершився невдало

Макроси

Макроси зберігаються у файлі .eris/.eris.macros у кореневому каталозі проєкту:

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

Додавання з роздільником do (лапки не потрібні):

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

Додавання з лапками (для команд, що містять крапки з комою або синтаксис оболонки):

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

Виконання:

eris run deploy

Встановлення

make

Це створює бінарний файл і створює для нього символічне посилання в ~/.local/bin/eris (можна змінити за допомогою LINK_DIR=...), тому eris працює відразу без sudo. Для встановлення на рівні системи виконайте:

sudo make install

Це скомпілює бінарний файл, встановить його (разом із файлами маршрутизатора Prolog) у /usr/local/lib/eris/ та створить символічне посилання з /usr/local/bin/eris на нього. Аліас оболонки не потрібен, якщо /usr/local/bin знаходиться у вашому PATH. Щоб встановити без прав root, використовуйте префікс користувача:

make install PREFIX=$HOME/.local   # бінарний файл розміщується в ~/.local/bin

Залежності (cmake, gcc, libcurl, libssl тощо) перевіряються та встановлюються автоматично під час компіляції, якщо їх бракує.


Збірка з вихідного коду

make # налаштування + збірка (Debug)
make CONFIG=Release
make JOBS=8

Необхідні: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Опціонально: SWI-Prolog (libswipl-dev) для маршрутизатора Prolog — якщо його немає, використовується маршрутизатор на C.


Документація