Eris Client
C

Eris Client

Uma CLI baseada em C que envolve seu fluxo de trabalho git em comandos simples. Adiciona modelos de commit, commit e push em um único passo, criação de branches, rebase, tarefas e afazeres, e macros de projeto reproduzíveis.

GitHubDocumentação|

O Eris é uma CLI para desenvolvedores que integra seu fluxo de trabalho do Git com um fluxo de commits estruturado, macros específicas 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] — cria 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 e push interativos de uma só vez. Solicita que você escolha um tipo de commit convencional (feat, fix, refactor, etc.) em um menu, depois pede uma mensagem, formata-a como tipo: mensagem, coloca tudo na área de trabalho, 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 do 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 com sucesso 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

Instalação

make

Isso compila o binário e cria um link simbólico para ele em ~/.local/bin/eris (substitua com LINK_DIR=...), de modo que o eris funcione imediatamente sem o sudo. Para uma instalação em todo o sistema, use:

sudo make install

Isso compila o binário, instala-o (junto com seus arquivos de roteador Prolog) em /usr/local/lib/eris/ e cria um link simbólico de /usr/local/bin/eris para esse diretório. Não é necessário nenhum alias no shell, desde que /usr/local/bin esteja no seu PATH. Para instalar sem privilégios de root, use um prefixo de usuário:

make install PREFIX=$HOME/.local   # o binário fica em ~/.local/bin

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


Compilação a partir do código-fonte

make # configure + compilação (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