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.

GitHub|

O Eris é uma CLI para desenvolvedores que integra seu fluxo de trabalho do Git com um fluxo de commits estruturado, macros locais do projeto e um roteador de comandos baseado em Prolog que suporta encadeamento e negação.

Você executa o eris em vez do Git puro para o trabalho diário.


O que ele faz

eris init [nome] — configura um diretório .eris/ na pasta atual, gera o arquivo de macros e adiciona .eris/ à lista de exclusões locais do Git para que ele nunca apareça no seu repositório.

eris commit / eris copush — commit interativo + push de uma só vez. Solicita que você escolha um tipo de commit convencional (feat, fix, refactor, etc.) em um menu; em seguida, pede uma mensagem, formata-a como tipo: mensagem, prepara tudo para commit, faz o commit e o push. Funciona de qualquer lugar dentro do projeto.

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

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

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

eris rebuild — recompila o próprio binário do eris usando o CMake.

eris root — exibe a raiz do projeto eris detectada.


Encadeamento de comandos

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

eris init myapp && eris commit # faz o commit somente se a inicialização for bem-sucedida
eris init || true # ignora falhas
eris not init # é executado quando a inicialização 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 o separador do (não é necessário colocar entre 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 de shell):

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

Executar:

eris run deploy

Instalar

make install

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

source ~/.zshrc   # ou ~/.bashrc

As dependências (cmake, gcc, libcurl, libssl, etc.) são verificadas e instaladas automaticamente durante a compilação, caso estejam ausentes.


Compilar a partir do código-fonte

make # configurar + compilar (Depuração)
make CONFIG=Release
make JOBS=8

Requisitos: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
Opcional: SWI-Prolog (libswipl-dev) para o roteador Prolog — se não estiver presente, o sistema recorre a um roteador em C.


Documentação