How do I run this project again?
Forgot how to run a project you haven’t opened in months? Find its dev commands in package.json, Compose files and Cargo, then have localhost remember them.
Look where projects keep their commands. From the project’s folder:
npm run # lists package.json scripts (pnpm run, yarn run, bun run too)
docker compose config --services # the Compose services, if there is a compose.yaml
cat Procfile Procfile.dev # a Procfile runner's processes
ls .nvmrc .tool-versions mise.toml # which Node, Python or Ruby it expects
cat .env.example # the variables it needs
Then read the README’s “Development” section, if it has one.
Where does a project keep its dev commands?
Most projects say how they run somewhere in their own files:
- Node.js and Bun: the
scriptsinpackage.json. Look fordev,startorserve; in a monorepo, in each package’spackage.jsontoo. - Docker Compose:
compose.yamlordocker-compose.yml, one service per database, queue or app. - Procfile:
ProcfileorProcfile.dev, one process per line. - Python:
manage.py runserverfor Django,fastapi devoruvicornfor FastAPI,flask runfor Flask, run with uv, Poetry, Pipenv or a virtualenv. - Rust:
cargo run, with--bin <name>when there are several binaries (insrc/bin/or[[bin]]inCargo.toml). - A Makefile or justfile:
make dev,just dev.
Why do I keep forgetting how to run it?
Because the answer is spread out. The commands are in one file, the order they start in is in your head, the ports in another file, the variables in a .env you didn’t commit, and the version of Node in a tool you set up a year ago. Coming back to a project means putting that together again, and so does every coding agent that touches it.
How can localhost remember how each project runs?
localhost is a free, open-source desktop app that remembers how each of your projects runs: its commands, ports and environment. You set a project up once; after that, you open localhost, pick the Project and press Start All.
- Add the folder (⌘N, or Ctrl+N). localhost reads it and suggests Services:
package.jsonscripts with your package manager, one Service per Compose service, Django, FastAPI and Flask apps, andcargo runfor each binary. It looks at the folder, the folders up to two levels below it, and workspace packages and Cargo members. Scanning only reads: nothing is written, and nothing goes over the network. - Check the suggestions. The likely ones are checked, the rest folded away, and you can edit each before anything is saved. Nothing found? Add your own commands: anything your terminal runs.
- Write down what you used to remember. Make the API start after the database, give each Service its Port, and put variables on the Project, the Service or an Environment Profile. Any variable can be a Secret, kept in your system’s secret store.
localhost keeps all of it in its own storage, never in your project’s folder. To move a Project to another machine, or hand it to a teammate, Export Project… writes it as a small YAML Project file, with Secrets listed by name only, and Import Project… reads it back after showing what it contains.
Can I run it from the terminal, or let an agent run it?
Yes. The localhost command runs on the same Projects: localhost projects lists them, and localhost up my-saas runs a Project’s Services in the foreground until Ctrl-C (Command line). Coding agents such as Claude Code, Cursor and Codex start the same Services through localhost mcp, instead of guessing at npm run dev.
Start here: Quick start.
FAQ
Does localhost write a config file into my project?
No. A Project’s configuration lives in localhost’s own storage, never in its folder. A YAML Project file is written only when you export one.
What if localhost doesn’t detect my project’s commands?
Add the Project anyway and add Services yourself (⇧⌘N, or Ctrl+Shift+N): any command line your terminal runs. Detect Services… scans the folder again later.
How do I share the setup with my team?
Export Project… writes a YAML Project file, with Secrets listed by name only. A teammate imports it, sees everything it contains before it is added, and fills in the Secrets.
Which version of Node or Python does localhost use?
Whichever your terminal uses: commands run in your login shell, so nvm, asdf, mise, pyenv and Homebrew apply. On Windows they run in cmd.exe with your user environment, read fresh at every start.