본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 21. 14:53

Show HN: jmux – 인간과 코딩 에이전트를 위한 tmux 기반 개발 환경

요약

jmux는 인간과 코딩 에이전트를 위해 설계된 tmux 기반의 터미널 워크스페이스입니다. Claude Code나 Codex와 같은 에이전트를 격리된 세션에서 병렬로 실행할 수 있으며, Linear 및 GitLab과의 연동을 통해 터미널 내에서 이슈 관리부터 배포까지 통합된 워크플로를 제공합니다.

핵심 포인트

  • 코딩 에이전트를 격리된 세션에서 병렬로 실행하고 상태를 실시간으로 모니터링 가능
  • Linear 및 GitLab 연동을 통해 터미널을 벗어나지 않고 이슈 관리 및 MR 처리 가능
  • 에이전트의 작업 상태(진행 중, 검토 필요, 파이프라인 상태)를 시각적으로 표시
  • 단축키를 이용한 워크트리 생성, 이슈 컨텍스트 연결 및 코드 변경 사항 검토 지원
<div align="center"> <img src="site/assets/logo.svg" alt="jmux" width="96" height="96">

jmux

코딩 에이전트(coding agents)를 병렬로 실행하기 위한 터미널 워크스페이스.

Claude Code, Codex 또는 모든 에이전트를 격리된 세션(isolated sessions)에서 실행하세요 — jmux는 어떤 에이전트가 작업 중인지, 완료되었는지, 그리고 사용자의 검토가 필요한지를 보여줍니다. 선택적으로 LinearGitLab을 연결하여 터미널을 떠나지 않고도 분류(triage)부터 배포(deployment)까지 진행할 수 있습니다.

npm
license

jmux with sidebar sessions, window tabs toolbar, and Claude Code

</div>

설치 (Install)

bun install -g @jx0/jmux
jmux

Bun 1.3.8+ 및 tmux 3.2+가 필요합니다. jmux는 처음 실행할 때 tmux 설치를 제안합니다. tmux가 처음이신가요? **시작 가이드(Getting Started guide)**를 참조하세요.

자격 증명 없이 체험해 보세요: jmux --demo를 실행하면 모의 데이터(mock data)로 실행되어 모든 기능을 탐색할 수 있습니다.


Linear & GitLab 연동 (Integration)

Linear와 GitLab을 연결하여 터미널에서 워크플로(workflow)를 관리하세요. 정보 패널(Ctrl-a g)을 열면 팀 및 상태별로 그룹화된 이슈(issues), 파이프라인 상태가 포함된 MR(Merge Requests), 그리고 검토 대기열(review queue)을 통합된 디프 뷰어(diff viewer)와 함께 탭 뷰로 확인할 수 있습니다.

jmux info panel showing Linear issues grouped by team and status

이슈를 선택하고 n을 누르세요. jmux는 워크트리(worktree)를 생성하고, 세션을 열며, 이슈 컨텍스트(issue context)와 함께 에이전트를 실행합니다 — 티켓에서 작동하는 코드까지 단 한 번의 키 입력으로 연결됩니다.

에이전트가 작업하는 동안 사이드바에는 어떤 세션에 새로운 출력(초록색 점)이 있는지, 어떤 세션에 검토가 필요한지(주황색 !), 그리고 파이프라인 상태가 어떠한지( )가 표시됩니다. Ctrl-Shift-Up/Down으로 세션 간 전환을 할 수 있습니다.

에이전트 작업이 완료되면, 디프 패널(diff panel)을 토글하여 변경 사항을 검토하세요. 그런 다음 MR 탭으로 넘어가 브라우저를 열지 않고도 승인(approve), 초안 취소(undraft) 또는 상태 업데이트를 수행할 수 있습니다.

jmux info panel showing GitLab merge requests with pipeline status

o를 누르면 브라우저에서 무엇이든 열 수 있고, s는 이슈 상태 업데이트, a는 MR 승인, r은 초안 취소를 수행합니다. 키보드 단축키는 각 뷰의 하단에 표시됩니다.

