{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://codingplans.dev/schemas/app.schema.json",
  "title": "Recipe",
  "description": "A verified model-switching recipe for a coding tool.",
  "type": "object",
  "required": [
    "id",
    "name",
    "tagline",
    "description",
    "switch_steps",
    "deepseek_peak_impact",
    "source",
    "source_date"
  ],
  "properties": {
    "id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
    "name": { "type": "string", "minLength": 1 },
    "tagline": { "type": "string", "minLength": 1 },
    "description": { "type": "string", "minLength": 1 },
    "switch_steps": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": ["step", "title", "command", "comment"],
        "properties": {
          "step": { "type": "number", "minimum": 1 },
          "title": { "type": "string", "minLength": 1 },
          "command": { "type": "string", "minLength": 1 },
          "comment": { "type": "string", "minLength": 1 }
        },
        "additionalProperties": true
      }
    },
    "deepseek_peak_impact": { "type": "string", "minLength": 1 },
    "source": { "type": "string", "pattern": "^https://" },
    "source_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }
  },
  "additionalProperties": true
}
