Eris Client
C

Eris Client

CLI на языке C, который обёртывает ваш рабочий процесс с Git в простые команды — управляемые фиксации по стандарту Conventional Commits, фиксация и отправка за один раз, создание ветвей, ребейзинг и макросы проекта, которые можно повторно запускать.

Eris — это CLI-инструмент для разработчика, который оборачивает ваш git-воркфлоу структурированным процессом коммитов, макросами на уровне проекта и маршрутизатором команд на основе Prolog, поддерживающим цепочки и отрицание.

Вы используете eris вместо обычного git для повседневной работы.


Что он делает

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

eris commit / eris copush — интерактивный коммит + пуш за один раз. Предлагает выбрать тип conventional commit (feat, fix, refactor и т.д.) из меню, затем запрашивает сообщение, форматирует его как type: message, индексирует всё, коммитит и пушит. Работает из любого места внутри проекта.

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

eris alias add <name> do <cmd> do <cmd> — сохраняет именованный макрос (последовательность shell-команд) в .eris/.eris.macros.

eris alias run <name> / eris run <name> — запускает сохранённый макрос.

eris rebuild — пересобирает сам бинарник eris с помощью CMake.

eris root — выводит обнаруженный корень проекта eris.


Цепочки команд

Маршрутизатор команд написан на Prolog. Он поддерживает &&, || и not непосредственно в списке аргументов:

eris init myapp && eris commit      # коммит только если init успешен
eris init || true                   # игнорировать ошибку
eris not init                       # успех при неудаче 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

Добавление с кавычками (для команд, содержащих точки с запятой или shell-синтаксис):

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

Запуск:

eris run deploy

Установка

make install

Это собирает бинарник, копирует его в /usr/local/bin/eris и добавляет алиас в ваш .bashrc или .zshrc (определяется автоматически). Затем:

source ~/.zshrc   # или ~/.bashrc

Зависимости (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-маршрутизатор.


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