fzf で Entire セッションを選択・操作する zsh プラグイン entire-fzf を作った

Claude Code などの AI エージェントのセッション履歴やチェックポイントを Git ライクに記録・管理できる CLI ツール Entire。 非常に便利なのですが、セッションやチェックポイントの切り替え、レジューム、各チェックポイントの AI による変更理由の解説などをコマンドラインから ID を指定して実行するのは少々面倒。

そこで、fzf を使ってインタラクティブに Entire セッションやチェックポイントを選択・操作できる Zsh プラグイン entire-fzf を作成しました。便利だと思います。

https://github.com/Syati/entire-fzf

Demo

必要なもの

このプラグインを利用するには、以下のコマンドがあらかじめインストールされている必要があります。

  • zsh
  • entire (AI セッション記録・管理 CLI)
  • fzf (コマンドラインファジーファインダー)
  • jq (JSON パーサー)
  • git

インストール方法

プラグインマネージャーを使わない場合

リポジトリをクローンして、.zshrc でプラグインスクリプトを読み込みます。

$ git clone https://github.com/Syati/entire-fzf.git ~/.zsh/entire-fzf

.zshrc に以下を追記します:

# ~/.zshrc
source ~/.zsh/entire-fzf/entire-fzf.plugin.zsh

Sheldon を使う場合

Sheldon をお使いの場合は、~/.config/sheldon/plugins.toml に以下を追加します:

[plugins.entire-fzf]
github = "Syati/entire-fzf"

Sheldon はプラグイン名 entire-fzf から自動的に entire-fzf.plugin.zsh をマッチングしてロードしてくれます。

設定を反映するには、シェルを再起動するか以下を実行します:

$ eval "$(sheldon source)"

使い方(提供されるコマンド)

プラグインをロードすると、以下の 2 つの便利なインタラクティブコマンドが使えるようになります。

1. etf (Entire Session Picker)

etf を実行すると、記録されている Entire セッション一覧が fzf でインタラクティブに表示されます。 セッションを選択すると、そのセッションに対して以下のいずれかのアクションを選択して実行できます:

  • resume: セッションを再開する
  • explain: 最新のチェックポイントの説明(AI による変更の意図などの解説)を表示する
  • checkpoints: チェックポイント一覧から個別に選択して、その説明を表示する
  • info: セッションの詳細情報を表示する
  • stop: アクティブなセッションを停止する
  • clean: セッション履歴をクリーンアップする

2. etfc (Active Session Checkpoint Picker)

etfc を実行すると、カレントのワークツリーでアクティブになっている Entire セッションのチェックポイント(AI がコミット・チェックポイントを作成した履歴)一覧が fzf で表示されます。 チェックポイントを選択するだけで、即座にそのチェックポイントに対する AI 生成の解説(explain)を確認できます。

その他

entire dispatch など、その他の command については、今回は対象外としていますので、そちらは直接叩いてください。

Comments