Documentation — Overview
Start here

Overview

agentd is a small Rust binary that runs one agent. You give it an instruction and one LLM endpoint, and it runs the agentic loop — think, call a tool, observe, repeat — until the work reaches a terminal status or a new event wakes it.

Three properties make it different from an agent framework:

  • It ships no tools. Every capability an agent has comes from a remote MCP server you name. There is no built-in filesystem, shell or HTTP tool library, so the blast radius of a run is exactly the set of servers you wired. Local command execution exists, but it is off at two independent layers and fenced when on.
  • The reasoning runs where it can be killed. A supervisor that never talks to a model owns lifecycle, limits and the process tree; the loop itself runs in child processes. A model that loops, overspends or is jailbroken is contained by a process that cannot be prompted.
  • It is a daemon, not a script. State lives in a store, so a restart resumes rather than restarts. Terminals and browsers attach to a running agent as thin views; several can watch the same session at once.

Where to start

If you want to…Read
get something runningGetting started
see what people build with itUse cases
understand the designArchitecture, then The harness
build a coding agentCoding agent
know every settingConfiguration
review the security postureSecurity

The documentation

How it works — the concepts, in the order they build on each other.

PageWhat it covers
architecture.mdThe two-loop split, the components, and how a run flows from config to result.
harness.mdThe supervisor: the process tree, the kill ladder, budgets, checkpoints, and recovery.
agent-loop.mdOne turn end to end — context assembly, the round loop, tool dispatch, termination.
subagents.mdDelegation as a process tree: narrowed context, distilled returns, depth limits.
workflows.mdDurable DAGs: start nodes, the node catalogue, data flow, waits, resume.
node-registry.mdEvery workflow node, what it requires, and the traps that bite first.
directives.mdInstructions that carry their own machinery: embedded workflows, skills and context, and the trust ladder that decides what a document may declare.
modes-and-triggers.mdJob or daemon, and the start nodes that decide when a run fires.
mcp.mdWhere tools and events come from: the client subset and the Streamable HTTP transport.
a2a.mdThe channel that reaches in: principals and first-match-wins matching, tasks, and the agent card.
a2a-extensions.mdEverything agentd speaks beyond core A2A: the declarations, the A2A-Extensions handshake, and the command DataPart.
why-rust.mdThe dependency moat, what is hand-rolled, and where the choice costs something.

Build & operate — using it for real.

PageWhat it covers
configuration.mdEvery setting, the three spellings, precedence, and validation.
experience.mdValidate before anything runs; exit codes as an API; telemetry you can filter.
interface.mdThe terminal and web clients: one daemon, many synchronized surfaces.
hosting-the-ui.mdServing the web client from a public domain: three static files, and a host that never sees a request to an agent.
coding-agent.mdA pair-programming agent on a repository — tools, approvals, budgets, practices.
two-person-company.mdA use case worked all the way through: an eleven-agent software company whose only employees are the CEO and CTO.
security.mdCapability scoping, the Rule of Two, the exec fence, secrets, and the limits of all of it.
authentication.mdAuthenticating outbound to model, MCP and A2A endpoints.
observability.mdStructured telemetry, the correlation tuple, health and metrics.
deployment.mdJob, CronJob, long-lived Deployment, systemd — and drain choreography.
pid1.mdagentd as init: PID 1 on a custom Linux — orphan reaping, signals, and where shipped behaviour ends and exploration begins.
operations.mdDriving a live daemon: the admin surface, capabilities, hot reload.
scaling.mdMany replicas over one queue: partitioning at the source, queue-side leases, idempotency.

Extend & embed

PageWhat it covers
embedding.mdBuild your own CLI on agentd-core, with native Rust tools registered in-process.
intelligence.mdThe model endpoint: the wire, failover, budgets, credentials.
aauth.mdAgent identity for AAuth-protected servers — an Ed25519 key and signed requests.

Design records

The decision records live in design/: they record why the system is shaped this way, including options that were considered and rejected.