
Who
I run a pile of Next/Bun apps on one Mac and got tired of remembering which project owns which port — and of typing localhost:3xxx when the hostname should just be the project name.
What
Private michaelmonetized/devhost · v1.0.0 · HEAD db69995 · 1 commit (+1426 / 14 files). Bun CLI + Ink/React TUI that:
devhost add— readspackage.jsonname, requiresscripts.dev, assigns next port from 3001, registers<name>.localhost- Writes
~/.config/devhost/config.json+ auto Caddyfile + marker-bounded/etc/hostsblock devhost start— ensures Caddy, spawnsbun run dev --port N(envPORT/HOSTNAME), tracks PID, openshttp://<name>.localhost- Bare
devhost— Ink manager: start/stop/open + Caddy toggle


Where
github.com/michaelmonetized/devhost (private). No product domain. Config lives at ~/.config/devhost/. On pack machine m1Pro13 the live config still has bestwnc-com.localhost → :3001. Sibling story: bundx-init patches Next repos for HTTPS .localhost on :443; devhost is the HTTP :80 multi-host lifecycle TUI.

When
2026-02-15 — sole commit db69995 Initial commit (Caddy + Ink TUI + CLI + hosts + ports). Queue pushed_at 2026-06-22 (nightly/metadata push; tree still one commit). No follow-up features in git.

Why
Port roulette does not scale past three apps. A marker-bounded hosts block + one Caddyfile + a TUI that knows PIDs is the boring operator loop I actually run. HTTP on :80 is intentional — this is not the Clerk-friendly HTTPS path (that's bundx-init).
Engagement Q: Do you want a TUI that owns /etc/hosts + Caddy :80 — or a one-shot installer that patches each Next repo for HTTPS .localhost?
