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.
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.
