github

adj.ac/ent

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.

Your dev server has two developers now.

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
in practice
$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
agentic by design

One CLI for both of you

The same commands for human and agent — every read takes --json. No separate agent mode, so the two sides can't drift.

A URL per worktree

Run several agents in parallel git worktrees of one repo. adj add names each instance after its branch — feature-x.site.adj.ac — with its own process, port and logs.

Boots on demand, stops when idle

Nothing runs until a request hits name.adj.ac; concurrent boots wait on the same start. No traffic for 15 minutes and it stops — long agent sessions don't pile up orphaned servers.

Ready means ready

The proxy never forwards to a half-booted process. TCP-open by default, or poll a health check URL for a 2xx.

TLS without a key on disk

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.

Never runs as root

Privileged setup prints the command for you to review and sudo. The daemon itself never escalates.

install · alpha
$brew tap nonrational/adjacent https://github.com/nonrational/adjacent# straight from the repo — no separate tap $brew trust nonrational/adjacent# third-party tap, so opt in once $brew install adjacent# Apple Silicon, unsigned alpha build
status

The alpha is live — Apple Silicon, unsigned, rough edges.

Built in public — follow along on GitHub

Rust · macOS · open source