Take control of your local dev workflow.
Manage worktrees, localhost ports, and development environments from one native macOS app.
Built for developers using
Why Helm
Local development has a complexity problem.
Worktrees, branches, dev servers, terminals — your machine runs five things at once and the cognitive overhead is entirely on you. Helm gives that workflow a single, calm home.
Features
Built around how you actually work.
Workspaces, not chaos
Group your repos by what you're working on — work, side projects, client gigs. One click switches the whole context.
Auto-detects running dev servers
Helm watches the processes in each repository and surfaces dev servers you forgot you started. One click to track with the right port.
No more port collisions
Helm assigns ports per project and injects PORT= when you start. No more "port 3000 in use — using 3001 instead." Each branch gets its own.
Quick actions, always
Open in Cursor, jump to Terminal, hit localhost in the browser — one click each, from any card. Your editor and shell are right there.
⌘K everywhere
Spotlight-style search across every workspace and repository. Arrow keys to navigate, enter to open. You're never more than a keystroke from anywhere.
Native, calm, fast
Pure SwiftUI macOS app. No Electron, no background daemons, no telemetry. Under 1 second to launch, under 50 MB resident.
Pricing
Free during the beta.
Helm is in active development. Use the whole thing free while we polish it. A one-time Pro tier ships when v1 lands.
- Unlimited workspaces & repositories
- Auto-detect dev servers
- Port management + PORT injection
- Quick actions to Cursor, Terminal, Browser
- ⌘K global search
- Sparkle auto-updates
macOS 14+ · Apple Silicon · Native SwiftUI
FAQ
Common questions.
Which terminals does Helm work with?
Terminal.app and iTerm get full scripted support — Helm opens a new window, cd's into the worktree, and runs your start command. Ghostty also fully supported via its CLI flags. Warp, kitty, and Alacritty open at the path; you type the command yourself there.
Does it modify my git repos or worktrees?
Only when you explicitly create a new worktree from inside Helm. The default add-repository flow just tracks the current branch of your existing checkout — no git writes, no config changes.
How does port management actually work?
Helm assigns each service a port from your configured range (defaults to 3000–4000). When you click Start, Helm runs your command with PORT=<n> prefixed. Most modern dev tools (Next.js, Vite, Bun, Express, Astro) respect $PORT. If your package.jsonhardcodes a port via CLI flag, that wins — drop the flag and Helm takes over.
Does Helm send any data anywhere?
No. No accounts, no analytics, no telemetry. The only outbound network request is a periodic check for app updates. Everything else — your workspace list, port assignments, service commands — lives in a local SQLite file under your Application Support.
What macOS version do I need?
macOS 14 (Sonoma) or newer. Apple Silicon optimized.
Multiple worktrees of the same repo on different branches?
Supported under the hood (Helm tracks branch + worktree path separately from the repo path), but the multi-worktree UI ships in a follow-up update. For now the default flow tracks your current branch — exactly what most people need most of the time.
Still stuck? hello@tinyappstudio.io.