Files
company-haness/.claude/schemas/ui-design.artifact.schema.json

34 lines
1.7 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#", "type": "object",
"required": ["basis-artifact-id", "basis-artifact-sha256", "user-flows", "screen-inventory", "state-matrix", "accessibility", "design-system-bindings", "visual-rationale"],
"properties": {
"basis-artifact-id": {"type": "string", "minLength": 1}, "basis-artifact-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
"user-flows": {"type": "array", "minItems": 1}, "screen-inventory": {"type": "array", "minItems": 1},
"state-matrix": {"type": "array", "minItems": 1}, "accessibility": {"type": "object", "minProperties": 1},
"design-system-bindings": {
"type": "array", "minItems": 1,
"items": {
"anyOf": [
{"type": "string", "minLength": 1},
{"type": "object", "required": ["release-id", "release-ref", "release-sha256", "component-ids", "delta"], "properties": {
"release-id": {"type": "string", "minLength": 1},
"release-ref": {"type": "string", "minLength": 1},
"release-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
"component-ids": {"type": "array"},
"delta": {"type": "object", "required": ["tokens", "components"], "properties": {
"tokens": {"type": "array"},
"components": {"type": "array", "items": {"anyOf": [
{"type": "string", "minLength": 1},
{"type": "object", "required": ["id", "reason"], "properties": {
"id": {"type": "string", "minLength": 1},
"reason": {"type": "string", "minLength": 1}
}}
]}}
}}
}}
]
}
}, "visual-rationale": {"type": "string", "minLength": 1}
}
}