Developer Tools

Local dev needs an exit ramp

2 min read

A local development loop should tell you how to leave.

Starting the app is only half the contract. The other half is how you stop, reset, and recover when the port is stuck or the last session left a mess behind.

stop without guessing

Local dev should make the exit visible: start, stop, reset, logs, and a clear note about what each script owns. If that path is not obvious, the loop is already too fragile.

I want one command that shuts the process down cleanly, even if I started it three hours ago and forgot which terminal tab owns it. If the app wrote a PID file, use it. If it bound a port, free the port. If it opened a browser session, close the tab or at least tell me which tab still points at the old state.

reset without drama

Reset is different from stop.

Stop means the process is gone. Reset means the process is gone and the local junk is gone too: stale cache, old lockfile, temp data, orphaned sockets, whatever the app uses to pretend it is persistent.

I like a reset script when it is explicit about scope:

pnpm dev:stop
pnpm dev:reset
pnpm dev:logs

That is enough if the scripts have narrow jobs. The first one ends the process. The second one clears local state. The third one helps me see why I needed the first two.

recovery is the real test

The failure mode that matters is not “the server crashed.” The failure mode is “I do not know how to get back to a clean baseline.”

That is where the exit ramp pays for itself. A good dev loop tells me what to do when the port is stale, the migration is half-applied, or the app is now holding onto a bad bit of local state. It should not require a ritual, a browser cache purge, and a memory of the last four commands I ran.

If the scripts make recovery obvious, local dev feels calm. If they do not, every small failure becomes a tiny archaeology project.

Jeremy London

About Jeremy London

Engineering leader and builder in Denver. I write about AI platforms, agents, security, reliability, homelab infrastructure, and the parts of engineering work that have to survive production.