
AI 시대의 개발자들은 새로운 딜레마에 직면했습니다. 하나의 코드베이스에서 여러 AI 에이전트를 동시에 실행하고 싶은데, 같은 브랜치에서 작업하면 충돌이 발생합니다. 브랜치를 전환하면 이전 작업 컨텍스트가 사라집니다. stash를 쓰면 되지만, 매번 하는 건 번거롭습니다. workmux는 이 문제를 우아하게 해결합니다. git worktrees와 tmux를 결합해 각 작업을 완전히 격리된 환경에서 실행하고, 원클릭으로 정리할 수 있습니다.
왜 git worktrees인가?
전통적인 git 워크플로우에서는 브랜치 전환이 비용입니다:
- stash → checkout → pop의 반복
- node_modules, .env 등의 상태 불일치
- 실행 중인 dev server 종료
- AI 에이전트 컨텍스트 손실 git worktrees는 같은 저장소의 여러 브랜치를 서로 다른 디렉토리에서 동시에 체크아웃할 수 있게 해줍니다. 각 worktree는 독립적인 파일 시스템 상태를 가집니다. workmux는 이 기능을 tmux와 결합해 각 worktree를 tmux 윈도우로 매핑합니다. 결과적으로 브랜치 전환이 윈도우 전환으로 바뀝니다.
핵심 기능
1. 원커맨드 워크트리 생성
workmux add new-feature
이 명령 하나로:
../__worktrees/new-feature에 git worktree 생성.env,node_modules등 자동 복사/심링크post_create훅 실행 (의존성 설치 등)wm-new-feature이름의 tmux 윈도우 생성- 설정한 pane 레이아웃 적용
- 새 윈도우로 자동 전환
2. AI 에이전트 통합
Claude Code, Gemini CLI, Codex, OpenCode 등의 에이전트를 자동으로 감지하고 시작합니다:
# .workmux.yaml
panes:
- command: claude --dangerously-skip-permissions
focus: true
- command: npm run dev
split: horizontal
<agent> 플레이스홀더를 사용하면 설정된 기본 에이전트가 자동으로 주입됩니다.
3. /worktree 스킬
Claude Code 사용자를 위한 특별 기능입니다. 대화 중 /worktree 스킬로 작업을 위임하면:
- 자동으로 새 worktree 생성
- 격리된 환경에서 에이전트 실행
- 완료 후 결과 확인 및 정리
4. 대시보드
workmux dashboard 명령으로 모든 worktree의 상태를 모니터링할 수 있습니다:
- 실행 중인 에이전트 상태
- 변경 사항 요약
- 명령 전송
5. 원클릭 정리
작업이 끝나면:
workmux merge
이 명령 하나로:
- 브랜치 머지 (rebase/squash 옵션 가능)
- worktree 삭제
- tmux 윈도우 닫기
- 로컬 브랜치 제거 모든 것이 한 번에 정리됩니다.
실전 워크플로우
설정
# 전역 설정 (~/.config/workmux/config.yaml)
agent: claude
nerdfont: true
merge_strategy: rebase
panes:
- command: <agent>
focus: true
- command: npm run dev
split: horizontal
size: 20
files:
copy:
- .env
- .env.local
symlink:
- node_modules
프로젝트별 오버라이드
# .workmux.yaml
post_create:
- "<global>"
- pnpm install
panes:
- command: pnpm run dev
focus: true
- command: <agent>
split: horizontal
일상적인 사용
# 새 기능 작업 시작
workmux add feature/auth-system
# ... Claude와 함께 작업 ...
# 핫픽스가 필요하면?
workmux add hotfix/login-crash
# 완전히 격리된 환경에서 작업
# 작업 완료
workmux merge # 원클릭 정리
왜 tmux인가?
새로운 GUI 도구가 아닌 tmux를 선택한 이유는 지속성과 조합 가능성입니다:
- 지속성: SSH 세션이 끊겨도 작업 유지
- 보편성: 모든 유닉스 시스템에서 작동
- 커스터마이징: 이미 사용 중인 tmux 설정과 통합
- 터미널 워크플로우: GUI 도구에 의존하지 않음 workmux는 WezTerm, Kitty, Zellij도 지원합니다. 터미널 멀티플렉서가 이미 있다면 그대로 사용할 수 있습니다.
철학: 한 가지를 잘하고 조합하기
workmux는 모든 것을 다루려 하지 않습니다:
- 터미널: 윈도잉과 레이아웃 담당
- git: 브랜치와 worktrees 담당
- 에이전트: 실행 담당
- workmux: 이 모든 것을 연결 이런 철학은 복잡성을 줄이고 예측 가능성을 높입니다. 각 도구가 자신의 역할에 집중하고, workmux는 그 사이의 “접착제” 역할만 합니다.
커뮤니티 반응
“I’ve been using (and loving) workmux which brings together tmux, git worktrees, and CLI agents into an opinionated workflow.” — @Coolin96 “It’s become my daily driver - the perfect level of abstraction over tmux + git, without getting in the way or obscuring the underlying tooling.” — @cisaacstern “Thank you so much for your work with workmux! It’s a tool I’ve been wanting to exist for a long time.” — @rstacruz
설치
# macOS
brew install raine/workmux/workmux
# 또는 스크립트 사용
# 자세한 내용은 GitHub 참고
# Rust로 직접 빌드
cargo install workmux
# Nix
nix profile install github:raine/workmux
tmux(또는 WezTerm/Kitty/Zellij)가 설치되어 있어야 합니다.
마치며: 병렬 개발의 새로운 표준
workmux는 AI 에이전트 시대에 맞는 개발 워크플로우를 제시합니다. 복잡한 GUI 도구나 새로운 개념을 배울 필요 없이, 이미 익숙한 git과 tmux의 조합으로 병렬 개발을 할 수 있습니다.
특히 Claude Code 사용자에게 강력 추천합니다. /worktree 스킬을 사용하면 대화 중에 자연스럽게 작업을 위임하고 격리된 환경에서 실행할 수 있습니다.
884개의 스타, 활발한 개발, MIT 라이선스. 프로덕션에서 사용할 준비가 된 도구입니다.