{ "type": "object", "properties": { "$schema": { "type": "string" }, "name": { "type": "string", "minLength": 3, "maxLength": 100 }, "version": { "type": "string", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$" }, "description": { "type": "string", "minLength": 1, "maxLength": 4096 }, "authors": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "email": { "type": "string", "format": "email" }, "url": { "type": "string", "format": "uri" } }, "required": ["name", "email", "url"], "additionalProperties": false } }, "repository": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "git", "svn", "mercurial", "bzr", "darcs", "mtn", "cvs", "fossil", "bazaar", "arch", "tla", "archie", "monotone", "perforce", "sourcevault", "plastic", "clearcase", "accurev", "surroundscm", "bitkeeper", "other" ] }, "url": { "type": "string", "format": "uri" } }, "required": ["type", "url"], "additionalProperties": false } }, "required": [ "$schema", "name", "version", "description", "authors", "repository" ], "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }