mirror of
https://github.com/awesome-opencode/awesome-opencode.git
synced 2026-04-28 04:19:27 +00:00
- Introduce `scope`, `tags`, `min_version`, `homepage`, and `installation` fields for enhanced discoverability and guidance. - Remove `install` and `compatibility` objects, replacing them with a simplified `installation` string field. - Add `examples/` directory with full exemplar files for each extension type. - Update `schema-design.md` to reflect new schema, clarify field definitions, and improve documentation structure.
63 lines
1.9 KiB
JSON
63 lines
1.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://github.com/awesome-opencode/awesome-opencode/data/schema.json",
|
|
"title": "Awesome Opencode Entry",
|
|
"description": "Schema for validating YAML entries in the awesome-opencode list",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "Display name of the project or tool"
|
|
},
|
|
"repo": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "URL to the repository (https://github.com/...)"
|
|
},
|
|
"tagline": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 120,
|
|
"description": "Short punchy summary (shown in collapsed view)"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "Full description of the project (shown when expanded)"
|
|
},
|
|
"scope": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["global", "project"]
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"description": "Installation scope: global (~/.config/opencode/) or project (.opencode/). Defaults to [global] if omitted."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Tags for filtering and discoverability"
|
|
},
|
|
"min_version": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+",
|
|
"description": "Minimum OpenCode version required (semver format, e.g. '1.0.0')"
|
|
},
|
|
"homepage": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "Documentation URL if different from repository"
|
|
},
|
|
"installation": {
|
|
"type": "string",
|
|
"description": "Detailed installation instructions in markdown format"
|
|
}
|
|
},
|
|
"required": ["name", "repo", "tagline", "description"],
|
|
"additionalProperties": true
|
|
}
|