{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/sakikoTGW/dsh-plugin-tailor/main/styles/schema.json", "title": "dsh-plugin-tailor style", "description": "A README style preset. Built-ins live in this directory; custom styles may live in /.tailor/styles or ~/.tailor/styles and use `extends` to inherit from another style.", "type": "object", "additionalProperties": true, "required": ["id", "label", "essence", "language", "tone", "hero", "demo", "mark", "palette", "badgeSet", "sections", "labels", "notes", "requiredFacts"], "properties": { "$schema": { "type": "string" }, "extends": { "type": "string", "pattern": "^[a-z][a-z0-9-]{1,31}$", "description": "Inherit every field from this style id, then override only what you set." }, "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]{1,31}$" }, "label": { "$ref": "#/definitions/i18n" }, "essence": { "$ref": "#/definitions/i18n" }, "tone": { "$ref": "#/definitions/i18n" }, "notes": { "$ref": "#/definitions/i18n" }, "description": { "type": "string" }, "author": { "type": "string" }, "version": { "type": "string" }, "language": { "enum": ["bilingual", "zh-first", "en-first"] }, "hero": { "enum": ["banner", "logo", "none"] }, "demo": { "enum": ["gif", "screenshot", "none"] }, "mark": { "enum": ["needle", "stitch", "quill", "arcs", "orbit", "prompt", "bubble", "radar", "hexstack", "monogram", "spark", "layers"] }, "palette": { "type": "object", "required": ["brand", "deep", "ink", "green", "bg", "border"], "additionalProperties": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" } }, "badgeSet": { "type": "array", "items": { "enum": ["npm", "version", "license", "dsh", "node", "ci", "checks", "stars", "platform", "forum"] } }, "sections": { "type": "array", "minItems": 1, "items": { "enum": ["hero", "language", "badges", "title", "tagline", "nav", "demo", "toc", "why", "how", "install", "quickstart", "features", "evidence", "structure", "tests", "limitations", "feedback", "license", "screenshots", "compatibility", "community", "faq", "download", "tutorial", "docs", "usage", "remote", "credits", "in-the-wild"] } }, "labels": { "type": "object", "additionalProperties": { "$ref": "#/definitions/i18n" } }, "visual": { "type": "object", "description": "Layout engine and visual switches for the README renderer (v0.5+).", "properties": { "engine": { "enum": ["editorial", "centered", "showcase"] }, "badgeStyle": { "enum": ["flat-square", "for-the-badge"] }, "demoWidth": { "type": "integer", "minimum": 480, "maximum": 960 }, "navStyle": { "enum": ["chips", "inline"] }, "featureCards": { "type": "boolean" }, "footer": { "type": "boolean" } }, "additionalProperties": false }, "requiredFacts": { "type": "array", "items": { "type": "string" } } }, "definitions": { "i18n": { "type": "object", "required": ["zh", "en"], "properties": { "zh": { "type": "string", "minLength": 1 }, "en": { "type": "string", "minLength": 1 } } } } }