From 11f19ecc669e8b5464eb3a30c01a1f9691cb6873 Mon Sep 17 00:00:00 2001 From: Mm2PL Date: Mon, 6 Feb 2023 23:21:17 +0100 Subject: [PATCH] Add a info.json schema --- docs/plugin-info.schema.json | 61 ++++++++++++++++++++++++++++++++++++ docs/wip-plugins.md | 1 + 2 files changed, 62 insertions(+) create mode 100644 docs/plugin-info.schema.json diff --git a/docs/plugin-info.schema.json b/docs/plugin-info.schema.json new file mode 100644 index 000000000..6b29d793c --- /dev/null +++ b/docs/plugin-info.schema.json @@ -0,0 +1,61 @@ +{ + "$schema": "http://json-schema.org/schema", + "$id": "https://raw.githubusercontent.com/Chatterino/chatterino2/master/docs/plugin-info.schema.json", + "title": "Plugin info", + "description": "Describes a Chatterino2 plugin (draft)", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Plugin name shown to the user." + }, + "description": { + "type": "string", + "description": "Plugin description shown to the user." + }, + "authors": { + "type": "string", + "description": "A string describing authors of the Plugin. This could be a list of names, an organisation or something else, as long as it's clear who made the Plugin." + }, + "homepage": { + "type": "string", + "description": "Optional URL to your Plugin's homepage. This could be your GitHub repo for example." + }, + "tags": { + "description": "Something that could in the future be used to find your plugin.", + "type": "array", + "items": { + "type": "string", + "examples": [ + "moderation", + "utility", + "commands" + ] + }, + "uniqueItems": true + }, + "version": { + "type": "string", + "description": "Semver version string, for more info see https://semver.org.", + "examples": [ + "0.0.1", + "1.0.0-rc.1" + ] + }, + "license": { + "type": "string", + "description": "A small description of your license.", + "examples": [ + "MIT", + "GPL-2.0-or-later" + ] + } + }, + "required": [ + "name", + "description", + "authors", + "version", + "license" + ] +} diff --git a/docs/wip-plugins.md b/docs/wip-plugins.md index 664b03ab0..59827f528 100644 --- a/docs/wip-plugins.md +++ b/docs/wip-plugins.md @@ -28,6 +28,7 @@ Example file: ```json { + "$schema": "https://raw.githubusercontent.com/Chatterino/chatterino2/master/docs/plugin-info.schema.json", "name": "Test plugin", "description": "This plugin is for testing stuff.", "authors": "Mm2PL",