Operator surfaces
Responsibility
Operator surfaces are where you and your operator agent inspect tickets and builds, answer escalations, pause work and authorize merge. Autobuild never hosts or starts your agent; it runs anywhere.
Shipped arrangements
Terminal dashboard and local CLI
A local Store needs no dashboard credential:
[tickets]
source = "file"
readyState = "ready"
bun ab dispatch
bun ab builds
bun ab build status example-build --json
- Interactive
dispatchshows the terminal dashboard. - A shell-capable agent follows progress and acts through the CLI, including
bun ab watchandbun ab wait. - A standing CLI operator uses
bun ab watch --operator --jsonafter checkingbun ab repository status --jsonfor existing presence. It operates the builds the repository's dispatcher dispatches and adopts new ones. - Presence is advisory, allows multiple registrations, and is not exposed by MCP. Termination attempts withdrawal; routine timeout/count re-arms keep the five-minute grace. SIGKILL and failed withdrawal rely on TTL expiry.
- Dashboard and API share one lifecycle vocabulary.
A local CLI can use a remote Store:
[store]
url = "https://builds.example.com"
[tickets]
source = "file"
readyState = "ready"
bun ab connect https://builds.example.com approves the registered project and saves its credential outside the checkout; CI sets AB_TOKEN instead. It authorizes the project only, not forge or runtime access. See Build store.
Local stdio MCP
For an agent with an MCP client but no convenient shell, configure the client to launch:
bun ab mcp
- Scope. Run from the connected project, or pass
--storeand--repoto constrain authority. - Lifetime. Serves the operator tool registry over stdio; exits on client EOF. No daemon.
- Phase refusal. Refuses phase-session
AB_*authority, including malformed tuples: repository-wide tools can't be narrowed to one phase. - Attribution. Sessionless writes use the local user identity, like the CLI.
Writing your own
There's no operator-surface plugin map. Build a client of the versioned, authenticated Operator API, or launch local stdio MCP.
- One registry defines tools, schemas, annotations and execution, keeping CLI, API and MCP at parity.
- Follow the API's request, version and authentication requirements; don't scrape dashboard markup.
- A new surface adds no pipeline phase and no embedded operator agent.
Writing a plugin covers infrastructure adapters.