{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "JSON schema for the braisé configuration", "$id": "https://raw.githubusercontent.com/cestef/braise/main/schema/braise.schema.json", "type": "object", "title": "Braisé Configuration Schema", "definitions": { "task": { "type": "object", "title": "Task", "description": "A task to run in the braisé configuration", "patternProperties": { "/^command|cmd$/": { "type": "string", "description": "The command to run" }, "/^description|desc$/": { "type": "string", "description": "A description of the task" }, "/^shell|sh$/": { "type": "string", "description": "The shell to use for this task" }, "/^quiet$/": { "description": "Whether to suppress output for this task", "anyOf": [ { "type": "boolean" }, { "type": "integer", "minimum": 0, "maximum": 2 } ] }, "/^run(s?)(-|_)on|os|platform$/": { "type": "array", "description": "The platforms to run the task on", "items": { "type": "string", "enum": ["windows", "macos", "linux","android", "ios"] } }, "/^depends(-|_)on|deps|depends$/": { "type": "array", "items": { "type": "string" }, "description": "The names of tasks that this task depends on" }, "/^workspace$/": { "type": "boolean", "description": "Whether to automatically infer the command from the current cargo workspace" } }, "oneOf": [ { "required": ["command"], "not": { "required": ["workspace"] } }, { "required": ["workspace"], "not": { "required": ["command"] } } ] } }, "properties": { "shell": { "type": "string", "description": "The shell to use for braisé tasks" }, "quiet": { "description": "Whether to suppress all output", "anyOf": [ { "type": "boolean" }, { "type": "integer", "minimum": 0, "maximum": 2 } ] }, "default": { "type": "string", "description": "The default command to run when no command is specified" }, "dotenv": { "description": "The path to the .env file to load, or false to disable", "anyOf": [ { "type": "string" }, { "type": "boolean" } ] }, "parallel": { "type": "boolean", "description": "Whether to run tasks in parallel" } }, "additionalProperties": { "anyOf": [ { "type": "array", "items": { "type": "object", "$ref": "#/definitions/task" } }, { "type": "object", "$ref": "#/definitions/task" } ] } }