json
Sun Oct 16 2022 10:40:44 GMT+0000 (Coordinated Universal Time)
{
"$id": "https://json.schemastore.org/pre-commit-config.json",
"$schema": "http://json-schema.org/draft-07/schema",
"definitions": {
"meta_repo": {
"type": "object",
"properties": {
"repo": {
"default": "meta",
"description": "meta hooks",
"enum": ["meta"],
"type": "string"
},
"hooks": {
"type": "array",
"items": {
"type": "object",
"required": ["id"],
"properties": {
"id": {
"type": "string",
"enum": [
"check-hooks-apply",
"check-useless-excludes",
"identity"
]
}
}
}
}
}
},
"local_repo": {
"type": "object",
"properties": {
"repo": {
"default": "local",
"description": "local hooks",
"enum": ["local"],
"type": "string"
},
"hooks": {
"type": "array",
"items": {
"$ref": "#/definitions/hook_definition",
"type": "object",
"required": ["id", "name", "entry", "language"]
}
}
}
},
"uri_repo": {
"type": "object",
"properties": {
"repo": {
"description": "the repository url to git clone from",
"type": "string",
"pattern": "^(?!.*(local|meta)).*$"
},
"rev": {
"description": "the revision or tag to clone at (previously sha).",
"type": "string"
},
"hooks": {
"description": "A list of hook mappings. See https://pre-commit.com/#pre-commit-configyaml---hooks.",
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/hook_definition"
}
}
}
},
"hook_definition": {
"type": "object",
"properties": {
"id": {
"description": "which hook from the repository to use.",
"type": "string"
},
"alias": {
"description": "(optional) allows the hook to be referenced using an additional id when using pre-commit run <hookid>.",
"type": "string"
},
"name": {
"description": "(optional) override the name of the hook - shown during hook execution.",
"type": "string"
},
"language": {
"description": "(optional) Tells pre-commit on how to install the hook. See https://pre-commit.com/#supported-languages",
"$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/language"
},
"language_version": {
"description": "(optional) override the language version for the hook. See https://pre-commit.com/#overriding-language-version.",
"type": "string"
},
"files": {
"description": "(optional) override the default pattern for files to run on.",
"type": "string"
},
"entry": {
"description": "(optional) Override default command to execute for the hook.",
"type": "string"
},
"exclude": {
"description": "(optional) file exclude pattern.",
"type": "string"
},
"types": {
"description": "(optional) override the default file types to run on. See https://pre-commit.com/#filtering-files-with-types.",
"$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types"
},
"types_or": {
"description": "(optional) override the default file types to run on (OR). See Filtering files with types. new in 2.9.0.",
"$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types"
},
"exclude_types": {
"description": "(optional) file types to exclude.",
"$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types"
},
"args": {
"description": "(optional) list of additional parameters to pass to the hook.",
"type": "array",
"items": {
"type": "string"
}
},
"stages": {
"description": "(optional) confines the hook to the commit, merge-commit, push, prepare-commit-msg, commit-msg, post-checkout, post-commit or manual stage. See https://pre-commit.com/#confining-hooks-to-run-at-certain-stages.",
"$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/stages"
},
"additional_dependencies": {
"description": "(optional) a list of dependencies that will be installed in the environment where this hook gets run. One useful application is to install plugins for hooks such as eslint.",
"type": "array",
"items": {
"type": "string"
}
},
"always_run": {
"description": "(optional) if true, this hook will run even if there are no matching files.",
"type": "boolean"
},
"verbose": {
"description": "(optional) if true, forces the output of the hook to be printed even when the hook passes.",
"type": "boolean"
},
"log_file": {
"description": "(optional) if present, the hook output will additionally be written to a file.",
"type": "string"
},
"pass_filenames": {
"description": "(optional) if false, this hook will be called only once without being called for each matching file.",
"type": "boolean",
"default": false
}
}
}
},
"properties": {
"ci": {
"description": "pre-commit.ci specific settings. See https://pre-commit.ci/#configuration",
"type": "object",
"properties": {
"autofix_commit_msg": {
"description": "custom commit message for PR autofixes",
"default": "[pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci",
"type": "string"
},
"autofix_prs": {
"description": "whether to autofix pull requests. when disabled, comment \"pre-commit.ci autofix\" on a pull request to manually trigger auto-fixing",
"default": true,
"type": "boolean"
},
"autoupdate_branch": {
"description": "branch to send autoupdate PRs to. by default, pre-commit.ci will update the default branch of the repository.",
"default": "",
"type": "string"
},
"autoupdate_commit_msg": {
"description": "custom commit message for autoupdate PRs",
"default": "[pre-commit.ci] pre-commit autoupdate",
"type": "string"
},
"autoupdate_schedule": {
"description": "control when the autoupdate runs",
"type": "string",
"default": "weekly",
"enum": ["weekly", "monthly", "quarterly"]
},
"skip": {
"description": "which hook ids to be skipped when running under pre-commit.ci",
"type": "array",
"items": {
"type": "string"
}
},
"submodules": {
"description": "whether to recursive check out submodules",
"default": false,
"type": "boolean"
}
}
},
"repos": {
"description": "A list of repository mappings. See https://pre-commit.com/#pre-commit-configyaml---repos.",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/meta_repo"
},
{
"$ref": "#/definitions/local_repo"
},
{
"$ref": "#/definitions/uri_repo"
}
]
}
},
"default_language_version": {
"description": "(optional: default {}) a mapping from language to the default language_version that should be used for that language. This will only override individual hooks that do not set language_version.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"default_stages": {
"description": "(optional: default (all stages)) a configuration-wide default for the stages property of hooks. This will only override individual hooks that do not set stages.",
"$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/stages"
},
"files": {
"description": "(optional: default '') global file include pattern.",
"type": "string",
"default": ""
},
"exclude": {
"description": "(optional: default ^$) global file exclude pattern.",
"type": "string",
"default": "^$"
},
"fail_fast": {
"description": "(optional: default false) set to true to have pre-commit stop running hooks after the first failure.",
"type": "boolean",
"default": false
},
"minimum_pre_commit_version": {
"description": "(optional: default '0') require a minimum version of pre-commit.",
"type": "string",
"default": "0"
}
},
"required": ["repos"],
"title": "JSON schema for .pre-commit-config.yaml",
"type": "object"
}
visual studio code insiders
https://json.schemastore.org/pre-commit-config.json


Comments