Eris Client
C

Eris Client

Gitワークフローをシンプルなコマンドで実現するC言語ベースのCLIツール。ガイド付きコンベンショナルコミット、ワンショットでのコミットとプッシュ、ブランチ作成、リベース、および再実行可能なプロジェクトマクロを備えています。

GitHub|

Eris は、構造化されたコミットフロー、プロジェクト固有のマクロ、およびチェーン処理や否定をサポートする Prolog ベースのコマンドルーターによって、Git ワークフローをラップする開発者向け CLI です。

日常の作業では、生の Git の代わりに eris を実行します。


機能の概要

eris init [name] — 現在のフォルダに .eris/ ディレクトリを作成し、マクロファイルを生成します。また、.eris/ を Git のローカル除外リストに追加するため、リポジトリには一切表示されません。

eris commit / eris copush — 対話型のコミットとプッシュを一度に実行します。 メニューから標準的なコミットタイプ(featfixrefactor など)を選択するよう促し、続いてメッセージを入力すると、それを type: message の形式で整形し、すべてをステージングしてコミットし、プッシュします。プロジェクト内のどこからでも実行可能です。

eris ignore <file> — ファイルを .eris/.eris.ignore に追加し、copush 実行時にそのファイルがスキップされるようにします。プロジェクト単位の設定であり、グローバル設定ではありません。

eris alias add <name> do <cmd> do <cmd> — 名前付きマクロ(シェルコマンドのシーケンス)を .eris/.eris.macros に保存します。

eris alias run <name> / eris run <name> — 保存されたマクロを実行します。

eris rebuild — CMake を使用して eris バイナリ自体を再構築します。

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

引用符付きで追加(セミコロンやシェル構文を含むコマンドの場合):

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

実行:

eris run deploy

インストール

make install

これにより、バイナリがビルドされ、/usr/local/bin/eris にコピーされ、.bashrc または .zshrc(自動的に検出されます)にエイリアスが追加されます。その後:

source ~/.zshrc   # または ~/.bashrc

依存関係(cmakegcclibcurllibssl など)は、ビルド中に自動的にチェックされ、不足している場合は自動的にインストールされます。


ソースからのビルド

make # configure + ビルド (デバッグ版)
make CONFIG=Release
make JOBS=8

必要条件:cmakegcc/g++libcurl-devlibssl-devpkg-config
オプション:Prologルーター用のSWI-Prolog (libswipl-dev) — 存在しない場合はCルーターにフォールバックします。


ドキュメント