Publish your extension to help other Studio users and other members of your Foxglove Studio organization leverage your custom panel.

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 foxglove CLI for the rest of your organization to use in Foxglove Studio:

$ foxglove extensions publish ./my-extension.1.0.0.foxe

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

Only admins can view an organization's extensions in the Foxglove web console or via the foxglove CLI.

$ foxglove extensions list

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

$ foxglove extensions unpublish [ID]

Sharing publicly

Share your extension with all Foxglove Studio users by adding it to the studio-extension-marketplace.

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 Foxglove Studio's Settings.