Eris Client
Gitワークフローをシンプルなコマンドで実現するC言語ベースのCLIツール。ガイド付きコンベンショナルコミット、ワンショットでのコミットとプッシュ、ブランチ作成、リベース、および再実行可能なプロジェクトマクロを備えています。
Eris は、構造化されたコミットフロー、プロジェクト固有のマクロ、およびチェーン処理や否定をサポートする Prolog ベースのコマンドルーターによって、Git ワークフローをラップする開発者向け CLI です。
日常の作業では、生の Git の代わりに eris を実行します。
機能の概要
eris init [name] — 現在のフォルダに .eris/ ディレクトリを作成し、マクロファイルを生成します。また、.eris/ を Git のローカル除外リストに追加するため、リポジトリには一切表示されません。
eris commit / eris copush — 対話型のコミットとプッシュを一度に実行します。 メニューから標準的なコミットタイプ(feat、fix、refactor など)を選択するよう促し、続いてメッセージを入力すると、それを 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
依存関係(cmake、gcc、libcurl、libssl など)は、ビルド中に自動的にチェックされ、不足している場合は自動的にインストールされます。
ソースからのビルド
make # configure + ビルド (デバッグ版)
make CONFIG=Release
make JOBS=8
必要条件:cmake、gcc/g++、libcurl-dev、libssl-dev、pkg-config。
オプション:Prologルーター用のSWI-Prolog (libswipl-dev) — 存在しない場合はCルーターにフォールバックします。
