kdcokenny/opencode-worktree

Zero-friction git worktrees for OpenCode. Auto-spawns terminals, syncs files, cleans up on exit.

何を解決するか

このプロジェクトは、AIエージェントがgit worktreeを使用して隔離された開発環境を作成および管理する方法を提供します。作業ツリーの手動作成、ターミナルの開設、そして特定ディレクトリ内でAIコーディングツール(OpenCode)を起動する手間を排除し、エージェントがメインコードベースを破壊することなく、隔離された環境で実験できるようにします。

仕組み

このプラグインはOpenCodeと統合され、2つの主要なツールを提供します:worktree_createworktree_delete

  1. 作成:AIが worktree_create を呼び出すと、専用のローカルディレクトリにgit worktreeが作成され、必要なファイル(例:.envファイル)が同期され、設定ファイルに基づいてディレクトリ(例:node_modules)がシンボリックリンクで接続されます。作成後のフック(例:pnpm install)が実行され、OpenCodeが実行されている新しいターミナルウィンドウが自動的に起動します。
  2. 削除:AIが worktree_delete を呼び出すと、削除前のフックが実行され、worktree内で行われた変更がブランチに自動的にコミットされ、その後worktreeがシステムから削除されます。

macOS、Linux、Windowsのさまざまなターミナルエミュレータをサポートしており、よりプログラム的な制御を可能にするtmuxcmuxなどのマルチプレクサも対応しています。

対象ユーザー

OpenCodeを使用し、AIエージェントが隔離された開発セッションを自律的に管理できるようにしたい開発者。特にGUIベースのツールではなく、CLIファーストのワークフローを好むユーザー向けです。

特徴

  • 自動ターミナル起動:各新しいworktreeに対して、新しいターミナルウィンドウまたはtmux/cmuxワークスペースを自動的に開きます。
  • ライフサイクルフックpostCreate および postDelete フックをサポートし、セットアップやクリーンアップを自動化(例:Dockerコンテナの起動/停止)。
  • ファイル同期:設定可能なファイルおよびディレクトリの同期により、隔離された環境が使用可能になるようにします。
  • 広範なターミナル対応:すべての主要なオペレーティングシステムで、現代的なターミナルエミュレータのネイティブサポートを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト