microsoft/hve-core

Public

mirrored fromhttps://github.com/microsoft/hve-coreAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
hve-core-v3.3.41

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

scripts/linting/schemas/marketplace-manifest.schema.json

96lines · modecode

1{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "title": "Marketplace Manifest",
4 "description": "Schema for hve-core Copilot CLI marketplace.json plugin manifest",
5 "type": "object",
6 "required": [
7 "name",
8 "metadata",
9 "owner",
10 "plugins"
11 ],
12 "properties": {
13 "name": {
14 "type": "string",
15 "minLength": 1,
16 "description": "Repository name used as the marketplace identifier."
17 },
18 "metadata": {
19 "type": "object",
20 "required": [
21 "description",
22 "version",
23 "pluginRoot"
24 ],
25 "properties": {
26 "description": {
27 "type": "string",
28 "minLength": 1,
29 "description": "Short description of the marketplace."
30 },
31 "version": {
32 "type": "string",
33 "pattern": "^\\d+\\.\\d+\\.\\d+",
34 "description": "Semantic version string from package.json."
35 },
36 "pluginRoot": {
37 "type": "string",
38 "minLength": 1,
39 "description": "Relative path to the plugins directory."
40 }
41 },
42 "additionalProperties": false
43 },
44 "owner": {
45 "type": "object",
46 "required": [
47 "name"
48 ],
49 "properties": {
50 "name": {
51 "type": "string",
52 "minLength": 1,
53 "description": "Organization or individual owning the repository."
54 }
55 },
56 "additionalProperties": false
57 },
58 "plugins": {
59 "type": "array",
60 "minItems": 1,
61 "items": {
62 "type": "object",
63 "required": [
64 "name",
65 "source",
66 "description",
67 "version"
68 ],
69 "properties": {
70 "name": {
71 "type": "string",
72 "pattern": "^[a-z0-9-]+$",
73 "description": "Plugin identifier. Lowercase letters, digits, and hyphens only."
74 },
75 "source": {
76 "type": "string",
77 "pattern": "^[a-z0-9-]+$",
78 "description": "Plugin directory name within pluginRoot. Must not contain path separators."
79 },
80 "description": {
81 "type": "string",
82 "minLength": 1,
83 "description": "Short description of the plugin."
84 },
85 "version": {
86 "type": "string",
87 "pattern": "^\\d+\\.\\d+\\.\\d+",
88 "description": "Semantic version string matching the marketplace version."
89 }
90 },
91 "additionalProperties": false
92 }
93 }
94 },
95 "additionalProperties": false
96}
97