Spectral · JSON Structure
Spectral Ruleset Structure
Hierarchical structure of a Spectral ruleset configuration.
Type: object
Properties: 0
API DesignAPI LintingAPI Style GuideAsyncAPIJSON SchemaOpenAPIQuality Assurance
Spectral Ruleset Structure is a JSON Structure definition published by Spectral.
Meta-schema:
JSON Structure
{
"title": "Spectral Ruleset Structure",
"description": "Hierarchical structure of a Spectral ruleset configuration.",
"type": "object",
"fields": [
{
"name": "extends",
"type": "string | string[]",
"required": false,
"description": "Parent ruleset(s) to inherit rules from (npm package names or URLs)."
},
{
"name": "rules",
"type": "object",
"required": false,
"description": "Map of rule name to rule definition.",
"children": [
{
"name": "{rule-name}",
"type": "object",
"fields": [
{ "name": "description", "type": "string", "required": false },
{ "name": "message", "type": "string", "required": false },
{
"name": "severity",
"type": "enum",
"values": ["error", "warn", "info", "hint", "off", 0, 1, 2, 3],
"required": false
},
{
"name": "given",
"type": "string | string[]",
"required": true,
"description": "JSONPath expression(s) selecting document nodes to test."
},
{
"name": "then",
"type": "object | object[]",
"required": true,
"fields": [
{ "name": "field", "type": "string", "required": false },
{ "name": "function", "type": "string", "required": true },
{ "name": "functionOptions", "type": "object", "required": false }
]
},
{
"name": "formats",
"type": "string[]",
"required": false,
"description": "Limit rule to specific document formats."
},
{
"name": "recommended",
"type": "boolean",
"required": false
}
]
}
]
},
{
"name": "aliases",
"type": "object",
"required": false,
"description": "Named JSONPath expressions for reuse across rules."
},
{
"name": "overrides",
"type": "array",
"required": false,
"description": "Per-file rule severity overrides.",
"items": {
"fields": [
{ "name": "files", "type": "string[]", "required": true },
{ "name": "rules", "type": "object", "required": true }
]
}
},
{
"name": "formats",
"type": "string[]",
"required": false,
"description": "Restrict the entire ruleset to specific document formats."
}
]
}