Ghostlog: AIコーディングエージェントのGitコミットを監視するライブターミナルUI
Ghostlogは、Gitリポジトリを監視し、AIコーディングエージェントが行うコミットをリアルタイムでキャプチャするライブターミナルUIです。
Ghostlogは、AIコーディングエージェントのGitコミットをリアルタイムで監視するためのライブターミナルUIツールです。AIコードエージェントが行うすべてのコミットをキャプチャし、ターミナルインターフェースに明確に表示します。
インストール方法
Ghostlogは複数のインストール方法を提供しています:
- ワンコマンドインストール(macOS/Linux):
curl -sL https://raw.githubusercontent.com/salarkhannn/ghostlog/main/install.sh | bashを実行するだけで、最新のプリコンパイル済みバイナリをダウンロードしてインストールできます。 - Windows(PowerShell):Releasesタブから
Windows_x86_64.tar.gzをダウンロードし、展開してghostlog.exeをシステムのPATHに配置します。 - Go経由のインストール:Go 1.23+ がインストールされていれば、
go install github.com/salarkhannn/ghostlog@latestでグローバルインストールできます。ソースからビルドすることも可能です:
``` git clone https://github.com/salarkhannn/ghostlog cd ghostlog go build -o ghostlog . ```
- 依存関係:Go 1.23+ と
gitが必要です。CGOや外部ランタイムは不要です。
使い方
Ghostlogの起動は簡単です:ghostlog -repo /path/to/project。AIエージェントを起動する前にGhostlogを開始することをお勧めします。すぐにTUIが開き、コミットの監視を開始します。例えば、ターミナル1で ghostlog -repo ~/my-project を実行し、ターミナル2でAiderなどのツールを使用します。
サブコマンド
- セッションマニフェストのエクスポート:
ghostlog export -session /path/to/project -out manifest.jsonlで、メタデータと複雑性の差分を含むJSONLマニフェストをエクスポートします。 - CIゲートモード:CIパイプラインでヘッドレスモードで実行し、複雑または未テストのAIコードをブロックします:
ghostlog check -session /path/to/project -fail-on complexity,coverage -max-complexity-delta 10 -min-coverage-touch 0.8。
キーバインド
| キー | アクション | | --- | --- | | Tab | バーストリストと差分ビューポートのフォーカスを切り替え | | j / ↓ | 選択ペインを下にスクロール | | k / ↑ | 選択ペインを上にスクロール | | p / n / [ / ] | バーストをグローバルに切り替え(前/次) | | Ctrl+D / PgDn | 差分を下にスクロール | | Ctrl+U / PgUp | 差分を上にスクロール | | a | 自動スクロールの切り替え(最新バーストに追従) | | c | 選択バーストのコミットハッシュをクリップボードにコピー | | v | ファイルフラッシュツリーマップビューの切り替え | | s | セッションマネージャーを開く | | q / Ctrl+C | 終了 |
コンセプト
- バースト:5秒以内に到着したコミットのグループ。AIエージェントは1つのタスクで5~20回の素早いコミットを行うことが多く、バーストにグループ化することでセッションが一目で把握できるようになります。
- エージェント速度:60秒のローリングウィンドウ内の1分あたりのコミット数。スパイクはエージェントが活発にコードを書いていることを示します。
- フィルタリング:空のコミット(ファイル変更なし)は自動的に無視されます。
互換性
Ghostlogは、Gitを使用してコミットを行うあらゆるAIエージェント(Aider、Claude Code、Cursor、Devin、OpenHands、カスタムスクリプトなど)と連携できます。
Ghostlogは完全にオープンソースで、クロスプラットフォーム対応の、AIコーディングアクティビティを監視する強力なツールです。