core/schema/plugin.schema.json

48 lines
1.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://squeebot.lunasqu.ee/pkg/plugin.schema.json",
"title": "plugin",
"description": "Squeebot plugin definition",
"type": "object",
"properties": {
"main": {
"type": "string",
"description": "Plugin's entry file, must export a class that extends Plugin"
},
"name": {
"type": "string",
"description": "Name of the plugin"
},
"description": {
"type": "string",
"description": "A short description of the plugin's functions"
},
"tags": {
"type": "array",
"description": "A list of descriptive tags",
"items": {
"type": "string"
}
},
"version": {
"type": "string",
"description": "Semantic version(ing)"
},
"dependencies": {
"type": "array",
"description": "A list of plugin dependencies. ? suffix denotes optional.",
"items": {
"type": "string"
}
},
"npmDependencies": {
"type": "array",
"description": "A list of NPM dependencies, package@version format",
"items": {
"type": "string"
}
}
},
"required": ["main", "name", "version"]
}