Ghost — GitでプロンプトをコミットするCLI

Tool

概要

Ghostは「Commit intentions, not code.」をスローガンに、従来のGitワークフローを逆転させるCLIツールです。開発者はコードやファイルを直接コミットするのではなく、AIに与えるプロンプト(=意図)をコミットします。AIエージェントがプロンプトに基づいてアーティファクト(コード、ドキュメントなど)を生成し、その結果とプロンプトのペアがGit履歴として残ります。claude、gemini、codex、opencodeといった複数エージェントに対応し、コミットごとにエージェントを切り替え可能。Shellベースの軽量実装で、hooksやlibディレクトリを通して既存ワークフローに組み込みやすい設計です。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 23
  • フォーク数: 0
  • ウォッチャー数: 23
  • コミット数: 5
  • ファイル数: 5
  • メインの言語: Shell

主な特徴

  • プロンプト中心のコミット: 意図(プロンプト)とAIの出力をペアで履歴化
  • マルチエージェント対応: claude、gemini、codex、opencodeをサポートし、コミットごとに切替可能
  • 軽量なShell実装: gitフックやスクリプトから容易に呼び出せる
  • 拡張と検証のためのhooks/test構成: 開発・CIへ組み込みやすい構造

技術的なポイント

Ghostはシンプルなシェルスクリプト群で構成され、GitとAIエージェントの橋渡しを行います。キーアイデアは「コミットメタデータとしてのプロンプト保存」で、通常のソース管理が追いにくい“なぜその変更が生まれたのか”という意図を履歴に残します。技術的には、CLI(bin)から入力されたプロンプトを選定し、指定したAIエージェント(claude/gemini/codex/opencode)へHTTP/API経由で送信、返却された生成物とプロンプトを組み合わせてGitコミットを作成します。コミットメッセージや付随ファイルにはプロンプトの全文、エージェント名、レスポンスの要約や出力ファイルが格納され、将来的なレビューやロールバックで意図と結果を突き合わせられます。

設計上の注目点としては、エージェントをプラグイン的に切り替え可能な点、そしてGitフック(hooksディレクトリ)による自動化です。例えばコミット前に自動でAIに問い合わせ、生成結果をワーキングツリーに反映してからコミットするフローが想定されています。またShell実装のため依存が少なく、CIや既存のGitワークフローへ導入しやすい反面、APIキー管理、ネットワーク遅延、生成結果の検証やセキュリティ(機密情報の送信防止)といった運用課題は設計・運用で配慮が必要です。テストディレクトリは基本的な動作確認向けに用意されており、libディレクトリには再利用可能なユーティリティやエージェント別ラッパーが配置されている想定です。将来的には出力の差分管理、生成履歴の可視化、ローカルでの再現機能(seedやモデルバージョン管理)などの拡張が価値を生みます。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • bin: dir
  • hooks: dir
  • lib: dir
  • test: dir

まとめ

AI生成物と意図を同時に記録する新しいGitワークフローを提案する実験的CLIです。(約50字)

リポジトリ情報:

READMEの抜粋:

Ghost

Commit intentions, not code.

Ghost is a CLI that flips the git workflow: instead of committing code, you commit prompts. An AI coding agent generates the artifacts; the commit captures both the intent and the output. Your git history becomes a chain of prompts + their results.

Supports claude, gemini, codex, and opencode — swap agents per-commit or set a default.

image