설정 (Setup):

// ~/.config/jmux/config.json
{
  "adapters": {
...

환경 변수에 $LINEAR_API_KEY$GITLAB_TOKEN을 설정하세요. 전체 가이드는 docs/issue-tracking.md를 참조하십시오.


주요 기능 (Features)

세션 사이드바 (Session Sidebar)

모든 세션의 이름, 윈도우(window) 개수, Git 브랜치, 파이프라인(pipeline) 상태, 연결된 이슈(issue)를 한눈에 확인할 수 있습니다. 상위 디렉터리를 공유하는 세션들은 자동으로 그룹화됩니다. 세션이 많아져 화면을 넘어갈 경우 마우스 휠 스크롤이 가능합니다.

  • 활성화된 세션에는 녹색 마커와 하이라이트된 배경 표시
  • 새로운 출력이 있는 세션에는 녹색 점 표시
  • 주의가 필요한 경우(예: 에이전트 작업 완료 후 검토 필요) 주황색 ! 플래그 표시
  • 파이프라인 글리프(glyphs): 통과, 실행 중, 실패, 병합(merged)
  • 연결된 이슈 식별자(예: ENG-1234) 및 MR(Merge Request) 개수 표시

커맨드 팔레트 (Command Palette)

Ctrl-a p를 눌러 세션, 윈도우, 창(pane) 작업, 설정, 그리고 이슈/MR 명령어를 퍼지 검색(fuzzy-search)할 수 있습니다.

Command palette floating over a jmux workspace

통합 디프 패널 (Integrated Diff Panel)

Ctrl-a g를 눌러 임베디드된 hunk 디프(diff) 패널을 엽니다. 구문 강조(syntax-highlighting)가 적용된 단어 단위의 차이점을 분할 뷰(split view) 또는 전체 화면 뷰로 확인할 수 있습니다.

jmux with diff panel in split mode showing code changes alongside Claude Code

  • 분할 (Split) — 디프 패널이 오른쪽에 고정됩니다. 에이전트의 출력과 코드 변경 사항을 동시에 볼 수 있습니다.
  • 전체 (Full)Ctrl-a z를 누르면 디프 패널이 확대되어 메인 영역을 차지합니다. 세션 전환을 위한 사이드바는 유지됩니다.

jmux with diff panel in full-screen mode

워크트리 네이티브 워크플로우 (Worktree-Native Workflows)

jmux는 **wtm**과 통합되어 각 에이전트에게 격리된 개별 브랜치를 제공합니다. 스태싱(stashing)이나 충돌, 브랜치 전환이 필요 없습니다.

bun install -g @jx0/wtm     # 1회성 설정
wtm init git@github.com:you/repo.git

Ctrl-a n을 누르고 프로젝트를 선택한 뒤, + new worktree를 선택하세요. jmux가 베이스 브랜치 선택 및 워크트리 이름 지정 과정을 안내합니다. 사이드바는 프로젝트별로 세션을 그룹화하고 각 워크트리의 브랜치 이름을 표시합니다.

에이전트 통합 (Agent Integration)

여러 코딩 에이전트를 병렬로 실행할 수 있도록 설계되었습니다. 다음 명령 하나로 알림(attention notifications) 설정을 완료할 수 있습니다:

jmux --install-agent-hooks

Claude Code가 응답을 마치면 주황색 !가 나타납니다. 해당 세션으로 전환하여 작업 내용을 검토하고 다음 단계로 진행하세요. 완료 시 쉘 명령(shell command)을 실행할 수 있는 모든 에이전트와 함께 작동합니다. docs/claude-code-integration.md를 참조하세요.

에이전트 제어 CLI (Agent Control CLI)

jmux ctl은 에이전트가 형제 세션(sibling sessions), 윈도우(windows), 팬(panes)을 프로그래밍 방식으로 관리할 수 있게 해주는 JSON API입니다.

# 세션을 생성하고 특정 작업과 함께 Claude Code 실행
jmux ctl run-claude --name fix-auth --dir /repo --message "Fix the auth bug in src/auth.ts"

...

jmux는 에이전트가 jmux 세션 내부에서 자동으로 발견할 수 있는 Claude Code 스킬을 제공합니다. 이를 통해 인간의 프롬프팅(prompting) 없이도 병렬 에이전트를 배치하고, 완료 여부를 폴링(poll)하며, 출력을 캡처하고, 작업을 체이닝(chain)할 수 있습니다.

모든 것을 자유롭게 가져오기 (Bring Your Own Everything)

jmux는 기존의 ~/.tmux.conf와 함께 작동합니다. 사용 중인 플러그인, 테마, 프리픽스 키(prefix key), 커스텀 바인딩이 그대로 유지됩니다. 오직 소수의 핵심 설정만 강제됩니다.

어떤 에디터든 사용하세요. 어떤 Git 도구든 상관없습니다. 어떤 AI 에이전트든, 어떤 쉘(shell)이든 가능합니다. Electron도, 독점적인 런타임(proprietary runtime)도 필요 없습니다. tmux를 실행할 수 있다면, jmux도 실행할 수 있습니다.

최고의 도구들로 구축됨

  • hunk — 터미널 디프(diff) 뷰어. 구문 강조(syntax-highlighted)가 적용된 단어 단위의 디프를 분할 및 전체 화면 뷰로 제공합니다.
  • Claude Code — AI 코딩 에이전트. jmux는 캐시 타이머와 어텐션 플래그(attention flags)를 위해 Claude Code의 텔레메트리(telemetry)를 읽습니다.
  • Linear — 이슈 트래킹. 이슈를 가져오고, 세션에 연결하며, 터미널에서 상태를 업데이트합니다.
  • GitLab — 사이드바와 정보 패널에서 MR 상태, 파이프라인(pipelines), 승인(approvals)을 확인합니다.
  • lazygit — 터미널 Git UI. 에이전트와 함께 jmux 팬(pane)에서 실행할 수 있습니다.
  • gh / glab — GitHub 및 GitLab CLI

키바인딩 (Keybindings)

세션 (Sessions)

동작
Ctrl-Shift-Up/Down이전/다음 세션으로 전환
...

윈도우 (Windows)

키 (Key)동작 (Action)
탭 클릭 (Click tab)윈도우 (Window) 전환
...

패인 (Panes)

키 (Key)동작 (Action)
`Ctrl-a`
...

정보 패널 (Info Panel)

키 (Key)동작 (Action)
Ctrl-a g정보 패널 표시/숨기기 (Toggle info panel on/off)
...

유틸리티 (Utilities)

키 (Key)동작 (Action)
Ctrl-a p커맨드 팔레트 (Command palette)
...

설정 (Configuration)

설정은 세 가지 계층 (layers)으로 로드됩니다:

config/defaults.conf      <- jmux 기본값 (baseline)
~/.tmux.conf              <- 사용자 설정 (기본값 덮어쓰기)
config/core.conf          <- jmux 코어 (항상 우선 적용)

~/.tmux.conf에서 접두사 키 (prefix key), 색상, 키 바인딩 (keybindings), 플러그인 (plugins) 등 모든 기본값을 덮어쓸 수 있습니다. 전체 가이드는 docs/configuration.md를 참조하세요.


아키텍처 (Architecture)

터미널 (Terminal) (Ghostty, iTerm 등)
  +-- jmux (터미널 표면을 소유)
       +-- 사이드바 (Sidebar) (26열) -- 세션 그룹 (session groups), 인디케이터 (indicators), 파이프라인 글리프 (pipeline glyphs)
...

tmux 내부에서 무엇을 실행하는지에 대해서는 어떠한 의견도 강요하지 않습니다.


라이선스 (License)

MIT

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0