{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "https://raw.githubusercontent.com/todogroup/repolinter/master/rules/file-starts-with-config.json",
  "type": "object",
  "properties": {
    "nocase": { "type": "boolean" },
    "globsAll": {
      "type": "array",
      "items": { "type": "string" }
    },
    "patterns": {
      "type": "array",
      "items": { "type": "string" }
    },
    "human-readable-pattern": { "type": "string" },
    "flags": { "type": "string" },
    "lineCount": {
      "type": "integer",
      "minimum": 1
    },
    "succeed-on-non-existent": {
      "type": "boolean",
      "default": false
    },
    "skip-binary-files": {
      "type": "boolean",
      "default": false
    },
    "skip-paths-matching": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "extensions": {
          "type": "array",
          "items": { "type": "string" }
        },
        "patterns": {
          "type": "array",
          "items": { "type": "string" }
        },
        "flags": { "type": "string" }
      },
      "required": ["patterns"]
    }
  },
  "required": ["lineCount", "patterns"],
  "oneOf": [{ "required": ["globsAll"] }, { "required": ["files"] }]
}
