---
title: For agents
description: Machine-readable contracts, automation rules, and documentation entry points.
---

:::agent

**For an agent.** Start with `microvm manifest`. It returns commands, flags, response types, and
exit codes as JSON without credentials or network access. `microvm manifest --dense` gives a compact command list. Prefer the installed binary's contract
over prose that may describe a different version.

:::

## 1. Automation

* Use `--json`. Commands write one envelope to stdout and progress to stderr.
  `exec --stream` emits NDJSON events and the final envelope.
* Branch on error `code` and `exitCode`, not message text. `ERR_EXEC_FAILED`
  means the command in the VM failed; it does not imply an AWS failure.
* Read `leaked` after cleanup. Teardown is attempted by default, but failures
  and process termination can leave resources behind. `microvm ls --remote`
  compares the local ledger with AWS.
* Keep per-VM secrets out of shared images. The guest can access its execution
  role; user demotion does not hide it.
* No internet egress requires a VPC without an IGW or NAT gateway. Neither
  omitting `--egress` nor setting `--deny-egress` enforces isolation.
* Keep `agentd` as the image's `CMD` and start workloads only after bootstrap.

## 2. Entry points

| Task | Contract or guide |
|---|---|
| CLI integration | `microvm manifest`, [Reference](/microvms-agentd/reference/) |
| Direct daemon integration | `GET /v1/schema`, [Protocol](/microvms-agentd/internals/protocol/) |
| Rust, Python, Node | [Libraries](/microvms-agentd/learn/tutorial/from-code/) |
| First AWS run | [First-run tutorial](/microvms-agentd/learn/tutorial/first-run/) |
| Coding agents inside a VM | [Agents on Bedrock](/microvms-agentd/learn/operations/run-coding-agents-on-bedrock/) |
| Network isolation | [Networking](/microvms-agentd/learn/operations/configure-networking/) |
| Image integration | [Embedding](/microvms-agentd/internals/embedding/) |

`microvm doctor` checks prerequisites before a build. `quickstart` creates
billable AWS resources, runs a hello-world, and attempts cleanup. Reuse images
with `--image` to avoid unnecessary builds and retention charges.

## 3. Repository work

Read `CONTRIBUTING.md`. Run `mise run check` for local verification and
`mise run docs:check` for documentation. Live AWS behavior needs a separate
exercise of the changed path; `mise run live` is billable. Report when it has
not been run, and verify cleanup independently afterward.

Edit `site/authored/` for user guides and top-level `docs/*.md` for contracts.
`site/src/content/docs/` is generated. References generated from source contain
commit-pinned citations that may be stale in the current checkout; check the
source instead of treating prose as proof. Record new AWS measurements with
date, region, and API version, retaining earlier observations.

## 4. Read next

