gabriel / muse public
feat main #42 / 100

feat: add `muse domains publish` — publish domain plugins to MuseHub

New subcommand `muse domains publish` registers a Muse domain plugin in the MuseHub marketplace from the command line.

Usage: muse domains publish \ --author cgcardona --slug genomics \ --name "Genomics" \ --description "Version DNA sequences as multidimensional state" \ --viewer-type genome

When run from inside a repo using the domain being published, capabilities are derived automatically from the active plugin's schema(). Use --capabilities '<json>' to provide them explicitly for plugins not yet registered locally.

Flags: --author, --slug, --name, --description, --viewer-type (required), --version (default 0.1.0), --capabilities (JSON override), --hub (URL override), --json (machine-readable output)

Returns the scoped_id, manifest_hash, and marketplace URL on success. Handles 409 Conflict and 401 Unauthorized with actionable error messages.

All types are strict TypedDicts — zero Any, zero object, passes mypy strict and typing_audit --max-any 0.

G Gabriel Cardona <gabriel@tellurstori.com> · 2d ago Mar 21, 2026 · 1cc8f8fb · parent 7855ccd0
1
file changed
403
files in snapshot
Files Changed 403 in snapshot
~1

0 comments

No comments yet. Be the first to start the discussion.