{ "$schema": "http://json-schema.org/draft-07/schema", "type": "object", "definitions": { "rule": { "oneOf": [ { "description": "A rule", "type": "array", "items": [ { "description": "Level: 0 disables the rule. For 1 it will be considered a warning, for 2 an error", "type": "number", "enum": [0, 1, 2] }, { "description": "Applicable: always|never: never inverts the rule", "type": "string", "enum": ["always", "never"] }, { "description": "Value: the value for this rule" } ], "minItems": 1, "maxItems": 3, "additionalItems": false }, { "description": "A rule", "typeof": "function" } ] } }, "properties": { "extends": { "description": "Resolveable ids to commitlint configurations to extend", "oneOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "string" } ] }, "parserPreset": { "description": "Resolveable id to conventional-changelog parser preset to import and use", "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "parserOpts": {} }, "additionalProperties": true }, { "typeof": "function" } ] }, "helpUrl": { "description": "Custom URL to show upon failure", "type": "string" }, "formatter": { "description": "Resolveable id to package, from node_modules, which formats the output", "type": "string" }, "rules": { "description": "Rules to check against", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "$ref": "#/definitions/rule" } }, "plugins": { "description": "Resolveable ids of commitlint plugins from node_modules", "type": "array", "items": { "anyOf": [ { "type": "string" }, { "type": "object", "required": ["rules"], "properties": { "rules": { "type": "object" } } } ] } }, "ignores": { "type": "array", "items": { "typeof": "function" }, "description": "Additional commits to ignore, defined by ignore matchers" }, "defaultIgnores": { "description": "Whether commitlint uses the default ignore rules", "type": "boolean" } } }