로드맵 — mintOps
사용자에게 보이는 기능과 개선을 릴리스 단위로 적습니다. 저장소의 todos.md에서 공개 항목만 자동으로 옮겨 옵니다.
1.0 — 첫 출시 (Mac App Store 2026-09-18, iPhone·iPad는 1.1로)
- Tailcat 지원, herdr 네이티브 지원, 파일 뷰어, 웹 미리보기, iOS 키패드·프롬프트, Mac 앱 (2026-09-16) (완료)
- 연결 블록 붙여넣기: 접속 정보 전부(종류·주소·포트·사용자·인증·비밀번호나 SSH 키·Tailcat 신원 키·이름)를 담은 JSON 하나를 새 연결 화면 맨 위 Paste로 붙여넣으면 모든 칸이 채워지고 키도 저장된다. 터미널·이메일에서 복사해 줄바꿈·둥근 따옴표가 섞여도 읽는다 (intent/261014-easy-connect-form) (2026-10-14) (완료)
- Connect가 회색으로 꺼지지 않고, 누르면 빠진 칸을 빨갛게 표시하고 무엇을 넣어야 하는지 말해 준다. Tailcat 신원 키 없이(Ephemeral) 접속하려 하면 경고하고 한 번 더 눌러야 접속 (intent/261014-easy-connect-form) (2026-10-14) (완료)
- 접속에 실패하면 원인과 해결 방법을 화면에 분명히 표시 (예: Tailcat 시간 초과가 신원 키 탓인지 서버가 꺼진 탓인지)
1.1 — Mac 다운로드판 2026-10-14, iPhone·iPad 첫 App Store 버전(심사 중, 2026-10-14 제출)
- Mac 다운로드판의 내장 herdr를 0.9.5로 (2026-10-25) (완료)
- 돌고 있는 herdr 서버가 앱이 쓰는 herdr와 프로토콜이 다르면(앱 업데이트 뒤, 또는 설치된 herdr가 옛것일 때) “서버 없음”으로 잘못 보여 주지 않고, 서버·앱 herdr의 버전과 할 일(서버 재시작
herdr server stop, 설치본 업데이트brew upgrade herdr/herdr update, 반대 방향이면 mintOps 업데이트)을 명령과 함께 안내 (intent/261025-herdr-protocol-mismatch) (2026-10-25) (완료) - iPad·iPhone 터미널에서 텍스트 선택·복사: 트리플탭 줄 선택, 끌어서 범위 늘리기, 길게 누르기를 SwiftTerm 선택 메뉴로 돌려주고 “Refresh Screen” 메뉴는 없앰. 출력이 흘러도 선택이 남고, 키 줄의 “mouse” 키로 tmux·vim 마우스 모드를 켬 (intent/260917-terminal-copy-text) (2026-09-17) (완료)
- iPhone·iPad 터미널(Metal 렌더링)에서 출력이 흐른 뒤 맨 윗줄에 이전 줄의 복사본이 보이고 마지막 행이 잘리던 문제, 그리고 Claude Code 전체 화면처럼 프로그램이 직접 스크롤하는 pane(herdr 스크롤백 없음)에서 위로 끌어도 움직이지 않던 문제: 이제 끌면 휠처럼 프로그램에 전달돼 transcript가 올라간다 (intent/261025-terminal-scroll-bottom) (2026-10-25) (완료)
- herdr 안의 에이전트가 질문하거나(승인·선택) 일을 끝내면 iPhone·iPad에 푸시 알림, Mac은 로컬 알림. 탭하면 그 pane으로 (intent/260917-agent-notifications; relay 배포·실기기 확인은 남음) (2026-09-17) (완료)
- 키보드·프롬프트 창이 뜨고 사라져도 터미널 스크롤 위치가 그대로: 반 페이지 이상 올린 pane은 맨 위 줄을, 아니면 맨 아래를 지킨다. 탭·워크스페이스를 오갈 때 마지막 화면을 바로 보여 주고 “Refreshing…” 표시 아래서 갱신 (intent/260918-scroll-anchor-frame-cache) (2026-09-18) (완료)
- mosh, Eternal Terminal(et) 접속 지원
- RustDesk 원격 화면: iCloud로 연결된 내 Mac에서 화면 공유를 켜면, iPhone·iPad·다른 Mac에서 버튼 하나(⇧⌘R)로 그 화면을 보고 조작한다. 비밀번호·직접 접속 설정은 iCloud로 자동 전달되어 묻지 않는다(임의 비밀번호, 사용자에게 안 보임). iCloud로 연결되지 않은 접속에는 화면 보기가 없다. RustDesk 코드를 넣지 않은 호환 클라이언트, 중계 서버 불필요 (intent/260927-rustdesk-remote-desktop, intent/260930-rustdesk-icloud-gated) (2026-09-30) (완료)
- iPad 원격 화면 트랙패드 모드: 손가락을 움직이면 현재 커서 위치에서 상대적으로 움직이고 탭하면 클릭(기본). 터치한 곳에 바로 클릭하는 절대 모드와
⋯› Pointer로 전환 (intent/260930-ipad-pointer-modes) (2026-09-30) (완료) - Mac 서버 모드와 iCloud 동기화: Mac 앱이 서버 모드(로그인 시 자동 시작 옵션 포함)로 돌고, 서버로 등록하면 iCloud를 통해 iPhone·iPad에 그 Mac이 자동으로 나타남. 반대로 iPhone·iPad에서 만든 클라이언트 키가 iCloud로 Mac에 자동 추가되어, 키를 만들고 잠시 뒤 바로 Mac에 접속 (intent/260927-icloud-sync) (2026-09-28) (완료)
- iPhone·iPad 접속 목록의 My Macs 칸이 Mac이 없어도 보이고, “Mac에 mintOps를 설치해 서버 모드를 켜면 여기 나타난다”는 안내와 Mac 앱 내려받기 링크(한국어·영어 페이지)를 준다. iCloud 동기화가 꺼져 있으면 그것도 알려 준다 (intent/261014-my-macs-mac-download) (2026-10-14) (완료)
- Mac 다운로드판(Developer ID)에 herdr 내장: 서버 모드 Mac에 iPhone·iPad·다른 Mac이 접속하면 Mac에 herdr를 따로 설치하지 않아도 언제나 herdr 화면으로 들어간다. Mac에 herdr가 설치돼 있으면 그것을 그대로 쓴다 (intent/261001-herdr-embedded-mac) (2026-10-01) (완료)
- 프롬프트 창에 쓰던 내용을 보내기 전까지 앱에 저장해, 앱이 멈췄다가 다시 접속해도 그대로 남게
- 프롬프트 창 키 안내: 빈 창에 보내기(⌘↩)·줄바꿈(Mac은 ⌥↩) 키를 보여 주고, Mac과 하드웨어 키보드를 붙인 iPhone·iPad에서는 ? 버튼으로 자세한 설명. Mac에서 Return·⇧↩를 누르면 쓴 글이 전체 선택되어 다음 글자에 지워지던 문제 수정 (intent/261009-prompt-enter-newline) (2026-10-09) (완료)
- Mac 창 하나에 서버 하나: 창을 열면 접속 목록이 창 가운데에 뜨고, 접속하면 그 창이 서버 화면이 됨(서버 목록 사이드바 없음). 여러 서버는 새 창(⌘N)으로, 이미 열린 서버를 누르면 그 창으로 이동 (intent/260927-mac-connection-list) (2026-09-27) (완료)
- Mac 접속 목록에 “This Mac”: 원격 로그인·암호 없이 앱이 이 Mac의 herdr를 직접 실행해 원격 서버와 똑같은 herdr 화면으로. 설치된 herdr가 먼저, 없으면 앱에 내장된 herdr (intent/260927-mac-connection-list, intent/261013-this-mac-local-herdr) (2026-10-13) (완료)
- Mac·iPad 키보드 단축키: ⌘1
9 space, ⌥⌘19 탭, ⇧⌘[ ⇧⌘] 이전·다음 탭, ⌥⌘화살표 pane 이동, ⌘D·⇧⌘D 분할, ⌘W pane 닫기, ⇧⌘↩ 줌, ⌘T 새 탭, ⇧⌘N 새 space, ⇧⌘F 파일·⇧⌘P 웹 미리보기, ⌃⌘S 사이드바. ⌘를 1초 누르면 space·탭에 단축키 표시 (intent/260927-mac-keyboard-shortcuts) (2026-09-27) (완료) - 모든 워크스페이스 보기: 보기 메뉴에서 herdr의 모든 워크스페이스를 격자로 펼쳐 앱에서 마지막으로 본 화면을 보고, 골라서 옮겨 가거나 새로 만들고 닫는다. 검색·화살표 키 지원, iPad는 메뉴와 두 손가락 오므리기(Safari 탭 개요처럼). macOS의 창 탭 기능(탭 막대 보기·모든 탭 보기)은 뺐다 (intent/260927-mac-workspace-overview) (2026-09-27) (완료)
- SSH agent forwarding: SSH 키로 접속하는 연결(Tailcat 포함)에서 켜면 서버에 개인 키를 두지 않고 앱의 키로
git push·ssh. herdr pane에서도 된다(pane 셸이~/.ssh/agent-sock을 쓰도록 한 줄 설정). 첫 서명 때 묻고 “다시 묻지 않기” 선택, Developer ID Mac 빌드는 시스템 ssh-agent도 전달 (intent/260926-ssh-agent-forwarding) (2026-09-27) (완료) - iPad·iPhone에서 키보드가 올라와 있는데 터미널이 키보드 뒤까지 이어지고 키 줄(esc·ctrl…)이 터미널 글자 위에 겹치던 문제: 입력 바와 사이드바가 키보드 높이를 자기 화면에서 그때그때 잰다 (intent/260927-keyboard-overlap-input-default) (2026-09-27) (완료)
- 터미널은 항상 키보드·프롬프트 창 없이 전체 크기로 열린다. 키보드가 떠 있으면 Prompt 버튼이, 프롬프트 창이 열려 있으면 Keyboard 버튼이 숨어 한 번에 하나만 쓰고, 프롬프트 창의 X는 아무것도 없는 상태로 돌아간다 (intent/260927-keyboard-overlap-input-default) (2026-09-27) (완료)
- iPad 사이드바 Agents 목록이 키보드 위 키 줄(esc·ctrl…) 뒤로 이어지던 문제: 목록이 키보드 위에서 끝나고 마지막 행까지 스크롤된다 (intent/260917-agents-sidebar-keyboard) (2026-09-17) (완료)
- iPad에서 New Worktree·New Space·Rename 이름 입력창에 키보드 포커스가 가지 않고 글자가 뒤 터미널로 들어가던 문제 (intent/260918-new-worktree-focus) (2026-09-18) (완료)
- 터미널 “맨 아래로” 버튼: 반 페이지 이상 올라가면 나타나고 누르면 한 번에 맨 아래로 (2026-09-16) (완료)
- iPhone 입력 바가 키보드 위 키 줄(esc·ctrl…)과 겹쳐 그려지는 버그 (2026-09-16) (완료)
- pane에 포커스 테두리가 켜져도 키 입력이 다른 곳으로 가서 한 번 더 눌러야 하던 문제: 세션·화면 전환과 탭에서 입력 대상을 다시 맞춤 (2026-09-17) (완료)
- 시스템 설정에 따른 라이트·다크 모드 전환. 터미널 안(배경·ANSI 색·커서)과 파일 뷰어까지 함께 (intent/260917-light-dark-mode) (2026-09-17) (완료)
- 앱을 나갔다 돌아오거나 앱이 종료돼도 접속했던 세션을 잊지 않고, 마지막 세션은 같은 herdr 워크스페이스·탭·pane으로 자동 재접속 (2026-09-17) (완료)
- 사이드바 “Spaces” 제목 줄(+, 사이드바 숨기기)이 space 목록과 함께 스크롤돼 사라지던 문제: 제목 줄을 목록 위에 고정 (intent/260917-sidebar-spaces-header) (2026-09-17) (완료)
- herdr worktree: 브랜치별 worktree space를 원본 저장소 아래 묶어 보여 주고, 만들기·열기·checkout 삭제·space 닫기를 앱에서 (2026-09-17) (완료)
- iPad·Mac 사이드바의 worktree 묶음 머리에 원본 checkout의 브랜치(예: main)를 herdr처럼 두 번째 줄로 표시 (intent/260926-show-main-worktree) (2026-09-27) (완료)
- 파일 뷰어 전체 보기에 복사 버튼: 텍스트는 글자로, 이미지는 이미지로 클립보드에 (2026-09-17) (완료)
- pane의 터미널 영역을 터치하면 헤더를 터치할 때처럼 그 pane이 활성(파란 테두리)이 되게 — 전에는 키 입력만 옮겨 가고 테두리는 남았다 (2026-09-17) (완료)
- 화면 새로고침이 herdr만이 아니라 그 안의 Claude Code까지 다시 그리게 (herdr에 refresh를 보내는 데서 그치지 않고 pane 안 프로그램이 반응하도록)
- 에이전트 푸시 알림은 기기당 하루 50건까지 무료. 한도에 닿으면 알림 한 번, 설정에서 오늘 사용량 표시 (intent/260918-relay-quota-and-abuse; 앱 쪽은 2026-10-09 main 병합) (2026-10-09) (완료)
1.2 — 다음 릴리스
- 터미널 텍스트 선택·복사 다시 만들기: iPhone·iPad 터미널은 Keyboard 버튼을 켜기 전까지 읽기 전용이고, 그동안 길게 누르기·더블탭(단어)·트리플탭(줄)으로 고르고 끝을 끌어 늘려 복사한다(한 손가락 끌기는 늘 스크롤). 출력이 흘러도 선택한 글자가 그대로 복사되고 긴 줄이 끊기지 않는다. Mac은 오른쪽 클릭 메뉴로 복사 (intent/261019-read-only-terminal-selection) (2026-10-19) (완료)
- 웹 미리보기: 서버 탭마다 페이지 캐시를 기기에 남겨 다시 열 때 빨리 뜨고(탭별 한도, 기본 200 MB, 설정에서 조절·전체 비우기), 마지막으로 보던 서버 탭과 그 주소를 다시 열어 주며, 선택한 탭의 ⓘ로 프로세스·디렉터리·포트·주소·캐시 사용량을 보고 캐시를 비울 수 있다. 쿠키·로그인은 남기지 않는다 (intent/261025-web-preview-cache-restore) (2026-10-25) (완료)
- Tailcat 접속이 1분마다 끊기던 문제: 같은 키로 같은 서버에 터널이 둘 서서 서로 끊던 것을 터널 하나를 세션끼리 공유하도록 고치고, 연결 확인이 한 번 늦었다고 바로 끊지 않고 5초 뒤 한 번 더 확인한다 (intent/261028-tailcat-dup-tunnel) (2026-10-28) (완료)
나중에
- Metal 렌더링이 켜져 있으면 터미널 선택 영역의 끌기 핸들이 안 보임(SwiftTerm이 CoreGraphics 경로에서만 그림). 앱이 오버레이로 직접 그리기 (intent/260917-terminal-copy-text 후속; intent/261019 R12
SelectionHandleOverlay) (2026-10-25) (완료) - 터미널 선택 핸들이 한글 등 2칸 글자 위에서 정확한 위치를 못 잡고 글자 중간에 걸림 (Metal 끔 상태에서 확인, 2026-09-18; intent/261019 R7, 선택 끝을 글자 경계로 맞춤) (2026-10-25) (완료)
- 스크롤 중 빈 줄 없이 이전 출력이 바로 보이게 (herdr 스크롤백 API)
- 잠금화면·Dynamic Island에 “대기 중인 에이전트 n개”를 상시 표시(Live Activity). 에이전트 알림(intent/260917-agent-notifications)의 후속