Roadmap — mintOps
User-facing features and improvements, per release. Public items are mirrored automatically from todos.md in the repository.
1.0 — First release (Mac App Store 2026-09-18; iPhone and iPad start with 1.1)
- Tailcat support, native herdr support, file viewer, web preview, iOS keypad and prompt composer, Mac app (done)
- Paste a connection block: one JSON block with everything a connection needs (kind, address, port, user, sign-in, password or SSH key, Tailcat identity key, name) fills every field and stores the keys from the Paste button at the top of the New Connection screen, even when copying from a terminal or an email added line breaks or curly quotes (done)
- Connect is never greyed out: pressing it highlights the missing fields in red and says what to enter, and connecting to Tailcat without an identity key (Ephemeral) warns first and needs a second press (done)
- When connecting fails, show the cause and how to fix it (for example, whether a Tailcat timeout means the identity key or a server that is down)
1.1 — Mac download 2026-10-14, first App Store version for iPhone and iPad (in review, submitted 2026-10-14)
- Built-in herdr in the Mac download updated to 0.9.5 (done)
- When the running herdr server and the herdr the app uses speak different protocols (after an app update, or with an old installed herdr), the app no longer claims “no server is running”: it shows both versions and what to run (restart the server with
herdr server stop, update the installed herdr withbrew upgrade herdrorherdr update, or update mintOps when the server is the newer one) (done) - Select and copy text in the terminal on iPad and iPhone: triple-tap selects a line, drag extends the selection, long press brings back the selection menu (the “Refresh Screen” menu goes away). Selections survive streaming output, and a “mouse” key in the key row turns on mouse mode for tmux and vim (done)
- Fix the iPhone and iPad terminal (Metal rendering) showing a stale copy of the previous line at the top and cutting off the last row after output streamed, and fix panes whose program scrolls itself (Claude Code’s fullscreen UI, no herdr scrollback) not moving when you drag up: a drag now reaches the program like a mouse wheel, so the transcript scrolls (done)
- Push notifications on iPhone and iPad (local on Mac) when an agent in herdr asks a question or finishes; tap to open that pane (done)
- Terminal scroll position stays put when the keyboard or prompt composer comes and goes: a pane scrolled up half a page keeps its top row, otherwise it stays at the bottom. Switching tabs and workspaces shows the last screen at once and refreshes it under a “Refreshing…” badge (done)
- mosh and Eternal Terminal (et) connections
- RustDesk remote desktop: with screen sharing turned on for your iCloud-connected Mac, see and control its screen from your iPhone, iPad or another Mac with one button (⇧⌘R). The password and direct-access setup sync automatically through iCloud, so nothing is asked. No screen viewing for non-iCloud connections. A compatible client that ships no RustDesk code and needs no relay server (done)
- iPad remote-screen trackpad mode: move a finger to move the cursor relatively from where it is, tap to click (default). Switch to absolute (tap where you touch) via ⋯ › Pointer (done)
- Mac server mode with iCloud sync: the Mac app runs as a server (with an option to start at login), and a Mac registered as a server shows up on iPhone and iPad through iCloud. In the other direction, client keys created on iPhone or iPad are added to the Mac through iCloud, so you can connect to the Mac moments after creating a key (done)
- The My Macs section on iPhone and iPad shows even with no Mac: install mintOps on your Mac and turn on Server Mode to see it there, with a link to download the Mac app (Korean or English page), and a reminder when iCloud sync is off (done)
- herdr built into the Mac download (Developer ID): iPhone, iPad and other Macs that connect to a Server Mode Mac always open herdr, with nothing else to install on the Mac. A herdr already installed on the Mac is still used first (done)
- Keep unsent prompt text in the app so it survives suspend and reconnect
- Prompt composer key hints: an empty composer shows the send (⌘↩) and new-line (⌥↩ on Mac) keys, and on Mac and on iPhone/iPad with a hardware keyboard a ? button explains more. On Mac, Return and ⇧↩ no longer select the whole prompt for the next keystroke to replace (done)
- One server per window on Mac: a new window shows the connection list in the middle, and connecting turns that window into the server’s screen (no server sidebar). Open more servers in new windows (⌘N); picking one that’s already open brings its window forward (done)
- “This Mac” in the Mac connection list: the app runs herdr on your Mac directly — no Remote Login, no password — with the same herdr screen as a remote server. An installed herdr is used first, the built-in one otherwise (done)
- Keyboard shortcuts on Mac and iPad: ⌘1–9 for spaces, ⌥⌘1–9 for tabs, ⇧⌘[ ⇧⌘] for previous/next tab, ⌥⌘+arrows to move between panes, ⌘D/⇧⌘D to split, ⌘W to close a pane, ⇧⌘↩ to zoom, ⌘T new tab, ⇧⌘N new space, ⇧⌘F files, ⇧⌘P web preview, ⌃⌘S sidebar. Hold ⌘ for a second to see the shortcuts on spaces and tabs (done)
- Show All Workspaces: from the View menu, see every herdr workspace in a grid with the screen you last saw in the app, and switch to, create or close workspaces there. Search and arrow keys work; on iPad, open it from the menu or pinch in with two fingers, like Safari’s tab overview. macOS window tabs (Show Tab Bar / Show All Tabs) are gone (done)
- SSH agent forwarding: turn it on for key-authenticated connections (Tailcat included) to
git pushandsshfrom the server with the app’s keys, without copying private keys there. Works in herdr panes too (one shell line points them at~/.ssh/agent-sock). Asks on the first signature with a “don’t ask again” option; the Developer ID Mac build can also forward the system ssh-agent (done) - Fix the terminal running on behind the keyboard on iPad and iPhone, with the key row drawn over the terminal text: the input bar and sidebar now measure the keyboard on their own screen, every time (done)
- Terminals always open full size, with neither the keyboard nor the prompt composer up. With the keyboard up the Prompt button steps aside, and while composing the Keyboard button does, so only one is open at a time; the composer’s X leaves the terminal on its own (done)
- Fix the iPad sidebar’s agent list running on behind the key row above the keyboard: the list now ends above the keyboard and scrolls to its last row (done)
- Fix the New Worktree, New Space and Rename name prompts on iPad not taking keyboard focus, with typing going to the terminal behind (done)
- “Scroll to bottom” button: appears half a page up, one tap lands at the bottom (done)
- Fix the iPhone input bar overlapping the key row above the keyboard (done)
- Fix typing not reaching the focused pane until a second tap: the keyboard follows the pane on session and screen switches and on tap (done)
- Light and dark mode following the system setting, including the terminal (background, ANSI colors, cursor) and file viewer (done)
- Remember connected sessions across suspend and app restarts, and reconnect the last one to the same herdr workspace, tab and pane (done)
- Fix the sidebar “Spaces” title row (new space, hide sidebar) scrolling away with the space list: the title now stays pinned above the list (done)
- herdr worktrees: worktree spaces grouped under their repository, plus create, open, delete checkout and close space from the app (done)
- Show the primary checkout’s branch (e.g. main) as a second line on the worktree group’s head row in the iPad and Mac sidebar, like herdr (done)
- Copy button in the file viewer: text files as text, images as images, straight to the clipboard (done)
- Tapping a pane’s terminal area activates the pane (blue border) like tapping its header — before, only the keyboard moved (done)
- Screen refresh that reaches the Claude Code running inside the pane, not only herdr
- Agent push notifications are free up to 50 a day per device; one notice when the limit is reached, today’s count in Settings (done)
1.2 — Next release
- Terminal text selection and copy, rebuilt: on iPhone and iPad the terminal stays read-only until you turn on the Keyboard button, and meanwhile you select text with touch and hold or a double tap (a word) or a triple tap (a line), drag an end to extend it, and copy it; a one-finger drag always scrolls. What you selected is what gets copied, even while output streams, and long lines stay whole. On Mac, copy from the right-click menu (done)
- Web preview: each server tab keeps its page cache on the device so it opens fast next time (per-tab limit, 200 MB by default, adjustable in Settings with Clear All), the last server tab and its address reopen, and ⓘ on the selected tab shows the process, directory, ports, addresses and cache usage with Clear Cache. Cookies and sign-ins are not kept (done)
- Tailcat sessions dropping every minute: two tunnels with the same key to the same server kept knocking each other out, so sessions now share one tunnel, and a single slow liveness check no longer disconnects (it is retried after 5 seconds) (done)
Later
- Show selection drag handles in the terminal with Metal rendering on (SwiftTerm draws them only on the CoreGraphics path) (done)
- Selection handles land mid-character on Korean and other double-width text (done)
- Show earlier output while scrolling with no blank rows (herdr scrollback API)
- Live Activity on the lock screen and Dynamic Island showing how many agents are waiting, a follow-up to agent notifications