pack-kit이 뭐냐면 — warren처럼 여러 컴퓨터의 Claude 세션을 폰·웹에서 관제하는 앱이야. 뼈대(허브 서버 1대 + ssh + 웹푸시)는 warren에서 이어받았어.
다른 점은 컨셉. warren이 "터미널 콕핏"이라면, pack-kit은 "세션 하나하나가 카톡 대화방"이야. 안 읽음 배지가 붙고, 밀어서 숨기고, 파일을 던져 넣는 메신저 감각.
그래서 좋은 건 골라 담고, 겹치는 건 두고 오자! 🛒
🛒 가져올 것
warren에 그대로 얹으면 좋은 6가지
전부 "지금 warren에 없는데 있으면 사고가 줄거나 훨씬 편해지는" 것들이야.
① 답이 진짜 들어갔는지 확인하는 전송 1순위
폰에서 버튼 눌렀는데 터미널엔 답이 안 들어가 있는 사고를 원천 차단
지금 warren옵션 버튼 누르면 키를 쏘고 끝. 들어갔는지는 확인 안 함
pack-kit키를 쏜 뒤 화면을 다시 읽어서 질문이 사라졌는지 확인. 안 됐으면 Enter를 더 누르거나, 이상하면 멈추고 에러를 돌려줌
왜 필요해? Claude의 질문 화면이 종류마다 달라서야. 보통 질문은 숫자 하나로 즉시 확정되는데, 미리보기가 붙은 질문은 숫자가 커서만 옮겨서 Enter를 따로 눌러야 해. 이 차이를 모르면 "눌렀는데 계속 같은 질문이 떠 있네?"가 됨 — 팀원이 실제로 겪고 고친 거야. 주관식 답변(글로 입력)도 이 김에 딸려 와.
② 글자와 Enter 사이에 0.3초 쉬기 1순위
"보냈는데 전송이 안 눌린" 미스터리의 범인 검거
지금 warren텍스트와 Enter를 거의 동시에 보냄 (같은 함정에 걸릴 수 있음)
pack-kit글 치고 0.3초 쉬고 Enter. 이거 하나로 증상 소멸
왜 필요해? 글자와 Enter가 5밀리초 간격으로 붙어 도착하면 Claude가 "이건 붙여넣기구나"라고 착각해서 Enter를 줄바꿈으로 삼켜버려. 그래서 글자만 입력창에 남고 전송이 안 됨. 팀원이 바이트 단위로 측정해서 밝혀낸 원인이야.
③ 세션 목록에 모델·컨텍스트 잔량 표시 2순위
"이 세션 언제 갈아타야 하지?"를 폰에서 바로 판단
지금 warren세션이 뭘로 돌고 있는지, 컨텍스트가 얼마나 찼는지 안 보임
pack-kit목록 행마다 Fx(Fable xhigh) 같은 두 글자 약자 + 컨텍스트 사용률 %가 붙음
왜 필요해? 컨텍스트가 90%면 곧 압축(요약)이 일어나니 미리 정리 지시를 내리는 게 좋은데, 지금은 터미널에 들어가야만 보여. 목록에서 바로 보이면 핸드오프 타이밍을 놓치지 않아.
④ 안 읽음 배지 + "새 메시지" 구분선 2순위
카톡처럼 "어디까지 읽었더라"가 없어짐
지금 warren리더 모드는 있지만 읽음 추적이 없어서 매번 처음부터 훑어야 함
pack-kit세션마다 안 읽은 답이 몇 개인지 배지가 붙고, 열면 "새 메시지" 구분선부터 보여줌
왜 필요해? 폰 관제의 본질은 "밥 먹고 와서 뭐가 바뀌었나 확인"인데, 읽음 커서 하나만 저장하면 배지·구분선·푸시 알림까지 전부 이 위에서 돌아가. 구현 대비 효용이 아주 좋아.
⑤ 입력창에 "보내는 곳 ▸" 이름표 2순위
엉뚱한 세션에 지시 보내는 사고 방지 — 비용은 거의 0
지금 warrenMULTI 탭에서 여러 세션이 한 화면에 떠 있고, 입력이 어디로 가는지는 ⌨ 표시뿐
pack-kit입력창 바로 위에 "보내는 곳 ▸ 허브 · ○○ 세션"이라고 크게 적어줌
왜 필요해? 팀원의 관찰이 날카로워 — 오발송은 여러 세션이 한 화면에 보이는 화면에서만 일어났대. 글 쓸 때 눈이 가 있는 곳은 화면 상단이 아니라 입력창이니까, 이름표는 읽는 자리가 아니라 쓰는 자리에 있어야 한다는 것.
⑥ 터미널 화면 위로 스크롤하면 과거가 이어짐 3순위
"방금 지나간 저 위쪽"을 볼 방법이 드디어 생김
지금 warrenClaude가 도는 판은 아무리 위로 올려도 지금 한 화면(22줄)이 전부 — tmux가 과거를 안 쌓는 특수 화면 모드라서
pack-kit위로 스크롤하면 대화 기록(트랜스크립트)에서 위쪽을 다시 그려서 이어 붙임. 대신 "여기부터 아래가 진짜 화면"이라는 경계선을 반드시 표시
왜 필요해? warren에도 대화 리더(💬)가 따로 있긴 한데, 터미널 화면을 보다가 "방금 위로 지나간 거"를 보려면 모드를 갈아타야 해. 한 화면에서 자연스럽게 이어지는 쪽이 폰에서 훨씬 편해.
🚫 안 가져올 것
우리가 이미 가졌거나, 결이 다른 것
나쁜 게 아니라 — warren에 이미 같은 역할이 있거나, 만든 사람 개인 환경에 묶인 것들이야.
✕에이전트 3형제 큐 시스템만든 사람의 개인 AI 부하 3명(이리1·하티·왈루가)을 위한 인프라. 우리는 BOARD 칸반 + mochi 야간 개발 + council 저녁 발표가 이미 상위 호환.
✕할 일 칸반 · 뉴스 지면warren의 BOARD(질문 4타입, 야간 자율 개발까지)와 SIGNAL 매거진이 이미 더 깊어.
✕quad/cs 터미널 도구2×2 터미널판·세션 시작 규약인데 기기 이름이 스크립트에 박혀 있음(본인도 한계로 인정). 우리는 mesh + Windows Terminal 프로필 + MULTI 탭으로 대체돼 있어.
✕매분 크론으로 서버 살리기우리는 systemd 서비스가 이미 더 깔끔하게 같은 일을 함.
✕Cloudflare Access 인증 방식warren은 이미 터널 + PIN 구조가 있어서 중복.
✕크림+테라코타 디자인예쁘지만 warren은 warren의 결이 있지. 디자인은 각자의 것.
💡 영감받을 것
그대로는 아니고, 우리 식으로 옮길 것
복사가 아니라 번역이 필요한 아이디어들.
"세션 = 대화방" 이라는 관점
pack-kit의 정체성. 세션 목록이 카톡 대화 목록처럼 보이고, 끝난 대화는 밀어서 숨기고, 목록 맨 아래 회색 한 줄에서 되살려. warren의 WAIT·SESS 탭을 이 감각으로 다듬으면 폰 UX가 한 단계 올라가 — 위의 ④⑤번과 한 묶음으로 가면 좋아.
"Claude에게 설치를 맡기는" 온보딩 패키징
README에 "이 문구를 Claude Code에 붙여넣으세요" 한 단락이 있고, CLAUDE.md가 설치 도우미 지침서 역할을 해(설정 고치기 전에 원본 보여주고 동의받기 등). 게다가 "솔직하게 말씀드리는 한계" 섹션까지. 나중에 warren을 팀에 공유할 때 이 포맷을 역수입하면 돼 — 팀원이 이미 이 방식으로 이식에 성공했다는 증명이기도 하고.
결정의 이유를 코드 옆에 남기는 문화
ARCHITECTURE.md에 "이상해 보이는 코드에는 그렇게 만든 이유가 적혀 있다. 읽지 않고 고치면 이미 해결된 문제를 다시 만든다"가 원칙으로 박혀 있어. 실측 데이터와 실패담까지 함께. warren README는 기능 나열형이라, 사고 기록을 이 수준으로 남기는 건 배울 만해.
"감시중"과 "작업중"을 구분하는 눈
몇 분짜리 스크립트를 돌리는 중인 세션이 "대기중"으로 잘못 보이는 문제를, 프로세스가 물고 있는 파일까지 검사해서 해결했어. warren의 상태 판정(화면 패턴+훅)에 이 신호를 보조로 섞으면 정확도가 올라가.
자잘하지만 좋은 것들
상태 색상을 CSS 파일 하나로 정본화(탭마다 색이 어긋나는 것 방지) · 대용량 파일은 64MB씩 잘라 올리기(지금 50MB 한도가 부족해지면) · 사용량 요약은 "먼저 바닥나는 한도 하나만 말한다"는 원칙(숫자를 두 개 보여주면 엉뚱한 걸 그 계정의 사용률로 읽게 됨 — ccwatch 요약에도 적용할 만해).