Zero-thinking port management for local development.
Automatic ports, *.pa.local DNS, zero-config HTTPS —
never see "port already in use" again.
$ pa run --name=api --prefer=3000 -- npm run dev # port 3000 in use? no problem. ✓ assigned port 60001 ✓ dns configured: api.pa.local ✓ tls ready: https://api.pa.local → server running at https://api.pa.local
Port conflicts, ugly URLs, and HTTPS warnings — cleared before you open a browser. Each is a small problem that compounds across a development career.
3000 in use? Harbormasterd finds an open one, instantly. No more killing processes, rewriting configs, or appending :8081 to every URL. Process exits — lease released. Next start reclaims the same port until you don't.
*.pa.local URLsmyapp.pa.local — local resolver, zero /etc/hosts edits per project.
mkcert certificates issued on demand. Trust once, forget browser warnings forever.
Install from PyPI, start the daemon, run the one-time trust + DNS setup. Then forget harbormasterd exists.
Three CLIs ship in the box: pa for daily dev, pa-platform for one-time setup, pad for the daemon. Most users only need the first.
Cross-platform: Linux, macOS, WSL. Python 3.10+. MIT licensed.
# 1. install $ pip install harbormasterd # 2. start the daemon $ pad & # 3. one-time setup — trust certs + dns $ pa-platform tls trust $ pa-platform dns install # 4. run anything — port, dns, https handled $ pa run --name=myapp --prefer=3000 -- npm run dev → https://myapp.pa.local