If you keep a dozen projects in one folder, you know the ritual. cd into a repo. Try to remember whether it's npm run dev or npm start. Launch it. Launch a second one — and watch both fight over port 5173. An hour later, find the stray node process still holding a port from yesterday.
I got tired of the wall of terminal tabs, so I built Mission Control: a local-only dashboard that auto-detects every dev project in a folder, figures out how to launch each one, and runs them all at once on collision-free ports.
Point it at your projects root. It figures out the rest.
There's no config file to write and no list of project names to maintain. Mission Control scans your projects folder and infers each project's type and dev command from its own files — package.json, framework configs, pyproject.toml. It recognizes Vite (React/Vue/Svelte/Phaser), Next, Astro, Electron, Express/Fastify/Koa, static HTML sites, Python/FastAPI, Telegram bots, npm-workspace monorepos, and backend/ + frontend/ splits.
Run many at once, never a port clash
Every project gets a unique port from a configurable range (default 4000–4099), injected at launch via the right mechanism per framework — PORT env plus the correct CLI flag. Start five servers at the same time and they're all isolated. Pinning, seeding, and clash-reallocation are deterministic, so the same project lands on the same port each run.
And when you press stop, it means stopped: a Windows process-tree kill (taskkill /T /F) so nothing is left holding a port. It guards against double-starts and refuses to clobber a port already held by a foreign process.
Everything in one view
- Live logs — ANSI-cleaned, streamed over WebSocket, with filter/follow/clear
- Git at a glance — branch, dirty count, ahead/behind, last commit
-
Health — published npm/PyPI version and GitHub CI status via
gh, cached -
Friendly failures — missing
node_modules? One-click install (npm oruv), streamed live. Drop a new folder in and it animates into the grid via a filesystem watcher, no restart.
What it is NOT
Honesty matters, so: it's not cloud (binds 127.0.0.1, never 0.0.0.0), not multi-user, not a deploy tool, and not telemetry-backed. It launches the same dev commands you'd run by hand. Built and tested primarily on Windows.
It's MIT on GitHub: https://github.com/JoniMartin27/launchpad
Top comments (0)