{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "OpenRouter App",
  "description": "Schema for apps that work with OpenRouter",
  "type": "object",
  "required": ["name", "description", "url", "docs", "tags", "date_added"],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The name of the app"
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300,
      "description": "A short description of the app (1-2 sentences)"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "The URL to the app"
    },
    "docs": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "URL to documentation on using this app with OpenRouter"
    },
    "tags": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "enum": ["chat", "coding", "productivity", "creative", "research", "other"]
      },
      "description": "Categories that describe the app"
    },
    "open_source": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "URL to the source code repository (optional)"
    },
    "date_added": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date the app was added (YYYY-MM-DD format)"
    }
  }
}
