{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "https://json.schemastore.org/linkinator-config.json",
  "properties": {
    "concurrency": {
      "description": "The number of connections to make simultaneously.",
      "type": "number",
      "default": 100
    },
    "config": {
      "description": "The config file path.",
      "type": "string"
    },
    "recurse": {
      "description": "By default, all scans are shallow. Only the top level links on the requested page will be scanned. By setting recurse to true, the crawler will follow all links on the page, and continue scanning links on the same domain for as long as it can go. Results are cached, so no worries about loops.",
      "type": "boolean",
      "default": true
    },
    "skip": {
      "description": "List of urls in regexy form to not include in the check.",
      "type": "string",
      "default": "www.googleapis.com"
    },
    "format": {
      "description": "Return the data in CSV or JSON format.",
      "type": "string",
      "default": "json",
      "enum": ["json", "text", "csv"]
    },
    "silent": {
      "description": "If true, does not show links",
      "type": "boolean",
      "default": false
    },
    "verbosity": {
      "description": "The output verbosity",
      "type": "string",
      "default": "error"
    },
    "timeout": {
      "description": "By default, requests made by linkinator do not time out (or follow the settings of the OS). This option (in milliseconds) will fail requests after the configured amount of time.",
      "type": "number",
      "default": "5000"
    },
    "markdown": {
      "description": "Automatically parse and scan markdown if scanning from a location on disk.",
      "type": "boolean",
      "default": false
    },
    "serverRoot": {
      "description": "When scanning a locally directory, customize the location on disk where the server is started. Defaults to the path passed in path.",
      "type": "string",
      "default": "./"
    },
    "directoryListing": {
      "description": "Automatically serve a static file listing page when serving a directory. Defaults to false.",
      "type": "boolean",
      "default": false
    },
    "retry": {
      "description": "Automatically retry requests that respond with an HTTP 429, and include a retry-after header. The RetryConfig option is a placeholder for fine-grained controls to be implemented at a later time, and is only included here to signal forward-compatibility.",
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "object"
        }
      ]
    },
    "retryErrors": {
      "description": "Automatically retry requests that return 5xx or unknown response.",
      "type": "boolean"
    },
    "retryErrorsCount": {
      "description": "How many times should an error be retried?",
      "type": "number"
    },
    "retryErrorsJitter": {
      "description": "Random jitter applied to error retry.",
      "type": "number"
    },
    "urlRewriteExpressions": {
      "description": "Collection of objects that contain a search pattern, and replacement.",
      "type": "array"
    }
  },
  "title": "JSON schema for Linkinator",
  "type": "object"
}
