{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/ryl/latest.json",
  "title": "ryl TOML config",
  "description": "JSON Schema root for `ryl` TOML configuration.",
  "x-lintel": {
    "source": "https://www.schemastore.org/ryl.json",
    "sourceSha256": "2a4f3b2d70b4a6655e051d58d5cbb08f4d99381be916f378b1046611a6a9f054",
    "fileMatch": [
      "ryl.toml",
      ".ryl.toml"
    ],
    "parsers": [
      "toml"
    ]
  },
  "type": "object",
  "properties": {
    "fix": {
      "anyOf": [
        {
          "$ref": "#/$defs/FixTable"
        },
        {
          "type": "null"
        }
      ],
      "description": "Native fix policy, available only in TOML config."
    },
    "ignore": {
      "anyOf": [
        {
          "$ref": "#/$defs/StringOrVec"
        },
        {
          "type": "null"
        }
      ],
      "description": "Ignore patterns, either as one multi-line string or a list of patterns."
    },
    "ignore-from-file": {
      "anyOf": [
        {
          "$ref": "#/$defs/StringOrVec"
        },
        {
          "type": "null"
        }
      ],
      "description": "Paths to files that contain ignore patterns."
    },
    "locale": {
      "description": "Locale identifier used by diagnostics.",
      "type": [
        "string",
        "null"
      ]
    },
    "rules": {
      "anyOf": [
        {
          "$ref": "#/$defs/RulesTable"
        },
        {
          "type": "null"
        }
      ],
      "description": "Rule configuration table."
    },
    "yaml-files": {
      "description": "Glob patterns used to identify YAML files while scanning directories.",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    }
  },
  "$defs": {
    "FixRuleName": {
      "description": "A fixable rule name accepted by `fix.unfixable`.",
      "enum": [
        "braces",
        "brackets",
        "commas",
        "comments",
        "comments-indentation",
        "new-line-at-end-of-file",
        "new-lines"
      ],
      "type": "string"
    },
    "FixTable": {
      "type": "object",
      "description": "TOML `[fix]` table.",
      "properties": {
        "fixable": {
          "items": {
            "$ref": "#/$defs/FixableRuleSelector"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "unfixable": {
          "items": {
            "$ref": "#/$defs/FixRuleName"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "FixableRuleSelector": {
      "description": "A rule selector accepted by `fix.fixable`.",
      "enum": [
        "ALL",
        "braces",
        "brackets",
        "commas",
        "comments",
        "comments-indentation",
        "new-line-at-end-of-file",
        "new-lines"
      ],
      "type": "string"
    },
    "ForbidMode": {
      "enum": [
        "non-empty"
      ],
      "type": "string"
    },
    "ForbidSetting": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/ForbidMode"
        }
      ]
    },
    "IndentSequencesMode": {
      "enum": [
        "whatever",
        "consistent"
      ],
      "type": "string"
    },
    "IndentSequencesSetting": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/IndentSequencesMode"
        }
      ]
    },
    "NewLinesType": {
      "enum": [
        "unix",
        "dos",
        "platform"
      ],
      "type": "string"
    },
    "QuoteType": {
      "enum": [
        "any",
        "single",
        "double"
      ],
      "type": "string"
    },
    "QuotedStringsRequired": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/QuotedStringsRequiredMode"
        }
      ]
    },
    "QuotedStringsRequiredMode": {
      "enum": [
        "only-when-needed"
      ],
      "type": "string"
    },
    "RuleEntryForAnchorsOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForAnchorsOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForBraceLikeOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForBraceLikeOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForColonsOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForColonsOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForCommasOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForCommasOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForCommentsOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForCommentsOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForDocumentPresenceOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForDocumentPresenceOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForEmptyLinesOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForEmptyLinesOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForEmptyValuesOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForEmptyValuesOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForFloatValuesOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForFloatValuesOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForHyphensOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForHyphensOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForIndentationOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForIndentationOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForKeyDuplicatesOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForKeyDuplicatesOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForKeyOrderingOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForKeyOrderingOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForLineLengthOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForLineLengthOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForNewLinesOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForNewLinesOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForNoOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForNoOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForOctalValuesOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForOctalValuesOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForQuotedStringsOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForQuotedStringsOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleEntryForTruthyOptions": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/RuleSwitch"
        },
        {
          "$ref": "#/$defs/RuleOptionsForTruthyOptions"
        }
      ],
      "description": "Common rule entry shape used by TOML config."
    },
    "RuleLevel": {
      "description": "Rule severity override.",
      "enum": [
        "error",
        "warning"
      ],
      "type": "string"
    },
    "RuleOptionsForAnchorsOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "forbid-duplicated-anchors": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "forbid-undeclared-aliases": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "forbid-unused-anchors": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForBraceLikeOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "forbid": {
          "anyOf": [
            {
              "$ref": "#/$defs/ForbidSetting"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "max-spaces-inside": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max-spaces-inside-empty": {
          "type": [
            "integer",
            "null"
          ]
        },
        "min-spaces-inside": {
          "type": [
            "integer",
            "null"
          ]
        },
        "min-spaces-inside-empty": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForColonsOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "max-spaces-after": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max-spaces-before": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForCommasOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "max-spaces-after": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max-spaces-before": {
          "type": [
            "integer",
            "null"
          ]
        },
        "min-spaces-after": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForCommentsOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-shebangs": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "min-spaces-from-content": {
          "type": [
            "integer",
            "null"
          ]
        },
        "require-starting-space": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForDocumentPresenceOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "present": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForEmptyLinesOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "max": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max-end": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max-start": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForEmptyValuesOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "forbid-in-block-mappings": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "forbid-in-block-sequences": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "forbid-in-flow-mappings": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForFloatValuesOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "forbid-inf": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "forbid-nan": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "forbid-scientific-notation": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "require-numeral-before-decimal": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForHyphensOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "max-spaces-after": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForIndentationOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "check-multi-line-strings": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "indent-sequences": {
          "anyOf": [
            {
              "$ref": "#/$defs/IndentSequencesSetting"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "spaces": {
          "anyOf": [
            {
              "$ref": "#/$defs/SpacesSetting"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForKeyDuplicatesOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "forbid-duplicated-merge-keys": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForKeyOrderingOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignored-keys": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForLineLengthOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "allow-non-breakable-inline-mappings": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "allow-non-breakable-words": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "max": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForNewLinesOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "anyOf": [
            {
              "$ref": "#/$defs/NewLinesType"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForNoOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForOctalValuesOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "forbid-explicit-octal": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "forbid-implicit-octal": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForQuotedStringsOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "allow-quoted-quotes": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "check-keys": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "extra-allowed": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "extra-required": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        },
        "quote-type": {
          "anyOf": [
            {
              "$ref": "#/$defs/QuoteType"
            },
            {
              "type": "null"
            }
          ]
        },
        "required": {
          "anyOf": [
            {
              "$ref": "#/$defs/QuotedStringsRequired"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleOptionsForTruthyOptions": {
      "type": "object",
      "description": "Common rule fields plus rule-specific options.",
      "properties": {
        "allowed-values": {
          "items": {
            "$ref": "#/$defs/TruthyAllowedValue"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "check-keys": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "ignore": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ignore-from-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringOrVec"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleLevel"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RuleSwitch": {
      "description": "Shorthand rule enable/disable syntax.",
      "enum": [
        "enable",
        "disable"
      ],
      "type": "string"
    },
    "RulesTable": {
      "description": "Built-in rule table for TOML config.",
      "properties": {
        "anchors": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForAnchorsOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "braces": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForBraceLikeOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "brackets": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForBraceLikeOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "colons": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForColonsOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "commas": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForCommasOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "comments": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForCommentsOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "comments-indentation": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForNoOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "document-end": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForDocumentPresenceOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "document-start": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForDocumentPresenceOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "empty-lines": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForEmptyLinesOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "empty-values": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForEmptyValuesOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "float-values": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForFloatValuesOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "hyphens": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForHyphensOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "indentation": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForIndentationOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "key-duplicates": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForKeyDuplicatesOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "key-ordering": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForKeyOrderingOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "line-length": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForLineLengthOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "new-line-at-end-of-file": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForNoOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "new-lines": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForNewLinesOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "octal-values": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForOctalValuesOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "quoted-strings": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForQuotedStringsOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "trailing-spaces": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForNoOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "truthy": {
          "anyOf": [
            {
              "$ref": "#/$defs/RuleEntryForTruthyOptions"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object"
    },
    "SpacesMode": {
      "enum": [
        "consistent"
      ],
      "type": "string"
    },
    "SpacesSetting": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "$ref": "#/$defs/SpacesMode"
        }
      ]
    },
    "StringOrVec": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      ],
      "description": "A TOML field that accepts either one string or a list of strings."
    },
    "TruthyAllowedValue": {
      "enum": [
        "YES",
        "Yes",
        "yes",
        "NO",
        "No",
        "no",
        "TRUE",
        "True",
        "true",
        "FALSE",
        "False",
        "false",
        "ON",
        "On",
        "on",
        "OFF",
        "Off",
        "off"
      ],
      "type": "string"
    }
  }
}
