Skip to main content

Marketplace

The MoBro marketplace allows users to install and manage plugins (and widget packs) directly from within the application.

Marketplace

API Key

Publishing to the marketplace requires an API key.
There is currently no user interface to obtain an API key or to manage your plugins.

To request an API key, reach out to us in the developer channel on our Discord. We'll provide you with a key and help with publishing your first plugin if needed.

Before Publishing

  • Test the plugin in MoBro. Install the published .zip file locally first, see Testing.
  • Set the version. The plugin's version is taken from the <VersionPrefix> in the .csproj file. Increase it for every release.
  • Complete the plugin configuration. Fill in the displayName, author, description, tags, repository and homepage fields in the mobro_plugin_config.json.
  • Publish the .zip file using the CLI. The marketplace requires the build_info.json file that mobro publish adds to the .zip file. When publishing manually, add it yourself, see Publishing without the CLI.

Publishing

The MoBro Plugin CLI publishes a plugin to the marketplace using the marketplace-publish command, which takes the plugin's .zip file as an argument:

mobro publish .
mobro marketplace-publish --api-key [your_api_key] .\example_plugin_0.0.1.zip

The displayName, description, tags, homepage and repository of the listing are taken from the mobro_plugin_config.json inside the .zip file. Localization keys are resolved using the English localization file.

New Plugin

If the plugin is not yet listed in the marketplace, the CLI asks for confirmation and creates the listing. It then sets up the listing using the following files, located in the same directory as the .zip file:

FileUsed as
logo.svg, logo.jpg or logo.pngThe plugin's logo. The first file found is used.
marketplace.mdThe plugin's store page (Markdown).
install_notice.mdThe notice shown when the plugin is installed (Markdown).

For every file that doesn't exist, the CLI prompts for a path instead. Leave the prompt empty to skip it.

Existing Plugin

If the plugin is already listed, the CLI publishes a new version of the existing plugin. If the displayName, description, tags, homepage or repository changed, the listing is updated accordingly. The logo, store page and install notice are not updated; use the commands in Updating the Listing instead.

caution
  • Each version can only be published once. Increase the <VersionPrefix> in the .csproj file before publishing again.
  • The version of the MoBro Plugin SDK referenced by the plugin is stored as the minimum SDK version of the release (e.g. 1.2.0 for SDK 1.2.x). Only raise the SDK version when you need its features, so the release stays compatible with older MoBro installations.

Updating the Listing

The following commands update the information of a plugin that is already listed in the marketplace. The plugin is identified by its unique name, as defined in the mobro_plugin_config.json.

CommandDescription
mobro marketplace-update-info --api-key [key] [plugin_name]Updates the general plugin information (prompts for input).
mobro marketplace-update-logo --api-key [key] --logo-file .\logo.png [plugin_name]Updates the plugin's logo.
mobro marketplace-update-store-page --api-key [key] --store-page-file .\store-page.md [plugin_name]Updates the plugin's store page (Markdown).
mobro marketplace-update-install-notice --api-key [key] --install-notice-file .\install-notice.md [plugin_name]Updates the notice shown when installing the plugin (Markdown).