A keyboard-first way to manage and start your local dev servers from Raycast. See everything running grouped by project, jump into any one in the browser or your terminal, kill stragglers individually or in bulk, restart with the right package manager, and spin up a new server from a Finder selection or a recent project, all without leaving Raycast.
node_modules/, plus servers running on the Bun runtimemyapp.localhost) as the row title, with the localhost:PORT pill alongside for when you still need the raw loopback target/favicon.ico fallback), inlined so they render even when the dev server isn't CORS-friendly, and cached across refreshesbun badge when the listening process is genuinely running on Bun⌘N from any row, or ↵ from the empty state, opens the Start Dev Server picker⌘L on any row; the view live-tails the captured stdout/stderr while open, so you can watch a slow boot or diagnose a crash in place⌘⌥C) copies http://<lan-ip>:<port> for testing on a phone or another device, offered only when the server is actually bound beyond loopback. Copy Port (⌘⌥P) grabs just the number for env files⌘E once you set the Editor App preference (VS Code, Cursor, Zed, …)⌘RSpin up a dev server without opening a terminal. There are three ways in:
package.json, or a Shopify theme/app root), detects the package manager, picks the right dev script, and starts it. Select several folders to start them together (monorepo siblings, a "frontend + backend" pair). The dashboard opens immediately and a "Starting…" toast tracks each one until it binds a port.If a target is already running, you get a single consolidated prompt to restart it (or restart the running ones and start the rest) rather than a cascade of dialogs. If a server doesn't bind a port within 15 seconds, the toast escalates to a failure with a View Startup Log action so a misconfigured setup is diagnosable in place.
The script picker tries dev → start → develop first, then scans script values for known dev-server tools, so monorepo conventions like dev:web and start:dev resolve out of the box.
Shopify projects work too: a theme folder (marked by layout/theme.liquid, no package.json needed) starts with shopify theme dev, and an app root (shopify.app.toml) without a dev script falls back to shopify app dev. Scaffolded Shopify apps and Hydrogen storefronts start through their normal dev scripts. One caveat: the Shopify CLI prompts for login and store selection on first use, which a background spawn can't answer; run shopify theme dev --store <your-store> once in a terminal, after which the CLI remembers the store and the extension starts it cleanly.
Picker row actions: Start (↵), Open in Editor (⌘E, when the Editor App preference is set), Open in Terminal (⌘T), Show in Finder (⌘⇧F), Copy Path (⌘C), Remove from Recents (⌃X).
Dashboard (Dev Servers):
| Action | Shortcut |
|---|---|
| Open in Browser | ↵ Enter |
| Open Localhost URL | ⌘ ↵ |
| Restart Server | ⌘ ⇧ R |
| Kill Server | ⌃ X |
| Copy URL | ⌘ C |
| Copy Localhost URL | ⌘ ⇧ C |
| Copy Network URL | ⌘ ⌥ C |
| Copy Port | ⌘ ⌥ P |
| Open in Editor | ⌘ E |
| Open in Terminal | ⌘ T |
| Show in Finder | ⌘ ⇧ F |
| Start Dev Server | ⌘ N |
| View Startup Log | ⌘ L |
| Refresh | ⌘ R |
| Kill All for Project | ⌃ ⇧ X |
| Kill All Servers | ⌃ ⌥ X |
Shared
⌘T opens, for both commands. Defaults to macOS Terminal if unset.⌘E opens a project in (VS Code, Cursor, Zed, …). The action is hidden until this is set.Dev Servers
localhost:PORT pill that appears alongside custom domains.Start Dev Server
Port Manager is built around ports. Dev Servers is built around projects.
Port Manager shows every listening process the same way (Postgres, Docker, SSH tunnels, dev servers). Dev Servers shows only the dev servers, groups them by project, identifies the framework, restarts with the right package manager, and can start new ones for you. The two are complementary.