{
    "properties": {
        "extends": {
            "oneOf": [
                {
                    "minLength": 1,
                    "type": "string"
                },
                {
                    "items": {
                        "minLength": 1,
                        "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                }
            ]
        },
        "schematics": {
            "additionalProperties": {
                "properties": {
                    "aliases": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "description": {
                        "description": "A description for the schematic",
                        "type": "string"
                    },
                    "extends": {
                        "description": "An schematic override. It can be a local schematic or from another collection (in the format 'collection:schematic')",
                        "type": "string"
                    },
                    "factory": {
                        "description": "A folder or file path to the schematic factory",
                        "type": "string"
                    },
                    "hidden": {
                        "default": false,
                        "description": "Whether or not this schematic should be listed by the tooling. This does not prevent the tooling to run this schematic, just removes its name from listSchematicNames().",
                        "type": "boolean"
                    },
                    "private": {
                        "default": false,
                        "description": "Whether or not this schematic can be called from an external schematic, or a tool. This implies hidden: true.",
                        "type": "boolean"
                    },
                    "schema": {
                        "description": "Location of the schema.json file of the schematic",
                        "type": "string"
                    }
                },
                "required": [
                    "factory",
                    "description"
                ],
                "type": "object"
            },
            "description": "A map of schematic names to schematic details",
            "type": "object"
        },
        "version": {
            "type": "string"
        }
    },
    "required": [
        "schematics"
    ],
    "title": "Collection Schema for validating a 'collection.json'.",
    "type": "object"
}