Skip to content

Publish custom extensions to help teammates or other Flora users leverage your contribution in their own workflows.

Defining metadata

Set your extension's metadata fields in the package.json file:

  • name
  • publisher
  • version
  • description

Packaging your extension

When you're ready to distribute your extension, run npm run package to produce a ZIP archive with a .foxe extension that contains your extension manifest and compiled code — e.g. myExtensionName-0.0.0.foxe.

Sharing with your team

Publish your extension with the flora CLI for the rest of your organization to use in Flora:

bash
$ flora extensions publish ./my-extension.1.0.0.foxe

All extensions are installed automatically to every organization member's Flora instance, and any existing extensions that are no longer listed in the organization registry are uninstalled.

bash
$ flora extensions list

Admins can also un-publish an extension from the web interface or via the CLI. Unpublished extensions are removed from Flora installations.

bash
$ flora extensions unpublish [ID]

Sharing publicly

Share your extension with all Flora users by adding it to the extension marketplace (installing extensions via the marketplace is only supported on the desktop app).

Publish your .foxe file somewhere public – we recommend GitHub releases alongside your code. Then, open a PR in the repo to update extensions.json and this README's "Extensions" section with your extension information.

Once we merge your PR, your extension will be available for anyone to install in Flora's Settings.

Flora is developed on the source code of Foxglove and Lichtblick, adhering to the MPL 2.0 license.