pub struct AddonRef {
pub id: String,
pub source: String,
pub enabled: bool,
pub skills: Vec<String>,
pub mcp: Vec<String>,
pub commands: Vec<String>,
pub content_hash: Option<String>,
pub fetch_ref: Option<String>,
pub fetch_plugin: Option<String>,
}Expand description
A plugin-group imported by one agent (add-on Phase 2). Self-contained:
members are installed PER-AGENT (skills under
~/.mur/agents/<a>/skills/, mcp appended to this profile’s
mcp_servers). No global library, no refcounting.
Fail-closed: enabled defaults to false. Only an explicit user
toggle (CLI/Hub) or a trusted native installer flips it true — the
importer always constructs it false.
Fields§
§id: Stringe.g. “superpowers” (local) or “superpowers@claude-plugins-official”.
source: StringProvenance, free-text. e.g. “claude-local:superpowers@6.0.3”.
enabled: bool§skills: Vec<String>§mcp: Vec<String>§commands: Vec<String>§content_hash: Option<String>Content-hash pin over the imported skill/command manifests, recorded
at import. None on legacy refs. Enables drift detection + refresh.
fetch_ref: Option<String>The re-fetchable source (the original import argument: a local path
or owner/repo), distinct from the free-text provenance source.
None on legacy refs. Used by reimport.
fetch_plugin: Option<String>The --plugin <name> selector used at import time to pick one plugin
out of a multi-plugin marketplace fetch_ref. None when the source
was a single-plugin dir/repo, or on legacy refs. Used by reimport so
a marketplace add-on can be re-fetched without re-specifying it.