Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt

Use this file to discover all available pages before exploring further.

Creates or fully replaces a catalog resource. The complete resource definition is read from stdin. For markdown kinds (agent personas, flights), pipe markdown. For all other kinds, pipe YAML.

Synopsis

<stdin> | murmur set <kind> <name> [--file-field field.path=filename ...]

Arguments

NameTypeRequiredDescription
kindstringyesThe catalog resource kind. Run murmur describe to list available kinds and their input formats.
namestringyesThe resource name to create or replace.
--file-fieldstringnoInject file content at a dotted field path. Format: field.path=filename. Repeatable.

Input format

The command queries the server to determine whether the kind expects YAML or markdown input.
  • YAML kinds (e.g. workspace, environment, pool-config) — pipe a YAML document to stdin.
  • Markdown kinds (e.g. agent-persona, flight) — pipe a markdown document with YAML frontmatter to stdin. The entire input becomes the resource content.
When --file-field is provided, the file content is injected at the specified field path. This is useful for fields that contain large text content — like provisioning scripts — that are easier to maintain as separate files.
This is a full replace. Every field in the existing resource is overwritten by the payload. To update individual fields without replacing the resource, use murmur patch.

Examples

Set a pool config

echo 'max_vms: 50' | murmur set pool-config default
Set pool-config "default"

Set an agent persona from a markdown file

cat architect.md | murmur set agent-persona architect
Set agent-persona "architect"

Read, modify, and write back

murmur get environment staging | yq '.machine_type_ref = "murmur-n2-standard-16"' | murmur set environment staging
Set environment "staging"

Inject a provisioning script from a file

echo 'name: python-toolchain' | murmur set recipe python-toolchain --file-field provisioning_script=provision.sh
Set recipe "python-toolchain"

Inject a nested field from a file

echo 'name: my-recipe' | murmur set recipe my-recipe --file-field script.content=build.sh
The --file-field flag supports dotted paths for nested fields. Intermediate maps are created as needed.

Errors

CodeMeaningWhat to do
UNAUTHENTICATEDIdentity token is missing or expired.Run murmur auth or check your murmur.local.yaml configuration.
INVALID_ARGUMENTThe kind is not recognized or the payload is invalid.Run murmur describe to check the kind’s schema and input format.
FAILED_PRECONDITIONA referenced resource does not exist (e.g. a workspace references a nonexistent environment).Verify that all referenced resources exist with murmur get.
PERMISSION_DENIEDThe resource is a platform builtin and cannot be overwritten.Platform-managed resources are immutable. Create your own resource with a different name.