Skip to content

Registering a plugin

Matt Leathes edited this page Feb 16, 2021 · 13 revisions

All plugins are Bower packages; to create your plugin you will first need to define your package, and then register it with our plugin registry.

Note: registration of plugins is only supported for plugins hosted in GitHub. If there is enough interest, we may add support for GitLab to the roadmap. Please register your interest here.

Registering a new plugin

To register a plugin, it must first comply with the following:

  • There must be a valid bower.json in the current working directory.
  • Your package must be available at a Git endpoint (e.g. git://github.com/<user>/<repo_name>.git).
  • There must be a valid .bowerrc file in the current working directory. See the adapt_framework repository for an example (you are fine to copy this as-is to your plugin source and you can safely delete it once you've registered your plugin).

Once you are ready to publish, run the following command using the Adapt CLI and provide the required information when prompted

adapt register

Your plugin will be published to the registry, you can confirm this by doing:

adapt search <plugin-name>

Plugin versioning

It is possible to maintain multiple versions of your plugin, giving you the freedom to change your plugin at any time without requiring existing users to migrate to newer versions. We strongly recommend that you follow Semantic version numbers for your releases.

To create a new version of a registered plugin, simply tag your git repository with the new version number.

To install a specific version of a plugin using the Adapt Command Line Interface run the install command followed by the name of the plugin, # symbol and then the version number.

For example, the following would install version 0.0.2 of the adapt-hello-world plugin:

adapt install hello-world#0.0.2

Note that if you don't create tags or releases, the Adapt CLI will always download the 'default branch' - usually 'master' - of your plugin.

Clone this wiki locally