UStackUStack
Factory Floor icon

Factory Floor

Factory Floor はmacOSでgit worktrees、Claude Codeセッション、開発サーバーを1画面で管理。埋め込みブラウズや自動化も対応。

Factory Floor

Factory Floor とは?

Factory Floor は、macOS ネイティブの開発ワークスペースで、複数の並行「ワークストリーム」を1か所で実行します。git worktree(ブランチと分離ディレクトリ)、Claude Code セッション、開発ターミナル、dev サーバーのブラウジングを調整し、ローカル状態を失わずにタスクを切り替えられます。

アプリは分離を重視:各ワークストリームに専用のブランチ、ターミナル、AI エージェントセッションが同時実行されます。Ghostty の GPU レンダリングターミナルを使用し、プロジェクトごとの設定ファイルで setup/run/teardown 自動化をサポートします。

主な機能

  • プロジェクトとワークストリームの1ウィンドウワークスペース: ターミナル、AI セッション、埋め込みブラウザを一緒に表示し、別アプリを切り替える必要なし。
  • ワークストリームごとの Git Worktrees: 各ワークストリームに専用ブランチと worktree を使用。スタッシュなしでタスク切り替え可能。.env ファイルは自動シンボリックリンク。
  • Claude Code 統合とセッション永続化: Claude Code セッションは永続コンテキストを保持。自動セッション ID でアプリ再起動後も再開可能。
  • Tmux ベースのエージェントセッション永続化: tmux の専用ソケットでエージェントセッションがアプリ再起動後も存続し、ワークフローの中断を最小化。
  • 自動ポート検出付き埋め込みブラウザ: 埋め込みブラウザが run スクリプトのリスニングポートを検出して自動ナビゲート。
  • .factoryfloor.json によるプロジェクトライフサイクルスクリプト: プロジェクトごとに setuprunteardown スクリプトを設定。ワークストリームディレクトリでログインシェル実行、全フィールドオプション。
  • 全ターミナルとスクリプトで利用可能な環境変数: プロジェクト/ワークストリーム名、パス、決定論的 FF_PORT などの変数をターミナルとスクリプトに提供。
  • gh CLI による GitHub 統合: プロジェクトビューでリポジトリ情報、PR 開く、ブランチ PR ステータスを表示(gh CLI 駆動)。
  • キーボード中心のナビゲーションとショートカット: プロジェクト/ワークストリーム作成、タブ/ワークスペース/プロジェクト切り替え、ワークストリームアーカイブ、エディタ/ターミナル開く(外部含む)のショートカットあり。

Factory Floor の使い方

  1. Factory Floor をインストール: brew install --cask alltuner/tap/factoryfloor またはソースをダウンロード。
  2. プロジェクトを追加: サイドバーにディレクトリをドロップするか新規作成。git リポジトリ、インストールツール、GitHub 接続を自動検出。
  3. ワークストリームを作成: 新規 git worktree とブランチ生成、Claude Code セッション開始、ターミナル開く、ブラウザタブ追加。
  4. Dev サーバーを実行してプレビュー: プロジェクトルートに .factoryfloor.jsonsetuprun、(オプション)teardown を設定。run コマンドがリスニング開始で埋め込みブラウザが検出ポートを開く。
  5. コンテキストを失わずにタスク切り替え: ワークストリーム間移動。tmux 永続化と Claude Code セッション ID でアプリ再起動後もコンテキスト保持。

ユースケース

  • 1リポでの並行フィーチャー開発: タスクごとに別ワークストリームを作成し、各々に専用ブランチ、ターミナル、Claude Code セッション、ブラウザタブを割り当てて切り替え。
  • タスク単位の依存関係セットアップ: プロジェクト setup スクリプト(例: npm install)を定義し、worktree/ワークストリーム作成時に依存関係をインストール。
  • 決定論的ポートでの一貫した dev サーバー実行: run スクリプトで FF_PORT 環境変数を使用(例: PORT=$FF_PORT npm run dev)し、各ワークストリームに予測可能ポートを割り当て。
  • アーカイブ時の自動クリーンアップ: teardown スクリプト(例: docker-compose down)を設定し、ワークストリームアーカイブ時にコンテナ停止やリソースクリーン。
  • セッション横断の AI 支援デバッグ再開: 永続 Claude Code セッション ID と tmux ソケットでアプリ再起動後も作業継続。

FAQ

  • Factory Floor はオープンソースですか? はい。MIT ライセンスで、ソースコードは GitHub で公開されています。

  • アプリは dev サーバーを埋め込みブラウザでどう開くのですか? ワークストリームの run スクリプトでプロジェクト開始時、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 の永続化、dev-server 監視)を近似できますが、1画面でのオーケストレーションや埋め込みブラウザ機能は得られません。
  • IDE 統合型マルチルートワークスペース: IDE は複数プロジェクトとターミナルを管理できますが、タスクごとの明示的な git worktree 隔離、スクリプト駆動のライフサイクル、ポート検出フローを提供しない場合があります。
  • タスクごとの Git ブランチ + stashing: よりシンプルな git アプローチでコンテキストスイッチをサポートできますが、通常は stashing/クリーンアップに依存し、隔離された worktrees やタスクスコープの環境を使いません。
Factory Floor | UStack