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.
The catalog is Murmur’s resource registry. Every configurable entity — workspace, environment, placement, recipe, secret, flight, and more — is a catalog resource managed through a consistent set of CRUD commands.
murmur get
Fetch a catalog resource by kind and name. If the name is omitted, list all resources of that kind.
# List all workspaces
murmur get workspace
# Get a specific workspace
murmur get workspace backend-team
# List all environments
murmur get environment
# Get a specific secret (shows metadata, not the encrypted value)
murmur get secret INTERNAL_API_KEY
The output is YAML by default. The format depends on the resource kind.
murmur set
Create or fully replace a catalog resource. Reads the resource body from stdin as YAML or JSON.
Flags
| Flag | Type | Description |
|---|
--file-field | string | Read a specific field from a file path instead of stdin. Format: field=path. |
# Create a workspace from stdin
cat <<EOF | murmur set workspace backend-team
repos:
- clone_url: https://github.com/acme/api
branch: main
model: claude-sonnet-4-6
EOF
# Create a flight from a file
murmur set flight bug-fixer < .murmur/flights/bug-fixer.md
# Set a resource with a file field (e.g., a prompt from a file)
murmur set agent-persona architect --file-field system_prompt=prompts/architect.md
murmur set is a full replacement. All fields not included in the input are reset to their defaults. Use murmur patch for partial updates.
murmur patch
Partial update of a catalog resource. Only the specified fields are changed; all other fields are preserved.
murmur patch <kind> <name> [flags]
Flags
| Flag | Type | Description |
|---|
--set | string | Set a field value. Format: field=value. Repeatable. |
--file-field | string | Read a field value from a file. Format: field=path. Repeatable. |
# Update a single field
murmur patch workspace backend-team --set model=claude-opus-4-6
# Update multiple fields
murmur patch pool-config default \
--set max_vms=50 \
--set min_idle=5
# Update a field from a file
murmur patch agent-persona architect --file-field system_prompt=prompts/new-architect.md
murmur rm
Delete a catalog resource. The platform checks referential integrity before deletion — if other resources reference the target, the deletion is blocked.
# Delete a secret
murmur rm secret OLD_API_KEY
# Delete an environment
murmur rm environment staging
If referential integrity prevents deletion, the error message lists the resources that reference the target:
Error: cannot delete environment "staging": referenced by workspace "backend-team"
murmur describe
Show a resource with its full metadata, including generation number, author, and timestamp.
murmur describe [kind] [name]
# Describe a specific resource
murmur describe workspace backend-team
Example output
kind: workspace
name: backend-team
generation: 7
author: alice
updated_at: 2025-01-15T10:23:45Z
spec:
repos:
- clone_url: https://github.com/acme/api
branch: main
model: claude-opus-4-6
secret_refs:
- INTERNAL_API_KEY
When called without arguments, murmur describe lists available resource kinds. When called with only a kind, it lists all resources of that kind with metadata.
murmur bake
Bake a VM image from a recipe and environment for a specific placement. This builds a custom image with pre-installed dependencies for faster agent startup.
murmur bake <recipe> <environment> <placement>
# Bake an image for the go-service recipe in production
murmur bake go-service production us-central1
# Bake with the default environment
murmur bake python-ml staging us-east1
murmur bakes ls
List all baked images and their status.
Example output
RECIPE ENVIRONMENT PLACEMENT STATUS AGE
go-service production us-central1 ready 2d
python-ml staging us-east1 building 5m
node-app production us-central1 ready 1w
Catalog resource kinds
The catalog supports 19 resource kinds:
| Kind | Description | Example |
|---|
workspace | Workspace configuration (repos, model, secrets) | backend-team |
environment | VM environment (image, machine type, packages) | production |
placement | Geographic placement (region, zone, project) | us-central1 |
recipe | Image build recipe (base image, setup scripts) | go-service |
pool-config | VM pool scaling configuration | default |
secret | Tenant-scoped KMS-encrypted secret | INTERNAL_API_KEY |
user-secret | Developer-scoped KMS-encrypted secret | MY_TOKEN |
agent-persona | Reusable agent configuration (prompt, model, tools) | architect |
flight | Stored flight document for event-triggered execution | bug-fixer |
webhook | Webhook configuration for event delivery | github-events |
schedule | Cron schedule for recurring flights | nightly-tests |
bake | Baked VM image record | go-service-prod |
tenant | Tenant configuration (org-level settings) | acme-corp |
developer | Developer profile metadata | alice |
event-rule | Event routing rules | bug-triage |
model-config | Model-specific configuration and limits | opus-limits |
subscription | File/branch change subscriptions | api-watcher |
notification | Notification channel configuration | slack-alerts |
audit-log | Read-only audit trail entries | (read-only) |
Listing all kinds
This prints all available resource kinds with a short description of each.
Version history
Every catalog resource tracks edit history with audit metadata:
- Generation number: Incremented on each update. Use for optimistic concurrency.
- Author: The developer who made the change.
- Timestamp: When the change was made.
This metadata is visible via murmur describe and is used internally for conflict detection.
Referential integrity
The catalog enforces referential integrity. You cannot delete a resource that is referenced by another resource. For example:
- Deleting an
environment referenced by a workspace is blocked
- Deleting a
placement referenced by a pool-config is blocked
- Deleting a
secret referenced in a workspace’s secret_refs is blocked
The error message always lists which resources hold the reference, so you can update or delete them first.
Common workflows
Create a new workspace
cat <<EOF | murmur set workspace my-team
repos:
- clone_url: https://github.com/acme/api
branch: main
- clone_url: https://github.com/acme/sdk
branch: main
model: claude-sonnet-4-6
secret_refs:
- INTERNAL_API_KEY
- DATABASE_URL
EOF
Update model for a workspace
murmur patch workspace my-team --set model=claude-opus-4-6
Store a flight for event-triggered execution
murmur set flight bug-fixer < .murmur/flights/bug-fixer.md
Create an agent persona
cat <<EOF | murmur set agent-persona security-reviewer
model: claude-opus-4-6
system_prompt: |
You are a security-focused code reviewer. Analyze code changes
for security vulnerabilities, injection risks, and auth bypasses.
Be thorough and cite specific CWE numbers where applicable.
max_turns: 50
EOF
murmur describe workspace backend-team