Skip to content

Commit 5b306d2

Browse files
committed
feat: add JSON schema for external-tools.json IDE validation
1 parent 8327080 commit 5b306d2

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"description": "Schema for external-tools.json files",
4+
"type": "object",
5+
"properties": {
6+
"$schema": { "type": "string" },
7+
"description": { "type": "string" },
8+
"extends": { "type": "string", "description": "Path to a base external-tools.json to inherit from" },
9+
"tools": {
10+
"type": "object",
11+
"additionalProperties": {
12+
"type": "object",
13+
"properties": {
14+
"description": { "type": "string" },
15+
"version": { "type": "string" },
16+
"packageManager": { "type": "string", "enum": ["npm", "pip", "pnpm"] },
17+
"notes": {
18+
"oneOf": [
19+
{ "type": "string" },
20+
{ "type": "array", "items": { "type": "string" } }
21+
]
22+
},
23+
"repository": { "type": "string" },
24+
"release": { "type": "string", "enum": ["asset", "archive"] },
25+
"tag": { "type": "string" },
26+
"checksums": {
27+
"type": "object",
28+
"additionalProperties": { "type": "string" }
29+
}
30+
},
31+
"additionalProperties": true
32+
}
33+
}
34+
},
35+
"required": ["tools"]
36+
}

0 commit comments

Comments
 (0)