Humans and agents live adjacently.
Adjacent is a local dev-server harness — one supervised dev server that you and your agent share, behind a real URL.
When you and your agent need the same local server, you evict each other. The agent takes the process — you lose the logs. You take it back — the agent can't verify its work.
Adjacent supervises the server so neither of you has to own it. One daemon boots, routes and watches every app; both of you talk to it through the same CLI.
Read the source→$adj add .# register the app's adjacent.toml
$open https://site.adj.ac# first request boots the server
$adj logs site --tail# one log, both of you read it
$adj agent-instructions >> CLAUDE.md# teach your agent to share
The same commands for human and agent — every read takes --json. No separate agent mode, so the two sides can't drift.
Nothing runs until a request hits name.adj.ac. Concurrent requests during boot wait on the same start.
The proxy never forwards to a half-booted process. TCP-open by default, or poll a health check URL for a 2xx.
No traffic for 15 minutes and the app stops. Long agent sessions don't accumulate orphaned servers.
The local CA's private key lives in your keychain, never on disk — and the cert is name-constrained so it can never sign for another domain. *.adj.ac resolves from public DNS; no /etc/hosts.
Privileged setup prints the command for you to review and sudo. The daemon itself never escalates.
Coming soon to a terminal near you.
Built in public — follow along on GitHub→Rust · macOS · open source