Shufler는 Claude Code와 OpenAI Codex CLI를 함께 포함해 여러 코딩 에이전트 세션을 실행하는 개발자를 위한 3D 작업 현황판이다. 터미널 세션과 에이전트 대화 기록, GitHub 풀 리퀘스트(PR)를 읽어 작업 단계와 개발자의 확인이 필요한 항목을 시각화한다. 브라우저 데모는 설치 없이 샘플 데이터로 체험할 수 있다.

Shufler 저장소와 빠른 시작 안내에서 설치 방법을 확인할 수 있다. 이 도구는 기존 터미널이나 에이전트를 대체하지 않는다. 에이전트는 계속 터미널에서 실행하고, Shufler는 옆에서 세션과 PR 상태를 모아 보여준다. 장면의 각 행은 터미널 탭 하나에 해당하며, 행을 클릭하면 해당 탭으로 전환한다.

각 세션은 한 행으로 표시되고, PR과 이슈는 Brainstorm, Plan, Build, QA, Review, Merge, Deploy 단계에 따라 왼쪽에서 오른쪽으로 움직인다. 개발자의 조치가 필요한 항목은 빨간색으로 강조된다. 화면에서 질문에 답하거나 프롬프트를 보내고, CI를 다시 실행하거나 PR을 병합할 수도 있다. 실행 전에는 명령이나 URL을 확인할 수 있다.

설치와 실행

Shufler는 베타 버전이며 현재 v0.3.0(pre-1.0)이다. macOS에서 동작하며, GitHub CLI와 Claude Code 또는 Codex CLI가 필요하다. 터미널은 cmux, iTerm2, tmux를 지원하고, 그 밖의 터미널도 터미널 연동 없이 실행 중인 세션을 관찰하는 모드로 사용할 수 있다. 이 모드에서는 프롬프트 전송, 질문 답변, 터미널 포커스 등 터미널이 필요한 기능을 사용할 수 없다.

Homebrew, pipx, uv tool, 또는 한 줄 설치 프로그램으로 설치할 수 있다. 설치된 패키지에는 웹 앱 빌드가 포함돼 있어 Bun, Node.js, 저장소 복제가 필요하지 않다. Homebrew 공식 저장소에는 등록되지 않았으며 프로젝트 자체 tap에서 제공한다.

sh
brew install jgrichardson/shufler/shufler # or: pipx install shufler, or: uv tool install shufler
shufler setup # picks your terminal, writes ~/.config/shufler/config.toml
$EDITOR ~/.config/shufler/config.toml # under [scm], set repo = "owner/name" to see its PRs
shufler start # then open http://127.0.0.1:4700

GitHub PR 데이터를 보려면 먼저 gh auth login으로 로그인하고, ~/.config/shufler/config.toml의 [scm] 아래에 저장소를 owner/name 형식으로 지정해야 한다. 저장소를 지정하지 않으면 세션 행은 나타나지만 PR은 표시되지 않는다. 설정 후 shufler start를 실행하고 브라우저에서 http://127.0.0.1:4700을 연다. 설정을 바꾼 뒤에는 데몬을 다시 시작해야 한다.

sh
gh auth login
shufler setup
$EDITOR ~/.config/shufler/config.toml # [scm] repo = "owner/name"
shufler start # then open http://127.0.0.1:4700

설정 없이 둘러보려면 호스팅 데모를 이용하면 된다. 로컬에서 샘플 데이터로 실행하려면 다음 명령을 사용한다.

sh
cd web && bun install && bun run dev

그 뒤 http://localhost:5173/?mock=1을 연다. 모의 모드에서는 데몬이나 GitHub 접근이 필요 없고 화면의 조작 기능은 실제 작업을 수행하지 않는다.

화면과 조작

화면은 세션 행과 작업 단계 열로 구성된다. PR이나 이슈는 해당 세션의 행에 놓이고, 단계별 열에서 상태를 보여준다. 단계 이름과 색상은 설정할 수 있다. P를 누르면 장면이 단계별 칸반 보드로 바뀌며, 다시 누르면 3D 화면으로 돌아간다. I는 세션마다 큰 섬을 배치하는 레이아웃을 켜고 끈다. 파이프라인 보기는 항상 격자 레이아웃을 사용한다. H는 카메라를 낮춰 수평선 보기로 전환한다.

