コンテンツにスキップ

Space で 1 つの仕事を終えるまで

Space を使った作業の流れの一例です。プロジェクトを選んで会話を進め、実装を専用の worktree に任せ、終わったら両方を片付けます。

C-c c j(ecc-space-goto)を押すと、どの Space に移動するか尋ねられます。候補は今開いているものだけではありません。ecc は CLI の会話記録を読むので、これまでにセッションを始めたことのあるプロジェクトがすべて候補に並びます。先月作業したきりで、プロセスもタブも残っていないプロジェクトにも RET ひとつで移れます。開いている Space は Open の下に、サイドバーと同じ印と番号つきで並び、そうしたプロジェクトは Past の下に past の印つきで並びます。見出しが表示されるのは、vertico など group-function を読む補完 UI を使うときと、*Completions* で completions-group を有効にしたときです。名前を入力すると候補が絞られます。横に表示されるディレクトリは照合の対象になりません。

選ぶと、その Space がサイドバーに加わり、そこでセッションが始まります。

セッションはプロジェクトのソースの隣に開きます。あとは普段どおり、質問し、読み、答えます。会話が実装の段階に入ったら、作業をこのウィンドウから切り出します。

「worktree を切ってそこでやって」のように worktree を頼みます。Emacs の MCP サーバーが有効(ecc-mcp-enabled)なら、Claude が start_worktree_session を呼び出します。Emacs は worktree を作り、リポジトリの下に専用の Space として開き、そこでセッションを始めて指示を渡します。元の会話には引き渡し先が報告され、会話はそのまま続きます。

worktree が専用の Space になった状態: リポジトリの隣に並ぶタブ、サイドバーのリポジトリ下に追加された行、そこで動くセッション

実装が終わったら、worktree のセッションのバッファを kill します。その Space にはほかに何もないので Space が閉じ、隣の Space に戻ります。このとき ecc は、worktree のディレクトリも削除するかを尋ねます。どちらを選んでもブランチは残ります。

終わった worktree をまとめて片付ける

Section titled “終わった worktree をまとめて片付ける”

バッファを kill して片付くのは worktree 1 つです。プルリクエストがマージされたあとなど、終わった worktree が複数あるときは、そのプロジェクトのどのセッションでも「終わった worktree を削除して」と頼みます。MCP サーバーが有効なら、Claude はリポジトリの worktree をそれぞれ確かめ、終わったものを削除します。worktree ごとの確認はありません。待機中のセッションは止まり、Space は閉じ、ブランチは残ります。node_modules など、git が無視するファイルも一緒に消えます。

そのあと Claude は、削除したものと、残したものとその理由を報告します。コミットしていない変更や追跡していないファイル、未保存のバッファや送っていない下書き、作業中のセッションがある worktree は残ります。ブランチがまだマージされていない worktree も残ります。条件の詳細は終わった worktree を削除するにあります。ecc の外で起動した claude に必要な設定も同じ節にあります。