| Read this | Raw Markdown |
| --------- | ------------ |
| [Learn](/microvms-agentd/learn/) | [`learn.md`](/microvms-agentd/learn.md) |
| [Install the CLI or an SDK](/microvms-agentd/learn/tutorial/install/) | [`learn/tutorial/install.md`](/microvms-agentd/learn/tutorial/install.md) |
| [Configure AWS and run your first sandbox](/microvms-agentd/learn/tutorial/first-run/) | [`learn/tutorial/first-run.md`](/microvms-agentd/learn/tutorial/first-run.md) |
| [Keep a VM running and work inside it](/microvms-agentd/learn/tutorial/long-lived-vm/) | [`learn/tutorial/long-lived-vm.md`](/microvms-agentd/learn/tutorial/long-lived-vm.md) |
| [Run a project through a VM](/microvms-agentd/learn/tutorial/run-a-project/) | [`learn/tutorial/run-a-project.md`](/microvms-agentd/learn/tutorial/run-a-project.md) |
| [Use the SDKs](/microvms-agentd/learn/tutorial/from-code/) | [`learn/tutorial/from-code.md`](/microvms-agentd/learn/tutorial/from-code.md) |
| [Configure networking](/microvms-agentd/learn/operations/configure-networking/) | [`learn/operations/configure-networking.md`](/microvms-agentd/learn/operations/configure-networking.md) |
| [Write a guest Dockerfile](/microvms-agentd/learn/operations/write-a-guest-dockerfile/) | [`learn/operations/write-a-guest-dockerfile.md`](/microvms-agentd/learn/operations/write-a-guest-dockerfile.md) |
| [Embed agentd in your own image](/microvms-agentd/learn/operations/embed-agentd-in-your-image/) | [`learn/operations/embed-agentd-in-your-image.md`](/microvms-agentd/learn/operations/embed-agentd-in-your-image.md) |
| [Run coding agents in sandboxed MicroVMs](/microvms-agentd/learn/operations/run-coding-agents-on-bedrock/) | [`learn/operations/run-coding-agents-on-bedrock.md`](/microvms-agentd/learn/operations/run-coding-agents-on-bedrock.md) |
| [Remote dev with code-server over port-forward](/microvms-agentd/learn/operations/remote-dev-with-code-server/) | [`learn/operations/remote-dev-with-code-server.md`](/microvms-agentd/learn/operations/remote-dev-with-code-server.md) |
| [Prefetch S3 content at image build](/microvms-agentd/learn/operations/prefetch-s3-at-build/) | [`learn/operations/prefetch-s3-at-build.md`](/microvms-agentd/learn/operations/prefetch-s3-at-build.md) |
| [Read the cost report](/microvms-agentd/learn/operations/read-the-cost-report/) | [`learn/operations/read-the-cost-report.md`](/microvms-agentd/learn/operations/read-the-cost-report.md) |
| [Debug a failed build](/microvms-agentd/learn/operations/debug-a-failed-build/) | [`learn/operations/debug-a-failed-build.md`](/microvms-agentd/learn/operations/debug-a-failed-build.md) |
| [Recover a leaked VM](/microvms-agentd/learn/operations/recover-a-leaked-vm/) | [`learn/operations/recover-a-leaked-vm.md`](/microvms-agentd/learn/operations/recover-a-leaked-vm.md) |
| [Configure the project file](/microvms-agentd/learn/operations/configure-the-project-file/) | [`learn/operations/configure-the-project-file.md`](/microvms-agentd/learn/operations/configure-the-project-file.md) |
| [Drive it from a script or an agent](/microvms-agentd/learn/operations/drive-it-from-a-script-or-an-agent/) | [`learn/operations/drive-it-from-a-script-or-an-agent.md`](/microvms-agentd/learn/operations/drive-it-from-a-script-or-an-agent.md) |
| [Run the live suite](/microvms-agentd/learn/operations/run-the-live-suite/) | [`learn/operations/run-the-live-suite.md`](/microvms-agentd/learn/operations/run-the-live-suite.md) |
| [Reference](/microvms-agentd/reference/) | [`reference.md`](/microvms-agentd/reference.md) |
| [microvm ack](/microvms-agentd/reference/commands/ack/) | [`reference/commands/ack.md`](/microvms-agentd/reference/commands/ack.md) |
| [microvm agent-prompt](/microvms-agentd/reference/commands/agent-prompt/) | [`reference/commands/agent-prompt.md`](/microvms-agentd/reference/commands/agent-prompt.md) |
| [microvm agent-up](/microvms-agentd/reference/commands/agent-up/) | [`reference/commands/agent-up.md`](/microvms-agentd/reference/commands/agent-up.md) |
| [microvm attach](/microvms-agentd/reference/commands/attach/) | [`reference/commands/attach.md`](/microvms-agentd/reference/commands/attach.md) |
| [microvm build](/microvms-agentd/reference/commands/build/) | [`reference/commands/build.md`](/microvms-agentd/reference/commands/build.md) |
| [microvm constants](/microvms-agentd/reference/commands/constants/) | [`reference/commands/constants.md`](/microvms-agentd/reference/commands/constants.md) |
| [microvm cost](/microvms-agentd/reference/commands/cost/) | [`reference/commands/cost.md`](/microvms-agentd/reference/commands/cost.md) |
| [microvm cp](/microvms-agentd/reference/commands/cp/) | [`reference/commands/cp.md`](/microvms-agentd/reference/commands/cp.md) |
| [microvm dockerfile](/microvms-agentd/reference/commands/dockerfile/) | [`reference/commands/dockerfile.md`](/microvms-agentd/reference/commands/dockerfile.md) |
| [microvm doctor](/microvms-agentd/reference/commands/doctor/) | [`reference/commands/doctor.md`](/microvms-agentd/reference/commands/doctor.md) |
| [microvm exec](/microvms-agentd/reference/commands/exec/) | [`reference/commands/exec.md`](/microvms-agentd/reference/commands/exec.md) |
| [microvm health](/microvms-agentd/reference/commands/health/) | [`reference/commands/health.md`](/microvms-agentd/reference/commands/health.md) |
| [microvm history](/microvms-agentd/reference/commands/history/) | [`reference/commands/history.md`](/microvms-agentd/reference/commands/history.md) |
| [microvm kill](/microvms-agentd/reference/commands/kill/) | [`reference/commands/kill.md`](/microvms-agentd/reference/commands/kill.md) |
| [microvm logs](/microvms-agentd/reference/commands/logs/) | [`reference/commands/logs.md`](/microvms-agentd/reference/commands/logs.md) |
| [microvm ls](/microvms-agentd/reference/commands/ls/) | [`reference/commands/ls.md`](/microvms-agentd/reference/commands/ls.md) |
| [microvm manifest](/microvms-agentd/reference/commands/manifest/) | [`reference/commands/manifest.md`](/microvms-agentd/reference/commands/manifest.md) |
| [microvm port-forward](/microvms-agentd/reference/commands/port-forward/) | [`reference/commands/port-forward.md`](/microvms-agentd/reference/commands/port-forward.md) |
| [microvm ps](/microvms-agentd/reference/commands/ps/) | [`reference/commands/ps.md`](/microvms-agentd/reference/commands/ps.md) |
| [microvm quickstart](/microvms-agentd/reference/commands/quickstart/) | [`reference/commands/quickstart.md`](/microvms-agentd/reference/commands/quickstart.md) |
| [microvm resume](/microvms-agentd/reference/commands/resume/) | [`reference/commands/resume.md`](/microvms-agentd/reference/commands/resume.md) |
| [microvm run](/microvms-agentd/reference/commands/run/) | [`reference/commands/run.md`](/microvms-agentd/reference/commands/run.md) |
| [microvm shell](/microvms-agentd/reference/commands/shell/) | [`reference/commands/shell.md`](/microvms-agentd/reference/commands/shell.md) |
| [microvm stdin](/microvms-agentd/reference/commands/stdin/) | [`reference/commands/stdin.md`](/microvms-agentd/reference/commands/stdin.md) |
| [microvm suspend](/microvms-agentd/reference/commands/suspend/) | [`reference/commands/suspend.md`](/microvms-agentd/reference/commands/suspend.md) |
| [microvm sync](/microvms-agentd/reference/commands/sync/) | [`reference/commands/sync.md`](/microvms-agentd/reference/commands/sync.md) |
| [microvm terminate](/microvms-agentd/reference/commands/terminate/) | [`reference/commands/terminate.md`](/microvms-agentd/reference/commands/terminate.md) |
| [microvm tunnel](/microvms-agentd/reference/commands/tunnel/) | [`reference/commands/tunnel.md`](/microvms-agentd/reference/commands/tunnel.md) |
| [The envelope](/microvms-agentd/reference/envelope/) | [`reference/envelope.md`](/microvms-agentd/reference/envelope.md) |
| [Exit codes](/microvms-agentd/reference/exit-codes/) | [`reference/exit-codes.md`](/microvms-agentd/reference/exit-codes.md) |
| [Response types](/microvms-agentd/reference/response-types/) | [`reference/response-types.md`](/microvms-agentd/reference/response-types.md) |
| [Wire schema](/microvms-agentd/reference/wire-schema/) | [`reference/wire-schema.md`](/microvms-agentd/reference/wire-schema.md) |
| [CLI](/microvms-agentd/reference/cli/) | [`reference/cli.md`](/microvms-agentd/reference/cli.md) |
| [Public API](/microvms-agentd/reference/public-api/) | [`reference/public-api.md`](/microvms-agentd/reference/public-api.md) |
| [RPC tools](/microvms-agentd/reference/rpc-tools/) | [`reference/rpc-tools.md`](/microvms-agentd/reference/rpc-tools.md) |
| [Internals](/microvms-agentd/internals/) | [`internals.md`](/microvms-agentd/internals.md) |
| [Networking](/microvms-agentd/internals/networking/) | [`internals/networking.md`](/microvms-agentd/internals/networking.md) |
| [AWS Lambda MicroVMs: measured platform behavior](/microvms-agentd/internals/platform/) | [`internals/platform.md`](/microvms-agentd/internals/platform.md) |
| [Wire protocol v1](/microvms-agentd/internals/protocol/) | [`internals/protocol.md`](/microvms-agentd/internals/protocol.md) |
| [The trust contract for a control daemon inside a Lambda MicroVM](/microvms-agentd/internals/trust/) | [`internals/trust.md`](/microvms-agentd/internals/trust.md) |
| [Embedding agentd in your own image and driving it from your own harness](/microvms-agentd/internals/embedding/) | [`internals/embedding.md`](/microvms-agentd/internals/embedding.md) |
| [Strategy: the trust and preparation contract for coding agents on microVMs](/microvms-agentd/internals/strategy/) | [`internals/strategy.md`](/microvms-agentd/internals/strategy.md) |
| [What agent harnesses require of this platform](/microvms-agentd/internals/harness-capabilities/) | [`internals/harness-capabilities.md`](/microvms-agentd/internals/harness-capabilities.md) |
| [Agent VMs: the L3 helpers over the primitives](/microvms-agentd/internals/agent-vms/) | [`internals/agent-vms.md`](/microvms-agentd/internals/agent-vms.md) |
| [Plan: full live coverage through the `microvm` CLI](/microvms-agentd/internals/cli-coverage-plan/) | [`internals/cli-coverage-plan.md`](/microvms-agentd/internals/cli-coverage-plan.md) |
| [Data flow](/microvms-agentd/internals/architecture/data-flow/) | [`internals/architecture/data-flow.md`](/microvms-agentd/internals/architecture/data-flow.md) |
| [Module map](/microvms-agentd/internals/architecture/module-map/) | [`internals/architecture/module-map.md`](/microvms-agentd/internals/architecture/module-map.md) |
| [System overview](/microvms-agentd/internals/architecture/system-overview/) | [`internals/architecture/system-overview.md`](/microvms-agentd/internals/architecture/system-overview.md) |
| [Processes](/microvms-agentd/internals/behavior/processes/) | [`internals/behavior/processes.md`](/microvms-agentd/internals/behavior/processes.md) |
| [State machines](/microvms-agentd/internals/behavior/state-machines/) | [`internals/behavior/state-machines.md`](/microvms-agentd/internals/behavior/state-machines.md) |
| [Dead code](/microvms-agentd/internals/analysis/dead-code/) | [`internals/analysis/dead-code.md`](/microvms-agentd/internals/analysis/dead-code.md) |
| [Ownership](/microvms-agentd/internals/analysis/ownership/) | [`internals/analysis/ownership.md`](/microvms-agentd/internals/analysis/ownership.md) |
| [Risk hotspots](/microvms-agentd/internals/analysis/risk-hotspots/) | [`internals/analysis/risk-hotspots.md`](/microvms-agentd/internals/analysis/risk-hotspots.md) |
| [Components](/microvms-agentd/internals/diagrams/architecture/components/) | [`internals/diagrams/architecture/components.md`](/microvms-agentd/internals/diagrams/architecture/components.md) |
| [Sequences](/microvms-agentd/internals/diagrams/behavioral/sequences/) | [`internals/diagrams/behavioral/sequences.md`](/microvms-agentd/internals/diagrams/behavioral/sequences.md) |
| [Dependency graph](/microvms-agentd/internals/diagrams/structural/dependency-graph/) | [`internals/diagrams/structural/dependency-graph.md`](/microvms-agentd/internals/diagrams/structural/dependency-graph.md) |
| [Business logic](/microvms-agentd/internals/insights/business-logic/) | [`internals/insights/business-logic.md`](/microvms-agentd/internals/insights/business-logic.md) |
| [Contract map](/microvms-agentd/internals/insights/contract-map/) | [`internals/insights/contract-map.md`](/microvms-agentd/internals/insights/contract-map.md) |
| [Debugging guide](/microvms-agentd/internals/insights/debugging-guide/) | [`internals/insights/debugging-guide.md`](/microvms-agentd/internals/insights/debugging-guide.md) |
| [Impact analysis](/microvms-agentd/internals/insights/impact-analysis/) | [`internals/insights/impact-analysis.md`](/microvms-agentd/internals/insights/impact-analysis.md) |
| [Tech debt](/microvms-agentd/internals/insights/tech-debt/) | [`internals/insights/tech-debt.md`](/microvms-agentd/internals/insights/tech-debt.md) |
| [Glossary](/microvms-agentd/glossary/) | [`glossary.md`](/microvms-agentd/glossary.md) |

## 5. Machine-readable documentation

Append `.md` to a page path: `/reference/cli/` becomes `/reference/cli.md`.
Fetch the individual page when its location is known.
[llms.txt](/microvms-agentd/llms.txt) indexes the corpus; [llms-small.txt](/microvms-agentd/llms-small.txt) and
[llms-full.txt](/microvms-agentd/llms-full.txt) provide bundles. [schema.json](/microvms-agentd/schema.json)
is the generated daemon wire contract.