Skip to content

Commit 4fc676c

Browse files
ericyangpanclaude
andcommitted
refactor: migrate schemas to $schemas directory and add schema references
- Move manifests/schemas/ to manifests/$schemas/ with singular naming - Add $schema property to all manifest JSON files - Update validation and generation scripts for new schema location - Update TypeScript types and documentation references BREAKING CHANGE: Schema files moved from manifests/schemas/ to manifests/$schemas/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 9308361 commit 4fc676c

File tree

131 files changed

+300
-207
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+300
-207
lines changed

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions

docs/SCHEMA-ALIGNMENT.md

Lines changed: 1 addition & 1 deletion

docs/SCHEMA-REFACTORING-SUMMARY.md

Lines changed: 10 additions & 10 deletions
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"title": "CLI Manifest Schema",
44
"description": "Schema for CLI tool metadata",
5-
"type": "array",
6-
"items": {
7-
"type": "object",
8-
"allOf": [{ "$ref": "./ref/app.schema.json" }]
9-
}
5+
"type": "object",
6+
"allOf": [{ "$ref": "./ref/app.schema.json" }]
107
}

manifests/schemas/collections.schema.json renamed to manifests/$schemas/collections.schema.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"description": "Schema for curated collections of specifications, articles, and tools",
55
"type": "object",
66
"properties": {
7+
"$schema": { "type": "string" },
78
"specifications": {
89
"$ref": "#/$defs/collectionSection"
910
},
Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,25 @@
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"title": "Extensions Manifest Schema",
44
"description": "Schema for IDE extensions metadata",
5-
"type": "array",
6-
"items": {
7-
"type": "object",
8-
"allOf": [
9-
{ "$ref": "./ref/product.schema.json" },
10-
{
11-
"type": "object",
12-
"properties": {
13-
"supportedIdes": {
14-
"type": "array",
15-
"description": "List of IDEs that support this extension",
16-
"items": {
17-
"$ref": "#/$defs/ideSupport"
18-
},
19-
"minItems": 1,
20-
"uniqueItems": true
21-
}
22-
},
23-
"required": ["supportedIdes"]
24-
}
25-
]
26-
},
5+
"type": "object",
6+
"allOf": [
7+
{ "$ref": "./ref/product.schema.json" },
8+
{
9+
"type": "object",
10+
"properties": {
11+
"supportedIdes": {
12+
"type": "array",
13+
"description": "List of IDEs that support this extension",
14+
"items": {
15+
"$ref": "#/$defs/ideSupport"
16+
},
17+
"minItems": 1,
18+
"uniqueItems": true
19+
}
20+
},
21+
"required": ["supportedIdes"]
22+
}
23+
],
2724
"$defs": {
2825
"ideSupport": {
2926
"type": "object",
File renamed without changes.
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"title": "IDE Manifest Schema",
44
"description": "Schema for IDE metadata",
5-
"type": "array",
6-
"items": {
7-
"type": "object",
8-
"allOf": [{ "$ref": "./ref/app.schema.json" }]
9-
}
5+
"type": "object",
6+
"allOf": [{ "$ref": "./ref/app.schema.json" }]
107
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"title": "Models Manifest Schema",
4+
"description": "Schema for large language model metadata",
5+
"type": "object",
6+
"allOf": [
7+
{
8+
"$ref": "./ref/vendor-entity.schema.json"
9+
},
10+
{
11+
"type": "object",
12+
"properties": {
13+
"size": {
14+
"type": "string",
15+
"description": "Model parameter size (e.g., '7B', '32B', '200B')"
16+
},
17+
"totalContext": {
18+
"type": "string",
19+
"description": "Total context window size (e.g., '32K', '64K', '200K')"
20+
},
21+
"maxOutput": {
22+
"type": "string",
23+
"description": "Maximum output token size (e.g., '4K', '8K')"
24+
},
25+
"tokenPricing": {
26+
"type": "object",
27+
"description": "Token-based pricing information for API usage (in $/M tokens)",
28+
"properties": {
29+
"input": {
30+
"type": "number",
31+
"description": "Input token pricing in $/M tokens (e.g., 0.14 for $0.14/1M tokens)"
32+
},
33+
"output": {
34+
"type": "number",
35+
"description": "Output token pricing in $/M tokens (e.g., 0.42 for $0.42/1M tokens)"
36+
},
37+
"cache": {
38+
"type": ["number", "null"],
39+
"description": "Cache token pricing in $/M tokens (e.g., 0.07 for $0.07/1M tokens, null if not applicable)"
40+
}
41+
},
42+
"required": ["input", "output", "cache"],
43+
"additionalProperties": false
44+
},
45+
"platformUrls": {
46+
"$ref": "./ref/platform-urls.schema.json",
47+
"description": "URLs to various third-party platform pages for this model"
48+
}
49+
},
50+
"required": ["size", "totalContext", "maxOutput", "tokenPricing", "platformUrls"]
51+
}
52+
]
53+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"title": "Provider Manifest Schema",
4+
"description": "Schema for AI model providers and service aggregators",
5+
"type": "object",
6+
"allOf": [
7+
{
8+
"$ref": "./ref/vendor-entity.schema.json"
9+
},
10+
{
11+
"type": "object",
12+
"properties": {
13+
"type": {
14+
"type": "string",
15+
"description": "Provider category",
16+
"enum": ["foundation-model-provider", "model-service-provider"]
17+
},
18+
"applyKeyUrl": {
19+
"type": ["string", "null"],
20+
"format": "uri",
21+
"description": "API key application URL"
22+
},
23+
"platformUrls": {
24+
"$ref": "./ref/platform-urls.schema.json",
25+
"description": "URLs to various third-party platform pages for this provider"
26+
},
27+
"communityUrls": {
28+
"$ref": "./ref/community-urls.schema.json",
29+
"description": "Community presence URLs for the provider"
30+
}
31+
},
32+
"required": ["type", "applyKeyUrl", "platformUrls", "communityUrls"]
33+
}
34+
]
35+
}

0 commit comments

Comments
 (0)