2 # https://pre-commit.com/
3 default_stages: [commit, push]
4 default_language_version:
5 # force all unspecified Python hooks to run python3
7 minimum_pre_commit_version: "2.18.1"
12 - id: check-hooks-apply
13 - repo: https://github.com/pre-commit/pre-commit-hooks
16 - id: check-added-large-files
17 - id: check-case-conflict
18 - id: check-executables-have-shebangs
19 exclude: ^test/t/lang\.rb$
20 - id: check-merge-conflict
21 - id: check-shebang-scripts-are-executable
22 - id: check-vcs-permalinks
24 - id: destroyed-symlinks
25 - id: detect-aws-credentials
26 args: [--allow-missing-credentials]
27 - id: detect-private-key
28 - id: end-of-file-fixer
29 - id: file-contents-sorter
31 files: ^\.github/linters/codespell\.txt$
32 - id: fix-byte-order-marker
33 - id: forbid-submodules
34 - id: mixed-line-ending
35 - id: trailing-whitespace
36 - repo: https://github.com/Lucas-C/pre-commit-hooks
42 args: [--whitespaces-count, "2"]
44 - repo: https://github.com/codespell-project/codespell
49 description: Check spelling with codespell
50 args: [--ignore-words=.github/linters/codespell.txt]
51 - repo: https://github.com/jumanjihouse/pre-commit-hooks
54 - id: script-must-not-have-extension
55 name: Local policy is to exclude extension from all shell files
57 - repo: https://github.com/pre-commit/mirrors-prettier
61 exclude: ^doc/internal/opcode\.md$
62 - repo: https://github.com/igorshubovych/markdownlint-cli
66 name: Run markdownlint
67 description: Checks the style of Markdown files
68 args: [--config=.github/linters/.markdown-lint.yml]
71 - repo: https://github.com/tcort/markdown-link-check
74 - id: markdown-link-check
75 name: Run markdown-link-check
76 description: Checks hyperlinks in Markdown files
77 args: [--config=.github/linters/mlc_config.json, -q]
80 - repo: https://github.com/adrienverge/yamllint
85 description: Check YAML files with yamllint
86 args: [--strict, -c=.github/linters/.yaml-lint.yml]