{ "$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 }