kdcokenny/opencode-worktree

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

解決的問題

本專案提供一種讓 AI 代理使用 git worktree 建立並管理隔離開發環境的方法。它消除了手動建立工作樹、開啟終端機,以及在特定目錄中啟動 AI 編碼工具(OpenCode)的繁瑣步驟,讓代理能在不干擾主程式碼庫的情況下,於隔離環境中進行實驗。

工作原理

此外掛與 OpenCode 整合,提供兩個主要工具: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 代理能自主管理隔離開發會話的開發者,特別是偏好 CLI 優先工作流程,而非 GUI 工具的使用者。

主要特色

  • 自動終端啟動:為每個新 worktree 自動開啟新的終端機視窗或 tmux/cmux 工作區。
  • 生命週期鉤子:支援 postCreatepostDelete 鉤子,用於自動化設定與清理(例如啟動/停止 Docker 容器)。
  • 檔案同步:可設定的檔案與目錄同步,確保隔離環境隨時可用。
  • 廣泛的終端支援:原生支援所有主要作業系統上的多種現代終端機模擬器。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案