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.
No comments yet. Be the first to start the discussion.