1. What this tier is
Section titled “1. What this tier is”This tier is generated. Its pages are built from two files the binaries emit about themselves: docs/manifest.json, the output of microvm manifest at version 0.8.0, and docs/schema.json, the daemon’s JSON schema. Where a page states a count, the number is the length of an array in one of those files, so a page here cannot name a command or a code the binary does not have.
| Page | Holds | Members |
|---|---|---|
| Commands | one page per subcommand | 28 |
| Exit codes | process statuses and their stable codes | 17 |
| The envelope | fields across the success and error shapes | 12 |
| Response types | distinct payload shapes | 26 |
| Wire schema | daemon types under $defs |
21 |
2. The commands
Section titled “2. The commands”microvm accepts 28 commands, each with its own page. The order is the manifest’s, which is also the sidebar’s.
| Command | Summary | Response type |
|---|---|---|
microvm run |
Build an image, launch a VM, run a command, report the cost, tear it down | microvm.run |
microvm quickstart |
Zero to a live exec: provision the daemon, build, launch, run, report, tear down | microvm.run |
microvm build |
Build a MicroVM image and wait for it to be usable | microvm.image |
microvm agent-up |
Bring up a VM with a coding agent in it: image, launch, model credentials, non-root user | microvm.agent |
microvm agent-prompt |
Hand a coding agent in a running agent VM one task, headless, as the non-root user | microvm.agent.prompt |
microvm exec |
Run one command in a MicroVM that is already running | microvm.exec |
microvm health |
Ask a running MicroVM’s daemon whether it is up, and what its identity repair did | microvm.health |
microvm ack |
Release a finished exec’s buffered output, which starts its collection clock | microvm.exec |
microvm kill |
Stop a running exec: SIGTERM its whole process group, SIGKILL after the daemon’s grace | microvm.kill |
microvm ps |
List what is running in a MicroVM: every exec’s process group and its live pids | microvm.procs |
microvm stdin |
Write to a running exec’s stdin, and optionally close it | microvm.stdin |
microvm cp |
Copy a file or a tar archive between here and a running MicroVM | microvm.copy |
microvm sync |
Sync a project directory into a running MicroVM’s /workspace, uploading only what changed | microvm.sync |
microvm attach |
Register a name for a running MicroVM this state directory did not launch | microvm.attach |
microvm tunnel |
Tunnel arbitrary TCP to a guest port, so psql or ssh here reaches a server in the VM |
microvm.tunnel |
microvm port-forward |
Serve a guest port on localhost, so a browser here reaches a server in the VM | microvm.port-forward |
microvm shell |
Open an interactive root shell in a running MicroVM — a real PTY, with job control, signals, and resize | microvm.shell |
microvm suspend |
Freeze a MicroVM. It keeps its memory, filesystem, token, and endpoint | microvm.state |
microvm resume |
Thaw a suspended MicroVM and report its endpoint | microvm.state |
microvm terminate |
Tear down a MicroVM, and optionally its image and build log group | microvm.teardown |
microvm ls |
List what this CLI created and could not confirm it deleted; --remote asks the account too |
microvm.runs |
microvm history |
Print what was asked of one MicroVM and what the platform reported back | microvm.history |
microvm logs |
Name an image’s build log group and print the aws logs tail command that reads it |
microvm.logs |
microvm cost |
What a run cost, or what a plan will cost. Every figure labelled | microvm.cost |
microvm doctor |
Check every prerequisite and say which one is wrong | microvm.doctor |
microvm manifest |
Emit the whole command surface, its exit codes, and its envelope schema | microvm.manifest |
microvm constants |
Emit every service constraint this client believes, for the drift gate | microvm.constants |
microvm dockerfile |
Print the Dockerfile stanza that wraps any base image with agentd | microvm.dockerfile |
3. Global flags
Section titled “3. Global flags”The manifest publishes 3 command-wide flags under globalFlags. Each parses on either side of the subcommand, so microvm --json ls and microvm ls --json are the same invocation, and none appears in any command’s own parameter table.
| Flag | Type | Default | Help |
|---|---|---|---|
--json |
boolean |
none | Emit the typed JSON envelope on stdout instead of human output |
--dense |
boolean |
none | Token-lean output, for a consumer paying per token: tab-separated alone, compact one-line JSON with --json |
--quiet |
boolean |
none | Suppress progress on stderr. Warnings still print |
The manifest marks each command with supportsJson, and all 28 set it. So --json is accepted by every command, selects the envelope described on The envelope, and is left out of every per-command parameter table rather than repeated 28 times.
The manifest names no command-wide flag beyond these 3, so a flag neither this table nor a command page lists is not part of that command’s surface as the manifest states it.
4. The annotated pages
Section titled “4. The annotated pages”3 further pages share this directory and are not generated from the manifest. They were produced by a per-file documentation pass over the source tree, and every factual claim in them carries a path:line citation:
5. Provenance
Section titled “5. Provenance”This page is generated from docs/manifest.json, the output of microvm manifest, together with docs/schema.json for the wire-schema page. site/scripts/gen-reference.mjs writes it into the site’s content directory on every pnpm run sync, so an edit made here is overwritten by the next run.
To change the page, change the source. Regenerate the source with mise run manifest from the repository root; mise run manifest:check fails when the committed file no longer matches what the binary emits.