Skip to content
Musher Docs

Bundles

Bundles are versioned collections of text-based assets — prompts, configs, templates, agent definitions — that can be published as immutable snapshots and resolved by CLI runners. Think of a bundle as a package manager for workflow definitions: you author assets locally, publish a version, and any runner can resolve and download that exact set of files by slug and version string.

Design Goals

  • Immutability — once a version is published, its contents never change. The manifest and every asset's SHA-256 hash are frozen at publish time.
  • Determinism — given a slug and version, resolution always returns the same manifest. No draft states, no partial publishes, no mutable "latest" that silently changes.
  • Integrity — every asset stores a SHA-256 hash computed on write. Consumers verify downloaded content against these hashes without trusting the transport layer.

Core Concepts

ConceptDescription
BundleA named container scoped to a namespace and identified by a unique slug. Holds assets and has a visibility setting (private, workspace, or public).
BundleAssetA single text file within a bundle, identified by a logical path. Each asset has a type label, content body, and SHA-256 hash.
BundleVersionAn immutable published snapshot of a bundle's assets at a point in time. Contains the manifest JSON, optional OCI reference, and version string.

Lifecycle at a Glance

Create Bundle ──▶ Manage Assets ──▶ Publish Version ──▶ Resolve ──▶ Download
                                           │
                                           ▼
                                      Yank Version
  1. Create — define a bundle with a slug, name, and visibility.
  2. Manage assets — add, update, or remove text files within the bundle.
  3. Publish — freeze the current assets into an immutable version with a manifest.
  4. Resolve — look up a version by slug and version string to get the manifest.
  5. Download — fetch individual assets by ID and verify integrity via SHA-256.
  6. Yank — soft-withdraw a version from resolution while preserving the audit trail.

Reference Pages