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.

A repo-config is a catalog resource that defines tenant-wide defaults for a specific repository. When an agent spawns, these defaults apply to every workspace that includes the repo — unless the caller overrides them at spawn time. Repo-configs are keyed by the repository’s canonical clone URL.

Fields

NameTypeRequiredDescription
clone_urlstringyesCanonical clone URL (e.g. https://github.com/org/repo). This is also the resource key.
conflict_resolutionstringnoStrategy agents use when the base branch changes while work is in progress. Values: MERGE, REBASE, NONE. Default: MERGE.
base_branchstringnoBase branch override for this repo. Empty uses the branch configured on the workspace.
descriptionstringnoHuman-readable description shown in the dashboard. Maximum 1024 bytes.

Conflict resolution strategies

ValueBehavior
MERGEThe agent merges upstream changes into its working branch when files change on the base branch. This is the default.
REBASEThe agent rebases its working branch onto the updated base branch.
NONEThe agent is not notified of upstream file changes. No automatic merge or rebase occurs.
The conflict resolution strategy resolves in this order: an explicit value on the spawn request takes precedence over the repo-config default, which takes precedence over the built-in default of MERGE.

Base branch resolution

When an agent spawns, the base branch for each repo resolves in this order:
  1. Caller-supplied value on the spawn request.
  2. base_branch from the repo-config for that clone URL.
  3. base_branch from the workspace repo entry.
The first non-empty value wins.

Examples

Setting a repo-config

cat <<'EOF' | murmur set repo-config "https://github.com/acme/backend"
clone_url: "https://github.com/acme/backend"
conflict_resolution: REBASE
base_branch: develop
description: "Acme backend — rebase strategy, develop branch"
EOF

Disabling file-change notifications for a repo

cat <<'EOF' | murmur set repo-config "https://github.com/acme/docs"
clone_url: "https://github.com/acme/docs"
conflict_resolution: NONE
description: "Docs repo — no conflict resolution"
EOF

Listing repo-configs

murmur get repo-config
NAME                                      DESCRIPTION
https://github.com/acme/backend           Acme backend — rebase strategy, develop branch
https://github.com/acme/docs              Docs repo — no conflict resolution

Reading a single repo-config

murmur get repo-config "https://github.com/acme/backend"

Errors

CodeMeaningWhat to do
INVALID_ARGUMENTclone_url is requiredProvide the clone_url field with the full clone URL of the repository.
INVALID_ARGUMENTunknown conflict_resolution value <N>Use a valid conflict_resolution value: MERGE, REBASE, or NONE.
INVALID_ARGUMENTdescription exceeds 1024 byte limit (<N> bytes)Shorten the description to 1024 bytes or fewer.
  • Workspaces — the resource whose repos reference repo-configs at spawn time
  • Catalog — concept overview of catalog resources
  • murmur set — CLI command for creating and updating catalog resources
  • murmur get — CLI command for reading catalog resources