‘Your move’ 목록에는 에이전트가 묻는 질문, 병합할 준비가 된 PR, 사람이 직접 해야 할 단계 등 개발자의 조치를 기다리는 항목을 모은다. N으로 다음 항목으로 이동하고, ‘Needs you’ 보기는 다른 항목을 어둡게 해 대기 중인 작업만 보여준다. 세션이나 PR에 마우스를 올리면 메모, 대기 중인 질문, 에이전트의 최근 메시지를 확인할 수 있다. 대화 패널에서는 최근 기록을 읽고 검색하거나 답할 수 있으며, 대화 내용은 해당 패널을 열 때만 읽는다.

PR 패널은 CI, 리뷰 봇 판정, 병합 가능 여부와 판정이 최신 커밋에 적용되는지를 보여준다. 병합은 필요한 조건이 충족될 때까지 잠겨 있으며, 실행하려면 PR 번호를 입력해야 한다. 리뷰 봇 연동은 선택 사항이고 기본적으로 꺼져 있다. 이를 켜면 최신 커밋에 대한 봇 승인, 통과한 CI, 초안이 아닌 PR이라는 조건을 충족해야 병합할 수 있다. 꺼져 있을 때는 리뷰 봇 조건을 건너뛰고 CI가 판단 기준이 된다.

그 밖에 파일과 폴더의 경로를 세션이나 도메인에 연결하는 컨텍스트 라이브러리, 세션별 모델·컨텍스트 사용량·비용을 보는 표, 에이전트가 가진 스킬과 슬래시 명령을 검색하는 팔레트가 있다. 이벤트와 스냅샷은 SQLite에 저장되며, 자리를 비운 동안의 변경 사항을 다시 볼 수 있다. 기본 스킨을 포함해 여섯 가지 화면 스킨을 제공한다.

에이전트가 다른 세션의 상태를 조회할 수 있도록 shufler mcp 명령으로 MCP 서버를 실행할 수도 있다. 기본 도구는 읽기 전용이다. 다른 세션에 프롬프트나 답변을 보내는 기능은 설정에서 명시적으로 허용해야 하며, 미리보기 후 별도의 확인 호출을 거친다.

지원 범위와 유의 사항

Shufler는 macOS 우선의 초기 베타 소프트웨어다. 현재 에이전트는 Claude Code와 Codex CLI, 소스 관리 호스트는 gh CLI를 통한 GitHub만 지원한다. Linux 지원과 Gemini CLI, Aider, OpenCode 등 다른 에이전트는 계획된 항목이다. cmux에서는 데몬을 cmux 작업 공간 안의 셸에서 실행해야 연결되며, 로그인 시 자동 시작은 아직 cmux와 동작하지 않는다.

데몬은 로컬 컴퓨터에서만 실행되고 127.0.0.1에 바인딩된다. 제작자는 포트 4700을 컴퓨터 외부에 공개하지 말라고 안내한다. 대화 기록은 화면에 방송되거나 기록 데이터에 저장되지 않는다. 대신 이벤트와 축약된 스냅샷을 저장한다. 작업 명령은 확인 절차를 거치며, 셸을 통하지 않고 인수 목록으로 실행된다. Shufler는 reset --hard, 강제 푸시, 워크트리 삭제, 프로세스 종료, 채팅 게시와 외부 전송을 거부하는 보호 규칙을 둔다.

사용자 지정 명령은 설정한 인수 그대로 실행되지만, Shufler는 해당 명령이 읽기 작업인지 쓰기 작업인지 판별하지 못한다. 따라서 신뢰하는 명령만 등록해야 한다. 기본 제공 터미널은 실제 로컬 셸이며 최대 6개까지 열 수 있고, 2시간 동안 유휴 상태이면 닫힌다. 키 입력은 기록하지 않는다.

제작자는 이 프로젝트가 주말 작업에서 시작했고 아직 다듬어지지 않은 부분이 있다고 밝혔다. 코드 대부분은 Claude Code가 작성했으며, 제작자는 설계와 출시 코드 검토를 맡았다고 설명했다. 전체 설치법과 설정 항목, 단축키, 보안 안내는 Shufler 저장소와 MCP 설명서에서 확인할 수 있다.