判定

每一項都會針對每個可能執行的操作得到一個判定,判定附帶理由。顏色從來不是唯一的標示:每種判定都有自己的圖樣、自己的標記和自己的規則。

已鎖定和不確定的項目永遠無法選取。需查看的項目只有在選擇「仍要加入」後才會清理。

四種判定

判定 意思 清理時
READY可清理 這項操作的所有檢查都已通過。 一開始就已選取。
REVIEW需查看 已知的風險,或只有你才能做的決定。 透過「仍要加入」。
BLOCKED已鎖定 正在使用、受到保護,或含有 git 會拒絕丟棄的工作。 無法選取。
UNKNOWN不確定 證據不足。 無法選取,永遠不會算作可清理。

命令列會以大寫印出同樣的判定。

理由

判定的理由會寫明關於這一項的已知資訊。例如:

  • 屬於哪個代理:「屬於一個執行中的 Claude Code 工作階段」,或是哪個工具建立的。
  • **是否正在使用:**其中或其上層資料夾有代理工作階段在執行、有程序從這裡執行、有檔案被開啟佔用。
  • **未儲存的工作:**已修改、未追蹤或已暫存的檔案;尚未推送的 commit;git 鎖。
  • **證據:**在光憑名稱不夠的地方,它要尋找的標記,例如 node_modules 旁邊的 package.json。

可清理

所有檢查都已通過。按下「清理」時,這一項還會再檢查一次;如果期間有任何變化,就不會動它。

需查看

刪除它很可能沒問題,但有些事情 Devbroom 無法得知。例如:

  • worktree 中有一個被忽略的 .env 檔案:git worktree remove 會不經詢問就刪除它。git status 乾淨,並不能證明裡面沒有有價值的東西。
  • 名稱看起來像建置資料夾,但旁邊沒有能證明這一點的專案檔案。
  • dist、build 和 vendor 這類意義模糊的名稱,除非有建置腳本產生它們。
  • 重新下載代價很高的快取:pnpm store、Playwright 瀏覽器、Hugging Face 模型。
  • 由代理自己管理的資料夾。

已鎖定

現在動它可能會破壞某人的工作:

  • 其中或其上層資料夾有代理工作階段在執行、有程序從這裡執行,或其中有檔案被開啟佔用。
  • 含有尚未 commit 的變更、未追蹤檔案或已暫存變更的 worktree。沒有 --force,git 不會移除它;Devbroom 從不使用 --force。
  • 主要工作副本、含有子模組的 worktree,或被 git 鎖定的 worktree。
  • 受保護的檔案,例如代理的資料庫和憑證。
  • 只應使用代理自己的指令來清理的東西。

不確定

無法判斷它屬於哪個代理,或者其中一部分無法讀取。Devbroom 從不把它不了解的東西算作可清理。

你自己的規則

專案根目錄下的 .devbroom.toml 可以說明該專案中哪些算作建置輸出。由於這個檔案也可能是代理寫的,命令列不會不經詢問就信任它:devbroom clean --yes 會排除只因為該檔案而被判定為可清理的項目。

最後更新: 2026年10月7日