UStackUStack
Factory Floor icon

Factory Floor

Factory Floor: Native macOS-App für git worktrees, Claude Code Sessions und Dev-Server per Single-Window. Automatisierung je Workstream.

Factory Floor

Was ist Factory Floor?

Factory Floor ist ein nativer macOS-Entwicklungsarbeitsbereich, um mehrere parallele „Workstreams“ an einem Ort auszuführen. Es koordiniert git worktrees (Branches und isolierte Verzeichnisse), Claude Code-Sessions, Entwicklungsterminals und Dev-Server-Browsing – damit Sie Aufgaben wechseln können, ohne lokalen Zustand zu verlieren.

Die App ist auf Isolation ausgelegt: Jeder Workstream erhält einen eigenen Branch, Terminal und AI-Agent-Session, die parallel laufen. Sie nutzt Ghosttys GPU-gerendertes Terminal und unterstützt Setup/Run/Teardown-Automatisierung über eine pro-Projekt-Konfigurationsdatei.

Wichtige Funktionen

  • Single-Window-Arbeitsbereich für Projekte und Workstreams: Terminals, AI-Sessions und eingebetteten Browser zusammen anzeigen statt getrennte Apps jonglieren.
  • Git Worktrees pro Workstream: Jeder Workstream verwendet eigenen Branch und Worktree; App unterstützt Task-Switching ohne Stashing; .env-Dateien werden automatisch symlinked.
  • Claude Code-Integration mit Session-Persistenz: Claude Code-Sessions behalten persistenten Kontext und können über App-Neustarts mit automatischen Session-IDs fortgesetzt werden.
  • Tmux-basierte Persistenz für Agent-Sessions: Agent-Sessions überleben App-Neustarts via tmux auf dediziertem Socket, um unterbrochene Workflows zu minimieren.
  • Eingebetteter Browser mit Auto-Port-Erkennung: Der eingebettete Browser erkennt den Port, auf dem das Run-Skript lauscht, und navigiert automatisch dorthin.
  • Project-Lifecycle-Skripte via .factoryfloor.json: Konfigurieren Sie setup-, run- und teardown-Skripte pro Projekt; Skripte laufen im Workstream-Verzeichnis mit Ihrer Login-Shell, alle Felder optional.
  • Umgebungsvariablen in jedem Terminal und Skript verfügbar: Terminals und Skripte erhalten Variablen wie Projekt-/Workstream-Namen, Pfade und deterministischen FF_PORT.
  • GitHub-Integration via gh CLI: Projektansicht zeigt Repo-Infos, öffnet PRs und Branch-PR-Status (powered by gh CLI).
  • Tastatur-zentrierte Navigation und Shortcuts: Shortcuts für Erstellen von Projekten/Workstreams, Tab-/Workspace-/Projekt-Wechsel, Archivierung von Workstreams und Öffnen von Editoren/Terminals (inkl. externer Optionen).

So verwenden Sie Factory Floor

  1. Factory Floor installieren: Via brew install --cask alltuner/tap/factoryfloor oder durch Download der Quelle.
  2. Projekt hinzufügen: Verzeichnis in die Sidebar ziehen oder neues erstellen; Factory Floor erkennt git-Repos, installierte Tools und GitHub-Verbindungen automatisch.
  3. Workstream erstellen: Workstream erzeugen, um neuen git worktree und Branch zu generieren, Claude Code-Session zu starten, Terminal zu öffnen und Browser-Tab hinzuzufügen.
  4. Dev-Server starten und Preview: setup, run und (optional) teardown in .factoryfloor.json im Projekt-Root konfigurieren; beim Start des Run-Befehls öffnet der eingebettete Browser den erkannten Port.
  5. Aufgaben wechseln ohne Kontextverlust: Zwischen Workstreams wechseln; tmux-basierte Persistenz und Claude Code-Session-IDs halten Kontext über App-Neustarts.

Anwendungsfälle

  • Parallele Feature-Arbeit in einem Repo: Separate Workstreams für verschiedene Tasks erstellen, sodass jeder eigenen Branch, Terminal, Claude Code-Session und Browser-Tab hat, während Sie zwischen ihnen wechseln.
  • Task-spezifische Dependency-Setup: Projekt-setup-Skript definieren, z. B. npm install, damit Dependencies bei Worktree-/Workstream-Erstellung installiert werden.
  • Konsistente Dev-Server-Runs mit deterministischen Ports: FF_PORT-Umgebungsvariable im run-Skript nutzen (z. B. PORT=$FF_PORT npm run dev), damit jeder Workstream eigenen vorhersehbaren Port verwendet.
  • Automatische Bereinigung beim Archivieren: teardown-Skript setzen (z. B. docker-compose down), um Container zu stoppen oder Ressourcen zu bereinigen, wenn Workstream archiviert wird.
  • AI-unterstütztes Debugging über Sessions fortsetzen: Auf persistente Claude Code-Session-IDs und tmux-Socket-Persistenz setzen, um nach App-Neustart weiterzuarbeiten.

FAQ

  • Ist Factory Floor Open Source? Ja. Factory Floor ist MIT-lizenziert und der Quellcode ist auf GitHub verfügbar.

  • Wie öffnet die App meinen Dev-Server im eingebetteten Browser? Beim Start des Projekts via Workstream-Run-Skript verwendet Factory Floor Auto-Port-Erkennung, um den Port des Run-Befehls zu bestimmen, und navigiert den eingebetteten Browser dorthin.

  • Wo konfiguriere ich Setup/Run/Teardown-Automatisierung? .factoryfloor.json-Datei im Projekt-Root hinzufügen. Sie kann setup-, run- und teardown-Skriptbefehle enthalten; alle Felder optional.

  • Welche Umgebungsvariablen stehen Skripts und Terminals zur Verfügung? Jedes Workstream-Terminal und Setup/Run/Teardown-Skript kann Variablen wie FF_PROJECT, FF_WORKSTREAM, FF_PROJECT_DIR, FF_WORKTREE_DIR und FF_PORT nutzen.

  • Benötigt Factory Floor GitHub-Tools für die GitHub-Ansicht? Die GitHub-Integration in der Projektansicht basiert auf der gh CLI.

Alternativen

  • Lokales Terminal + tmux + manuelles git worktree Workflow: Sie können den gleichen zugrunde liegenden Ansatz (worktrees, tmux-Persistenz und Dev-Server-Überwachung) mit separaten Tools annähern, erhalten aber nicht die Single-Window-Orchestrierung und das eingebettete Browser-Verhalten.
  • IDE-integrierte Multi-Root-Workspaces: IDEs können mehrere Projekte und Terminals verwalten, bieten aber möglicherweise keine explizite git worktree-Isolierung pro Aufgabe mit demselben skriptgesteuerten Lebenszyklus und Port-Erkennungsflow.
  • Git Branch-per-Task mit Stashing: Ein einfacheres git-Verfahren kann Kontextwechsel unterstützen, stützt sich aber typischerweise auf Stashing/Cleanup statt isolierter worktrees und task-spezifischer Umgebungen.
Factory Floor | UStack