docs-v2/scripts/schemas/scaffold-proposal.schema.json

146 lines
4.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Content Scaffolding Proposal",
"description": "Proposal generated by AI analysis for creating documentation files",
"type": "object",
"required": ["analysis", "files"],
"properties": {
"analysis": {
"type": "object",
"description": "Analysis results from AI agents",
"required": ["topic", "targetProducts", "section", "isShared"],
"properties": {
"topic": {
"type": "string",
"description": "Brief topic description"
},
"targetProducts": {
"type": "array",
"description": "Products this documentation applies to",
"items": { "type": "string" },
"minItems": 1
},
"section": {
"type": "string",
"description": "Documentation section (admin, write-data, query-data, etc.)"
},
"isShared": {
"type": "boolean",
"description": "Whether content should be shared across products"
},
"reasoning": {
"type": "string",
"description": "Explanation for structure decisions"
},
"styleReview": {
"type": "object",
"description": "Style compliance review from Style Agent",
"properties": {
"issues": {
"type": "array",
"items": { "type": "string" }
},
"recommendations": {
"type": "array",
"items": { "type": "string" }
}
}
},
"codeValidation": {
"type": "object",
"description": "Code sample validation from Coding Agent",
"properties": {
"tested": {
"type": "boolean",
"description": "Whether code samples were tested"
},
"tools": {
"type": "array",
"description": "Tools used in code samples",
"items": { "type": "string" }
}
}
}
}
},
"files": {
"type": "array",
"description": "Files to create",
"minItems": 1,
"items": {
"type": "object",
"required": ["path", "type"],
"properties": {
"path": {
"type": "string",
"description": "File path relative to repository root"
},
"type": {
"type": "string",
"enum": ["shared-content", "frontmatter-only"],
"description": "File type: shared-content (with body) or frontmatter-only (just frontmatter + source)"
},
"content": {
"type": "string",
"description": "Markdown content (for shared-content files)"
},
"frontmatter": {
"type": "object",
"description": "Frontmatter object (for frontmatter-only files)",
"required": ["title", "description", "menu", "weight"],
"properties": {
"title": {
"type": "string",
"description": "Page title"
},
"description": {
"type": "string",
"description": "SEO description"
},
"menu": {
"type": "object",
"description": "Menu configuration",
"patternProperties": {
".*": {
"type": "object",
"required": ["name"],
"properties": {
"name": { "type": "string" },
"parent": { "type": "string" }
}
}
}
},
"weight": {
"type": "number",
"description": "Sort weight"
},
"source": {
"type": "string",
"description": "Path to shared content file"
},
"related": {
"type": "array",
"description": "Related article URLs",
"items": { "type": "string" }
},
"alt_links": {
"type": "object",
"description": "Cross-product navigation links",
"patternProperties": {
".*": { "type": "string" }
}
}
}
}
}
}
},
"nextSteps": {
"type": "array",
"description": "Recommended next steps after file creation",
"items": { "type": "string" }
}
}
}