{
    "$schema": "http://json-schema.org/schema#",

    "title": "mindbender-core:config-1.0",
    "description": "A project configuration.",

    "type": "object",

    "additionalProperties": false,

    "required": [
        "schema"
    ],

    "properties": {
        "schema": {
            "description": "Schema identifier for payload",
            "type": "string"
        },
        "template": {
            "type": "object",
            "additionalProperties": false,
            "patternProperties": {
                "^.*$": {
                    "type": "string"
                }
            }
        },
        "tasks": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "icon": {"type": "string"},
                    "group": {"type": "string"},
                    "label": {"type": "string"}
                },
                "required": ["name"]
            }
        },
        "apps": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "icon": {"type": "string"},
                    "group": {"type": "string"},
                    "label": {"type": "string"}
                },
                "required": ["name"]
            }
        },
        "copy": {
            "type": "object",
            "additionalProperties": false,
            "patternProperties": {
                "^.*$": {
                    "anyOf": [
                        {"type": "string"},
                        {"type": "null"}
                    ]
                }
            }
        }
    }
}

{
    "$schema": "http://json-schema.org/schema#",

    "title": "mindbender-core:config-1.0",
    "description": "A project configuration.",

    "type": "object",

    "additionalProperties": false,
    "required": [
        "template",
        "tasks",
        "apps",
        "copy"
    ],

    "properties": {
        "schema": {
            "description": "Schema identifier for payload",
            "type": "string"
        },
        "template": {
            "type": "object",
            "additionalProperties": false,
            "patternProperties": {
                "^.*$": {
                    "type": "string"
                }
            }
        },
        "tasks": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "icon": {"type": "string"},
                    "group": {"type": "string"},
                    "label": {"type": "string"}
                },
                "required": ["name"]
            }
        },
        "apps": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "icon": {"type": "string"},
                    "group": {"type": "string"},
                    "label": {"type": "string"}
                },
                "required": ["name"]
            }
        },
        "copy": {
            "type": "object",
            "additionalProperties": false,
            "patternProperties": {
                "^.*$": {
                    "anyOf": [
                        {"type": "string"},
                        {"type": "null"}
                    ]
                }
            }
        }
    }
}

Establish more accurate schema for .config.toml
Establish more accurate schema for .config.toml
