UStackUStack
Factory Floor icon

Factory Floor

Factory Floor é um app nativo para macOS que gerencia git worktrees, sessões do Claude Code e dev servers em uma única janela.

Factory Floor

O que é Factory Floor?

Factory Floor é um workspace de desenvolvimento nativo para macOS que executa múltiplos “workstreams” paralelos em um só lugar. Ele coordena git worktrees (branches e diretórios isolados), sessões do Claude Code, terminais de desenvolvimento e navegação em dev servers — para que você possa alternar tarefas sem perder o estado local.

O app é projetado em torno do isolamento: cada workstream tem sua própria branch, terminal e sessão de agente de IA rodando simultaneamente. Ele usa o terminal renderizado por GPU do Ghostty e suporta automação de setup/execução/teardown via arquivo de configuração por projeto.

Principais Recursos

  • Workspace de janela única para projetos e workstreams: visualize terminais, sessões de IA e um navegador embutido juntos, em vez de gerenciar apps separados.
  • Git Worktrees por workstream: cada workstream usa sua própria branch e worktree, e o app suporta alternância de tarefas sem stash; arquivos .env são automaticamente linkados como symlinks.
  • Integração com Claude Code e persistência de sessão: sessões do Claude Code mantêm um contexto persistente e podem ser retomadas após reinicializações do app usando IDs de sessão automáticos.
  • Persistência baseada em Tmux para sessões de agente: sessões de agente sobrevivem a reinicializações do app via tmux em um socket dedicado, reduzindo interrupções no fluxo de trabalho.
  • Navegador embutido com detecção automática de porta: o navegador embutido detecta a porta em que o script de execução começa a escutar e navega para ela automaticamente.
  • Scripts de ciclo de vida do projeto via .factoryfloor.json: configure scripts setup, run e teardown por projeto; scripts rodam no diretório do workstream usando seu shell de login, com todos os campos opcionais.
  • Variáveis de ambiente disponíveis em todos os terminais e scripts: terminais e scripts recebem variáveis como nomes de projeto/workstream, caminhos e uma FF_PORT determinística.
  • Integração com GitHub via gh CLI: a visão do projeto pode mostrar infos do repo, abrir PRs e status de branch em PR (impulsionado pelo gh CLI).
  • Navegação e atalhos priorizando teclado: atalhos disponíveis para criar projetos/workstreams, alternar abas/workspaces/projetos, arquivar workstreams e abrir editores/terminais (incluindo opções externas).

Como Usar o Factory Floor

  1. Instale o Factory Floor: instale via brew install --cask alltuner/tap/factoryfloor ou baixando o binário.
  2. Adicione um projeto: arraste um diretório para a barra lateral ou crie um novo; Factory Floor detecta git repos, ferramentas instaladas e conexões com GitHub automaticamente.
  3. Crie um workstream: crie um workstream para gerar um novo git worktree e branch, iniciar uma sessão do Claude Code, abrir um terminal e adicionar uma aba de navegador.
  4. Execute seu dev server e visualize: configure setup, run e (opcionalmente) teardown em um .factoryfloor.json na raiz do projeto; quando o comando run começa a escutar, o navegador embutido abre a porta detectada.
  5. Altere tarefas sem perder contexto: mova entre workstreams; a persistência baseada em tmux e IDs de sessão do Claude Code mantêm o contexto após reinicializações do app.

Casos de Uso

  • Trabalho paralelo em features no mesmo repo: crie workstreams separados para tarefas diferentes, cada um com sua branch, terminal, sessão do Claude Code e aba de navegador enquanto alterna entre eles.
  • Setup de dependências scoped por tarefa: defina um script setup do projeto como npm install para que dependências sejam instaladas ao criar um worktree/workstream.
  • Execuções de dev server consistentes com portas determinísticas: use a variável de ambiente FF_PORT no seu script run (exemplo: PORT=$FF_PORT npm run dev) para que cada workstream use sua própria porta previsível.
  • Limpeza automática ao arquivar: defina um script teardown (exemplo: docker-compose down) para parar containers ou limpar recursos ao arquivar um workstream.
  • Retome depuração assistida por IA entre sessões: conte com IDs de sessão persistentes do Claude Code e persistência de socket tmux para continuar o trabalho após reiniciar o app.

FAQ

  • Factory Floor é open source? Sim. Factory Floor tem licença MIT e o código-fonte está disponível no GitHub.

  • Como o app abre meu dev server no navegador embutido? Ao iniciar o projeto via script de run de um workstream, Factory Floor usa detecção automática de porta para determinar em qual porta o comando run está escutando e navega o navegador embutido para esse endereço.

  • Onde configuro a automação de setup/run/teardown? Adicione um arquivo .factoryfloor.json na raiz do seu projeto. Ele pode incluir comandos de script setup, run e teardown; todos os campos são opcionais.

  • Quais variáveis de ambiente estão disponíveis para scripts e terminais? Todo terminal de workstream e qualquer script setup/run/teardown pode usar variáveis de ambiente como FF_PROJECT, FF_WORKSTREAM, FF_PROJECT_DIR, FF_WORKTREE_DIR e FF_PORT.

  • Factory Floor requer ferramentas do GitHub para a visão do GitHub? A integração com GitHub na visão do projeto é impulsionada pelo gh CLI.

Alternativas

  • Terminal local + tmux + fluxo manual de git worktree: você pode aproximar a mesma abordagem subjacente (worktrees, persistência do tmux e monitoramento de dev-server) usando ferramentas separadas, mas não obterá a orquestração em janela única e o comportamento do navegador incorporado.
  • Espaços de trabalho multi-raiz integrados ao IDE: IDEs podem gerenciar múltiplos projetos e terminais, mas podem não fornecer isolamento explícito de git worktree por tarefa com o mesmo ciclo de vida orientado por scripts e fluxo de detecção de portas.
  • Git branch-por-tarefa com stashing: uma abordagem git mais simples pode suportar troca de contexto, mas geralmente depende de stashing/limpeza em vez de worktrees isolados e ambientes com escopo de tarefa.
Factory Floor | UStack