{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://unpkg.com/@algorandfoundation/algo-docs-sync/schema/v1.json",
  "title": "Algo Docs Sync Configuration",
  "type": "object",
  "required": ["version", "generator", "basePath"],
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "type": "string",
      "format": "uri"
    },
    "generator": {
      "type": "string",
      "description": "Documentation generator identifier",
      "default": "typedoc"
    },
    "version": {
      "type": "string",
      "description": "Configuration version"
    },
    "basePath": {
      "type": "string",
      "description": "Base path for documentation. Guides at basePath/guides, API at basePath/api, manifest at basePath"
    },
    "guides": {
      "$ref": "#/definitions/filterSection",
      "description": "Markdown guides filtering configuration"
    },
    "api": {
      "$ref": "#/definitions/filterSection",
      "description": "API reference filtering configuration"
    }
  },
  "definitions": {
    "pattern": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "filterSection": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "include": {
          "$ref": "#/definitions/pattern",
          "description": "Glob pattern(s) for files to include"
        },
        "exclude": {
          "$ref": "#/definitions/pattern",
          "description": "Glob pattern(s) for files to exclude"
        }
      }
    }
  }
}
