Eris Client
C

Eris Client

Uma interface de linha de comando (CLI) baseada em C que simplifica seu fluxo de trabalho do Git em comandos fáceis de usar — commits convencionais guiados, commit e push em uma única operação, ramificação, rebasamento e macros de projeto reproduzíveis.

Eris é uma CLI para desenvolvedores que envolve seu fluxo de trabalho com git em um fluxo de commit estruturado, macros locais ao projeto e um roteador de comandos baseado em Prolog que suporta encadeamento e negação.

Você executa eris em vez do git puro para o trabalho do dia a dia.


O que faz

eris init [nome] — cria um diretório .eris/ na pasta atual, escreve o arquivo de macros e adiciona .eris/ ao exclude local do git para que nunca apareça no seu repositório.

eris commit / eris copush — commit + push interativos em uma única etapa. Solicita que você escolha um tipo de commit convencional (feat, fix, refactor, etc.) em um menu, depois pede uma mensagem, formata como tipo: mensagem, prepara tudo, faz o commit e envia. Funciona de qualquer lugar dentro do projeto.

eris ignore <arquivo> — adiciona um arquivo ao .eris/.eris.ignore para que seja ignorado durante o copush. Por projeto, não global.

eris alias add <nome> do <cmd> do <cmd> — salva uma macro nomeada (sequência de comandos shell) em .eris/.eris.macros.

eris alias run <nome> / eris run <nome> — executa uma macro salva.

eris rebuild — reconstrói o binário do eris usando CMake.

eris root — exibe a raiz do projeto eris detectada.


Encadeamento de comandos

O roteador de comandos é escrito em Prolog. Ele suporta &&, || e not diretamente na lista de argumentos:

eris init myapp && eris commit      # commit apenas se init for bem-sucedido
eris init || true                   # ignora falha
eris not init                       # tem sucesso quando init falha

Macros

As macros são armazenadas em .eris/.eris.macros na raiz do projeto:

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

Adicione com separador do (sem necessidade de aspas):

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

Adicione com aspas (para comandos que contenham ponto e vírgula ou sintaxe shell):

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

Execute:

eris run deploy

Instalação

make install

Isso compila o binário, copia para /usr/local/bin/eris e adiciona um alias ao seu .bashrc ou .zshrc (detectado automaticamente). Depois:

source ~/.zshrc   # ou ~/.bashrc

Dependências (cmake, gcc, libcurl, libssl, etc.) são verificadas e instaladas automaticamente durante a compilação se estiverem faltando.


Compilar a partir do código-fonte

make        # configurar + compilar (Debug)
make CONFIG=Release
make JOBS=8

Requer: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Opcional: SWI-Prolog (libswipl-dev) para o roteador Prolog — usa um roteador C como fallback se não estiver presente.


Documentação