Factory Floor
Factory Floor est une app native macOS qui gère des workstreams Git, des sessions Claude Code et des serveurs de dev dans une seule fenêtre.
Qu'est-ce que Factory Floor ?
Factory Floor est un espace de travail de développement natif macOS pour exécuter plusieurs « workstreams » parallèles en un seul endroit. Il coordonne les worktrees git (branches et répertoires isolés), les sessions Claude Code, les terminaux de développement et la navigation vers les serveurs de dev — afin que vous puissiez changer de tâche sans perdre l'état local.
L'app est conçue autour de l'isolation : chaque workstream dispose de sa propre branche, de son terminal et de sa session d'agent IA fonctionnant en parallèle. Elle utilise le terminal rendu par GPU de Ghostty et prend en charge l'automatisation setup/run/teardown via un fichier de configuration par projet.
Fonctionnalités principales
- Espace de travail à fenêtre unique pour projets et workstreams : visualisez terminaux, sessions IA et navigateur intégré ensemble au lieu de jongler avec des apps séparées.
- Git Worktrees par workstream : chaque workstream utilise sa propre branche et worktree, et l'app permet de changer de tâche sans stashing ; les fichiers
.envsont automatiquement symlinkés. - Intégration Claude Code avec persistance des sessions : les sessions Claude Code conservent un contexte persistant et peuvent être reprises après redémarrage de l'app grâce à des ID de session automatiques.
- Persistance basée sur Tmux pour les sessions d'agents : les sessions d'agents survivent aux redémarrages de l'app via tmux sur un socket dédié pour réduire les interruptions de flux.
- Navigateur intégré avec détection auto de port : le navigateur intégré détecte le port sur lequel votre script run commence à écouter et y navigue automatiquement.
- Scripts de cycle de vie du projet via
.factoryfloor.json: configurez des scriptssetup,runetteardownpar projet ; les scripts s'exécutent dans le répertoire du workstream avec votre shell de login, tous les champs étant optionnels. - Variables d'environnement disponibles dans tous les terminaux et scripts : terminaux et scripts reçoivent des variables comme les noms de projet/workstream, les chemins et un
FF_PORTdéterministe. - Intégration GitHub via CLI
gh: la vue projet peut afficher les infos du repo, ouvrir les PR et l'état des branches PR (basé sur la CLIgh). - Navigation et raccourcis clavier en priorité : raccourcis disponibles pour créer projets/workstreams, changer d'onglets/espaces/projets, archiver workstreams et ouvrir éditeurs/terminaux (y compris options externes).
Comment utiliser Factory Floor
- Installer Factory Floor : installez via
brew install --cask alltuner/tap/factoryfloorou en téléchargeant la source. - Ajouter un projet : glissez un répertoire dans la barre latérale ou en créez un nouveau ; Factory Floor détecte automatiquement les repos git, outils installés et connexions GitHub.
- Créer un workstream : créez un workstream pour générer un nouveau worktree et branche git, démarrer une session Claude Code, ouvrir un terminal et ajouter un onglet navigateur.
- Lancer votre serveur de dev et prévisualiser : configurez
setup,runet (optionnellement)teardowndans un.factoryfloor.jsonà la racine du projet ; quand la commande run commence à écouter, le navigateur intégré ouvre le port détecté. - Changer de tâche sans perdre le contexte : passez d'un workstream à l'autre ; la persistance tmux et les ID de session Claude Code maintiennent le contexte lors des redémarrages de l'app.
Cas d'usage
- Travail parallèle sur des fonctionnalités dans un même repo : créez des workstreams séparés pour différentes tâches afin que chacun ait sa branche, terminal, session Claude Code et onglet navigateur pendant que vous passez de l'un à l'autre.
- Configuration de dépendances scopée par tâche : définissez un script
setupde projet commenpm installpour installer les dépendances lors de la création d'un worktree/workstream. - Lancements de serveurs de dev cohérents avec ports déterministes : utilisez la variable d'environnement
FF_PORTdans votre scriptrun(ex.PORT=$FF_PORT npm run dev) pour que chaque workstream utilise son propre port prévisible. - Nettoyage automatique lors de l'archivage : définissez un script
teardown(ex.docker-compose down) pour arrêter les conteneurs ou nettoyer les ressources quand un workstream est archivé. - Reprise du débogage assisté par IA entre sessions : fiez-vous aux ID de session Claude Code persistants et à la persistance du socket tmux pour continuer le travail après redémarrage de l'app.
FAQ
-
Factory Floor est-il open source ? Oui. Factory Floor est sous licence MIT et le code source est disponible sur GitHub.
-
Comment l'app ouvre-t-elle mon serveur de dev dans le navigateur intégré ? Quand vous lancez le projet via un script run de workstream, Factory Floor utilise la détection auto de port pour déterminer sur quel port la commande run écoute et navigue le navigateur intégré vers cette adresse.
-
Où configurer l'automatisation setup/run/teardown ? Ajoutez un fichier
.factoryfloor.jsonà la racine de votre projet. Il peut inclure les commandes de scriptssetup,runetteardown; tous les champs sont optionnels. -
Quelles variables d'environnement sont disponibles pour les scripts et terminaux ? Chaque terminal de workstream et tout script setup/run/teardown peut utiliser des variables comme
FF_PROJECT,FF_WORKSTREAM,FF_PROJECT_DIR,FF_WORKTREE_DIRetFF_PORT. -
Factory Floor nécessite-t-il des outils GitHub pour sa vue GitHub ? L'intégration GitHub dans la vue projet est basée sur la CLI
gh.
Alternatives
- Terminal local + tmux + workflow manuel des worktrees git : vous pouvez approximer la même approche sous-jacente (worktrees, persistance tmux et surveillance des serveurs de dev) avec des outils séparés, mais vous n’obtiendrez pas l’orchestration en une seule fenêtre et le comportement du navigateur intégré.
- Espaces de travail multi-racines intégrés à l’IDE : les IDE peuvent gérer plusieurs projets et terminaux, mais ils ne fournissent pas toujours une isolation explicite des worktrees git par tâche avec le même cycle de vie piloté par scripts et flux de détection de ports.
- Branches git par tâche avec stashing : une approche git plus simple peut supporter le changement de contexte, mais elle repose généralement sur le stashing/nettoyage plutôt que sur des worktrees isolés et des environnements spécifiques aux tâches.
Alternatives
GitBoard
GitBoard est une app native macOS pour GitHub Projects : consultez votre kanban, filtrez par statut, recherchez des issues, créez ou assignez depuis la barre.
Biji
Biji est une plateforme polyvalente conçue pour améliorer la productivité grâce à des outils et des fonctionnalités innovants.
Ably Chat
Ably Chat : API et SDK de chat temps réel pour créer des applications personnalisées, avec réactions, présence et édition/suppression de messages.
Falconer
Falconer est une plateforme de connaissances qui se met à jour automatiquement pour équipes rapides : écrivez, partagez et trouvez une documentation interne fiable.
OpenFlags
OpenFlags est un système open source de feature flags auto-hébergé pour déploiement progressif : évaluation locale via SDK et contrôle REST.
AakarDev AI
AakarDev AI est une plateforme puissante qui simplifie le développement d'applications d'IA avec une intégration fluide des bases de données vectorielles, permettant un déploiement rapide et une évolutivité.