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 # 設定+ビルド(Debug)
make CONFIG=Release
make JOBS=8
必要条件:cmake、gcc/g++、libcurl-dev、libssl-dev、pkg-config。
オプション:Prologルーター用のSWI-Prolog(libswipl-dev)— 存在しない場合はCルーターにフォールバックします。
