判定
每一項都會針對每個可能執行的操作得到一個判定,判定附帶理由。顏色從來不是唯一的標示:每種判定都有自己的圖樣、自己的標記和自己的規則。
已鎖定和不確定的項目永遠無法選取。需查看的項目只有在選擇「仍要加入」後才會清理。
四種判定
| 判定 | 意思 | 清理時 |
|---|---|---|
| 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日