cd /news/developer-tools/devctl-a-handy-way-to-manage-many-de… · home topics developer-tools article
[ARTICLE · art-70418] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Devctl, a handy way to manage many dev servers

Devctl, a new open-source tool for macOS, provides a menu bar command center and CLI for managing local dev servers, designed to prevent coding agents from losing track of servers they started. The tool, built by developer quantizor, uses a launchd-supervised daemon to own server processes, ensuring servers, logs, and crash forensics persist across sessions. Devctl offers idempotent commands like 'devctl ensure web' and a 'why' command for root-cause diagnosis, with a full CLI contract and support for project-level configuration via devservers.json.

read2 min views1 publishedJul 23, 2026
Devctl, a handy way to manage many dev servers
Image: source

A macOS menu bar command center for local dev servers, built so coding agents never lose track of the servers they started.

A launchd-supervised daemon owns every server process. Sessions come and go, contexts compact, terminals close: the servers, their logs, and their crash forensics stay. A CLI designed for agents (stable --json

everywhere) and a quiet menu bar app for you sit on top of the same unix socket.

Agents forget their dev servers. After a context compaction they spawn duplicates, tail dead logs, and fight over ports. devctl gives them one idempotent verb (devctl ensure web

) that always lands in the same place, a session hook that re-teaches every new or compacted session what is running, and a why

command that turns a broken server into a root-cause diagnosis.

(Your agent can do all of this for you, just point them at the repo.)

make install          # binaries to ~/.local/bin, app to /Applications, daemon installed
cd your-project
devctl register --name web --cmd bun --cmd run --cmd dev --port 3000
devctl ensure web     # idempotent: healthy is a no-op
devctl why web        # root cause when something breaks
devctl hook install   # Claude Code sessions rediscover servers automatically

Or commit a devservers.json

at the project root (multiple servers, dependencies, healthchecks, *.localhost

host signatures, multi-headed proxies, lifecycle playbooks); devctl up

brings the whole project up in dependency order. The full CLI contract lives in docs/cli-contract.md.

devctld

: the daemon. Spool-file output capture (children survive daemon restarts without SIGPIPE), process-group plus descendant-sweep teardown, health-gated phases, crash forensics, structured logs with correlation marks, a unified event feed.devctl

: the CLI.ensure

,wait

,up

/down

,logs --since-mark

,mark

,events

,why

,open

,switch

,lock

( servers sharing a resource while a test harness runs),doctor

, and launchd management. Agents are the first-class consumer.devctl.app

: the menu bar. Presence dots with counts, per-project rows with click-to-open heads (pinnable), crash notifications, a dashboard with live logs, an event timeline, and a validating config editor. Every server and head is Spotlight-searchable.

make build

and make test

; scripts/smoke.sh

is the end-to-end gate. No Xcode required, ever: the app bundle is assembled by a checked-in script. See CLAUDE.md

for the codebase map and CONTRIBUTING.md

for adding an agent-harness adapter.

── more in #developer-tools 4 stories · sorted by recency
── more on @devctl 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/devctl-a-handy-way-t…] indexed:0 read:2min 2026-07-23 ·