UStackUStack
Factory Floor icon

Factory Floor

Factory Floor 是原生 macOS 開發工作區,單一視窗管理 git worktrees、Claude Code 會話與開發伺服器瀏覽,並支援自動化流程。

Factory Floor

Factory Floor 是什麼?

Factory Floor 是原生 macOS 開發工作區,可在一處執行多個平行「工作流」。它協調 git worktrees(分支與獨立目錄)、Claude Code 會話、開發終端機與開發伺服器瀏覽,讓您切換任務而不遺失本機狀態。

此應用程式以隔離為設計核心:每個工作流擁有專屬分支、終端機與 AI 代理會話,可同時執行。它使用 Ghostty 的 GPU 渲染終端機,並支援透過專案設定檔進行 setup/run/teardown 自動化。

主要功能

  • 專案與工作流的單一視窗工作區:同時檢視終端機、AI 會話與嵌入式瀏覽器,而非切換多個應用程式。
  • 每個工作流的 Git Worktrees:每個工作流使用專屬分支與 worktree,應用程式支援無需 stash 即可切換任務;.env 檔案會自動符號連結。
  • Claude Code 整合與會話持續性:Claude Code 會話保有持續上下文,並可透過自動會話 ID 在應用程式重啟後恢復。
  • 基於 Tmux 的代理會話持續性:代理會話透過專用 socket 的 tmux 在應用程式重啟後存活,減少工作流程中斷。
  • 嵌入式瀏覽器與自動埠偵測:嵌入式瀏覽器偵測執行腳本開始監聽的埠,並自動導航至該位址。
  • 透過 .factoryfloor.json 的專案生命週期腳本:為每個專案設定 setuprunteardown 腳本;腳本在工作流目錄中使用您的登入 shell 執行,所有欄位皆為選填。
  • 每個終端機與腳本均可用的環境變數:終端機與腳本可取得專案/工作流名稱、路徑與確定性 FF_PORT 等變數。
  • 透過 gh CLI 的 GitHub 整合:專案檢視可顯示儲存庫資訊、開啟 PR 與分支 PR 狀態(由 gh CLI 驅動)。
  • 以鍵盤為主的導航與快捷鍵:提供建立專案/工作流、切換分頁/工作區/專案、封存工作流,以及開啟編輯器/終端機(包含外部選項)的快捷鍵。

如何使用 Factory Floor

  1. 安裝 Factory Floor:透過 brew install --cask alltuner/tap/factoryfloor 安裝,或下載原始碼。
  2. 新增專案:將目錄拖至側邊欄或建立新專案;Factory Floor 會自動偵測 git 儲存庫、已安裝工具與 GitHub 連線。
  3. 建立工作流:建立工作流以產生新的 git worktree 與分支、啟動 Claude Code 會話、開啟終端機,並新增瀏覽器分頁。
  4. 執行開發伺服器與預覽:在專案根目錄的 .factoryfloor.json 中設定 setuprun 與(選填)teardown;當 run 指令開始監聽時,嵌入式瀏覽器會開啟偵測到的埠。
  5. 無損上下文切換任務:在工作流間移動;tmux 持續性與 Claude Code 會話 ID 用於在應用程式重啟後保有上下文。

使用情境

  • 單一儲存庫的平行功能開發:為不同任務建立獨立工作流,每個擁有專屬分支、終端機、Claude Code 會話與瀏覽器分頁,讓您在切換時無縫運作。
  • 任務範圍的相依性設定:定義專案 setup 腳本(如 npm install),以在 worktree/workstream 建立時安裝相依性。
  • 一致的開發伺服器執行與確定性埠:在 run 腳本中使用 FF_PORT 環境變數(例如 PORT=$FF_PORT npm run dev),讓每個工作流使用專屬可預測埠。
  • 封存時自動清理:設定 teardown 腳本(例如 docker-compose down),在工作流封存時停止容器或清理資源。
  • 跨會話恢復 AI 輔助除錯:依賴持續的 Claude Code 會話 ID 與 tmux socket 持續性,在應用程式重啟後繼續工作。

常見問題

  • Factory Floor 是開源嗎? 是。Factory Floor 採用 MIT 授權,原始碼可在 GitHub 上取得。

  • 應用程式如何在嵌入式瀏覽器中開啟我的開發伺服器? 當您透過工作流執行腳本啟動專案時,Factory Floor 使用自動埠偵測判斷 run 指令監聽的埠,並將嵌入式瀏覽器導航至該位址。

  • 在哪裡設定 setup/run/teardown 自動化? 在專案根目錄新增 .factoryfloor.json 檔案。可包含 setuprunteardown 腳本指令;所有欄位皆為選填。

  • 腳本與終端機能使用哪些環境變數? 每個工作流終端機與 setup/run/teardown 腳本均可使用 FF_PROJECTFF_WORKSTREAMFF_PROJECT_DIRFF_WORKTREE_DIRFF_PORT 等環境變數。

  • Factory Floor 的 GitHub 檢視需要 GitHub 工具嗎? 專案檢視中的 GitHub 整合由 gh CLI 驅動。

替代方案

  • 本地終端機 + tmux + 手動 git worktree 工作流程:你可以使用獨立工具近似相同的基礎方法(worktrees、tmux 持久性,以及開發伺服器監控),但無法獲得單一視窗協調與嵌入式瀏覽器功能。
  • IDE 整合的多根工作區:IDE 可以管理多個專案與終端機,但可能無法提供每個任務的明確 git worktree 隔離,伴隨著相同的腳本驅動生命週期與連接埠偵測流程。
  • 每個任務的 Git 分支搭配暫存:更簡單的 git 方法可以支援上下文切換,但通常依賴暫存/清理,而非隔離的 worktrees 與任務範圍環境。
Factory Floor | UStack