This page is intentionally deployment-focused and CLI-heavy. Use Examples: Mobs first if you want to understand the multi-agent runtime before packaging it, and continue to Examples: WASM if your next step is browser delivery.
Define the portable boundary
A source directory needsmanifest.toml and definition.json. Optional
archive sections are skills/, hooks/, mcp/, config/, adaptive/, and
schemas/.
manifest.toml
definition.json
schemas/main-input.json:
schemas/main-input.json
config/defaults.toml inside the typed
allow-list:
config/defaults.toml
[agent], [tools], [shell], [realm], [comms], provider-key,
and storage configuration is rejected. Mobpacks carry runtime intent and
assets, not credentials or host infrastructure.
Pack a mob directory
Bundle the directory into one deterministic.mobpack artifact:
Sign a pack
Attach an Ed25519 signature at pack time for trust verification on deploy.Inspect a pack
View the contents, metadata, and signature status of a.mobpack without deploying.
Validate a pack
Check structural integrity, schema conformance, and signature validity.Deploy a pack with an objective
mob deploy runs the packaged team against one prompt. CLI model and budget
flags remain host-owned overrides:
Run a pack
Invoke a.mobpack as a typed callable run. When
schemas/main-input.json is present, parameters are validated before the flow
starts. --prompt is sugar for --param prompt=<text>.
--detach on a callable
flow to get a run id, then inspect or attach to that run resource:
Package an adaptive flow
Adaptive packs add[adaptive] manifest metadata plus
adaptive/policies.toml, adaptive/flowmaster.prompt.md, and a
schemas/registry.json that points to required bundled schemas. Packing stamps
the adaptive_flow capability and regenerates
adaptive/layer-decision.schema.json; do not hand-maintain that generated
schema. Validation fails on a policy digest mismatch, incomplete policy limits,
missing schemas, or a target runtime without the adaptive capability.
Trust policies
For signed packs, both policies reject digest and signer-key mismatches.
Permissive relaxes signer enrollment; it does not disable integrity
verification.
Trust policy resolution order:
- CLI flag:
--trust-policy permissive - Environment variable:
RKAT_TRUST_POLICY=permissive - Config file:
trust.policyfield - Default:
strict(fail closed)
