-
Notifications
You must be signed in to change notification settings - Fork 128
plugin.json Spec
Plugins must include a plugin.json file that contains the following required and optional fields.
{
"Name": "Unique Plugin Name", **Required**
"Maintainer": "Your Name <youremail@example.com>", **Required**
"Description": "A brief description of your plugin.",
"Icon": "https://yourdomain.com/icon/path.{svg,png,jpg}",
"Usage": [
"Example of a way the user might begin an interaction with the plugin.",
"Find me a restaurant nearby.",
"Is there a Thai restaurant near me?"
],
"Settings": {
"SETTING_KEY_1": {
"Required": false,
"Default": "your setting's default value, if any"
}
}
}Plugin names must be unique, and their uniqueness is guaranteed through the itsabot.org index. Plugin names should be short.
Maintainer must include the same email you used to register on itsabot.org in order to publish the plugin. The format must be either Name <email> or email. In order to train a plugin, you'll need to be listed as the Maintainer on that plugin, or the plugin's maintainer will have to add you as a trainer on itsabot.org.
Description is a brief, one or two sentence description of the functionality of your plugin.
Icon is visible through the Admin Panel and on https://www.itsabot.org. To be eligible to be featured in the Popular Plugins section at https://www.itsabot.org/plugins, you must declare a valid Icon URL.
Usage contains examples of a how a user might begin an interaction with the plugin. Abot will use these to help the user if they don't know what to do. For example, Abot might message the user Try telling me "Find me a restaurant nearby."
Settings contain all the variables that your plugin uses, like API keys. If you use p.GetSetting("VAR1") within your plugin, you must define that same "VAR1" in this plugins.json, or Abot will throw a Fatal error. Both Required and Default are optional. Required defaults to false. In naming Settings, use ALL_CAPS_WITH_UNDERSCORES as if they were environment variables.
© Copyright 2015-2016 Abot, Inc.