Factory Floor
Factory Floor는 macOS에서 git worktree, Claude Code 세션, dev 서버를 한 창에서 관리해 워크스트림 전환과 자동화까지 지원합니다.
Factory Floor란 무엇인가요?
Factory Floor는 macOS 네이티브 개발 워크스페이스로, 여러 병렬 “워크스트림”을 한 곳에서 실행합니다. git worktree(브랜치와 격리된 디렉토리), Claude Code 세션, 개발 터미널, dev 서버 브라우징을 조정하여 로컬 상태를 잃지 않고 작업을 전환할 수 있습니다.
앱은 격리에 초점을 맞췄습니다: 각 워크스트림은 자체 브랜치, 터미널, AI 에이전트 세션을 병렬로 실행합니다. Ghostty의 GPU 렌더링 터미널을 사용하며, 프로젝트별 구성 파일을 통해 setup/run/teardown 자동화를 지원합니다.
주요 기능
- 프로젝트와 워크스트림을 위한 단일 창 워크스페이스: 별도 앱을 오가며 작업하는 대신 터미널, AI 세션, 내장 브라우저를 함께 확인하세요.
- 워크스트림별 Git Worktrees: 각 워크스트림은 자체 브랜치와 worktree를 사용하며, 앱은 스태싱 없이 작업 전환을 지원합니다.
.env파일은 자동 심링크됩니다. - 세션 지속성을 가진 Claude Code 통합: Claude Code 세션은 지속적인 컨텍스트를 유지하며, 자동 세션 ID를 통해 앱 재시작 시 재개할 수 있습니다.
- 에이전트 세션의 Tmux 기반 지속성: tmux를 전용 소켓으로 사용해 에이전트 세션이 앱 재시작 시에도 유지되어 작업 흐름이 끊기지 않습니다.
- 자동 포트 감지 내장 브라우저: 내장 브라우저는 실행 스크립트가 리스닝하는 포트를 감지하고 자동으로 이동합니다.
.factoryfloor.json을 통한 프로젝트 생명주기 스크립트: 프로젝트별setup,run,teardown스크립트를 구성하세요. 스크립트는 워크스트림 디렉토리에서 로그인 쉘로 실행되며, 모든 필드는 선택적입니다.- 모든 터미널과 스크립트에서 사용 가능한 환경 변수: 터미널과 스크립트는 프로젝트/워크스트림 이름, 경로, 결정적
FF_PORT등의 변수를 받습니다. ghCLI를 통한 GitHub 통합: 프로젝트 뷰에서 repo 정보, PR 열기, 브랜치 PR 상태를 확인할 수 있습니다(ghCLI 기반).- 키보드 중심 탐색과 단축키: 프로젝트/워크스트림 생성, 탭/워크스페이스/프로젝트 전환, 워크스트림 아카이빙, 에디터/터미널 열기(외부 옵션 포함) 단축키를 제공합니다.
Factory Floor 사용 방법
- Factory Floor 설치:
brew install --cask alltuner/tap/factoryfloor명령으로 설치하거나 소스를 다운로드하세요. - 프로젝트 추가: 사이드바에 디렉토리를 드롭하거나 새로 생성하세요. Factory Floor는 git repo, 설치된 도구, GitHub 연결을 자동 감지합니다.
- 워크스트림 생성: 새 git worktree와 브랜치를 생성하고, Claude Code 세션을 시작하며, 터미널을 열고 브라우저 탭을 추가하는 워크스트림을 만드세요.
- Dev 서버 실행 및 미리보기: 프로젝트 루트에
.factoryfloor.json으로setup,run, (선택적)teardown을 구성하세요. run 명령이 리스닝 시작 시 내장 브라우저가 감지된 포트를 엽니다. - 컨텍스트 손실 없이 작업 전환: 워크스트림 간 이동하세요. tmux 기반 지속성과 Claude Code 세션 ID가 앱 재시작 시 컨텍스트를 유지합니다.
사용 사례
- 하나의 repo에서 병렬 기능 작업: 서로 다른 작업에 별도 워크스트림을 생성해 각자 브랜치, 터미널, 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 소켓 지속성을 활용해 앱 재시작 후 작업을 계속하세요.
자주 묻는 질문
-
Factory Floor는 오픈 소스인가요? 네. Factory Floor는 MIT 라이선스이며 소스 코드는 GitHub에서 제공됩니다.
-
앱이 내장 브라우저에서 dev 서버를 어떻게 열나요? 워크스트림 run 스크립트로 프로젝트를 시작하면 Factory Floor가 자동 포트 감지를 통해 run 명령이 리스닝하는 포트를 확인하고 내장 브라우저를 해당 주소로 이동합니다.
-
Setup/run/teardown 자동화를 어디서 구성하나요? 프로젝트 루트에
.factoryfloor.json파일을 추가하세요.setup,run,teardown스크립트 명령을 포함할 수 있으며, 모든 필드는 선택적입니다. -
스크립트와 터미널에서 사용 가능한 환경 변수는 무엇인가요? 모든 워크스트림 터미널과 setup/run/teardown 스크립트는
FF_PROJECT,FF_WORKSTREAM,FF_PROJECT_DIR,FF_WORKTREE_DIR,FF_PORT등의 환경 변수를 사용할 수 있습니다. -
Factory Floor의 GitHub 뷰에 GitHub 도구가 필요한가요? 프로젝트 뷰의 GitHub 통합은
ghCLI로 구동됩니다.
대안
- 로컬 터미널 + tmux + 수동 git worktree 워크플로: 별도 도구로 동일한 기본 접근 방식(worktree, tmux 지속성, dev 서버 모니터링)을 근사할 수 있지만, 단일 창 오케스트레이션과 내장 브라우저 동작은 얻을 수 없습니다.
- IDE 통합 멀티 루트 워크스페이스: IDE는 여러 프로젝트와 터미널을 관리할 수 있지만, 스크립트 기반 라이프사이클과 포트 감지 흐름으로 작업별 명시적 git worktree 격리를 제공하지 않을 수 있습니다.
- 작업별 Git 브랜치 + 스태싱: 더 간단한 git 접근 방식으로 컨텍스트 전환을 지원할 수 있지만, 일반적으로 격리된 worktree와 작업 범위 환경 대신 스태싱/정리를 의존합니다.
대안
GitBoard
GitBoard는 GitHub Projects용 네이티브 macOS 메뉴바 앱으로 칸반 보드 보기, 상태 필터링, 이슈 검색, 워크플로우에서 생성/할당을 지원합니다.
Biji
Biji는 혁신적인 도구와 기능을 통해 생산성을 향상시키기 위해 설계된 다목적 플랫폼입니다.
Ably Chat
Ably Chat은 실시간 채팅 API와 SDK로 맞춤형 채팅 앱을 구축합니다. 반응, 존재감, 메시지 편집/삭제를 포함해 대규모 실시간에 최적화
Falconer
Falconer는 고속 팀을 위한 자체 업데이트 지식 플랫폼으로, 내부 문서와 코드 맥락을 한곳에서 작성·공유·찾아보세요.
OpenFlags
OpenFlags는 오픈소스 셀프호스팅 피처 플래그 시스템으로, 앱 SDK에서 로컬 평가와 REST 제어 플레인을 통해 안전한 점진적 배포를 지원합니다.
AakarDev AI
AakarDev AI는 원활한 벡터 데이터베이스 통합을 통해 AI 애플리케이션 개발을 간소화하는 강력한 플랫폼으로, 신속한 배포와 확장성을 가능하게 합니다.