- id: check-added-large-files name: check for added large files description: prevents giant files from being committed. entry: check-added-large-files language: python stages: [commit, push, manual] - id: check-ast name: check python ast description: simply checks whether the files parse as valid python. entry: check-ast language: python types: [python] - id: check-byte-order-marker name: 'check BOM - deprecated: use fix-byte-order-marker' description: forbids files which have a utf-8 byte-order marker. entry: check-byte-order-marker language: python types: [text] - id: check-builtin-literals name: check builtin type constructor use description: requires literal syntax when initializing empty or zero python builtin types. entry: check-builtin-literals language: python types: [python] - id: check-case-conflict name: check for case conflicts description: checks for files that would conflict in case-insensitive filesystems. entry: check-case-conflict language: python - id: check-docstring-first name: check docstring is first description: checks a common error of defining a docstring after code. entry: check-docstring-first language: python types: [python] - id: check-executables-have-shebangs name: check that executables have shebangs description: ensures that (non-binary) executables have a shebang. entry: check-executables-have-shebangs language: python types: [text, executable] stages: [commit, push, manual] - id: check-json name: check json description: checks json files for parseable syntax. entry: check-json language: python types: [json] - id: check-shebang-scripts-are-executable name: check that scripts with shebangs are executable description: ensures that (non-binary) files with a shebang are executable. entry: check-shebang-scripts-are-executable language: python types: [text] stages: [commit, push, manual] - id: pretty-format-json name: pretty format json description: sets a standard for formatting json files. entry: pretty-format-json language: python types: [json] - id: check-merge-conflict name: check for merge conflicts description: checks for files that contain merge conflict strings. entry: check-merge-conflict language: python types: [text] - id: check-symlinks name: check for broken symlinks description: checks for symlinks which do not point to anything. entry: check-symlinks language: python types: [symlink] - id: check-toml name: check toml description: checks toml files for parseable syntax. entry: check-toml language: python types: [toml] - id: check-vcs-permalinks name: check vcs permalinks description: ensures that links to vcs websites are permalinks. entry: check-vcs-permalinks language: python types: [text] - id: check-xml name: check xml description: checks xml files for parseable syntax. entry: check-xml language: python types: [xml] - id: check-yaml name: check yaml description: checks yaml files for parseable syntax. entry: check-yaml language: python types: [yaml] - id: debug-statements name: debug statements (python) description: checks for debugger imports and py37+ `breakpoint()` calls in python source. entry: debug-statement-hook language: python types: [python] - id: destroyed-symlinks name: detect destroyed symlinks description: detects symlinks which are changed to regular files with a content of a path which that symlink was pointing to. entry: destroyed-symlinks language: python types: [file] - id: detect-aws-credentials name: detect aws credentials description: detects *your* aws credentials from the aws cli credentials file. entry: detect-aws-credentials language: python types: [text] - id: detect-private-key name: detect private key description: detects the presence of private keys. entry: detect-private-key language: python types: [text] - id: double-quote-string-fixer name: fix double quoted strings description: replaces double quoted strings with single quoted strings. entry: double-quote-string-fixer language: python types: [python] - id: end-of-file-fixer name: fix end of files description: ensures that a file is either empty, or ends with one newline. entry: end-of-file-fixer language: python types: [text] stages: [commit, push, manual] - id: file-contents-sorter name: file contents sorter description: sorts the lines in specified files (defaults to alphabetical). you must provide list of target files as input in your .pre-commit-config.yaml file. entry: file-contents-sorter language: python files: '^$' - id: fix-byte-order-marker name: fix utf-8 byte order marker description: removes utf-8 byte order marker. entry: fix-byte-order-marker language: python types: [text] - id: fix-encoding-pragma name: fix python encoding pragma description: 'adds # -*- coding: utf-8 -*- to the top of python files.' language: python entry: fix-encoding-pragma types: [python] - id: forbid-new-submodules name: forbid new submodules description: prevents addition of new git submodules. language: python entry: forbid-new-submodules types: [directory] - id: forbid-submodules name: forbid submodules description: forbids any submodules in the repository language: fail entry: 'submodules are not allowed in this repository:' types: [directory] - id: mixed-line-ending name: mixed line ending description: replaces or checks mixed line ending. entry: mixed-line-ending language: python types: [text] - id: name-tests-test name: python tests naming description: verifies that test files are named correctly. entry: name-tests-test language: python files: (^|/)tests/.+\.py$ - id: no-commit-to-branch name: "don't commit to branch" entry: no-commit-to-branch language: python pass_filenames: false always_run: true - id: requirements-txt-fixer name: fix requirements.txt description: sorts entries in requirements.txt. entry: requirements-txt-fixer language: python files: requirements.*\.txt$ - id: sort-simple-yaml name: sort simple yaml files description: sorts simple yaml files which consist only of top-level keys, preserving comments and blocks. language: python entry: sort-simple-yaml files: '^$' - id: trailing-whitespace name: trim trailing whitespace description: trims trailing whitespace. entry: trailing-whitespace-fixer language: python types: [text] stages: [commit, push, manual]