--- # https://pre-commit.com/ default_stages: [pre-commit, pre-push] default_language_version: # force all unspecified Python hooks to run python3 python: python3 node: 22.2.0 minimum_pre_commit_version: "3.2.0" repos: - repo: meta hooks: - id: identity name: run identity check - id: check-hooks-apply name: check hooks apply to the repository - repo: local hooks: - id: prettier name: run prettier description: format files with prettier entry: prettier --write . files: \.(json|md|ya?ml)$ language: node additional_dependencies: ["prettier@3.3.3"] - repo: https://github.com/gitleaks/gitleaks rev: v8.24.0 hooks: - id: gitleaks name: detect hardcoded secrets - repo: https://github.com/shssoichiro/oxipng rev: v9.1.4 hooks: - id: oxipng name: run oxipng args: ["-o", "4", "--strip", "safe", "--alpha"] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: check-added-large-files - id: check-case-conflict - id: check-executables-have-shebangs exclude: ^test/t/lang\.rb$ - id: check-illegal-windows-names - id: pretty-format-json args: [--autofix, --no-sort-keys] - id: check-json - id: check-merge-conflict - id: check-shebang-scripts-are-executable - id: check-vcs-permalinks - id: check-yaml - id: destroyed-symlinks - id: detect-aws-credentials args: [--allow-missing-credentials] - id: detect-private-key - id: end-of-file-fixer - id: file-contents-sorter args: [--unique] files: ^\.github/linters/codespell\.txt$ - id: fix-byte-order-marker - id: forbid-submodules - id: mixed-line-ending - id: trailing-whitespace - repo: https://github.com/Lucas-C/pre-commit-hooks rev: v1.5.5 hooks: - id: forbid-tabs name: no-tabs checker exclude: Makefile$ - id: remove-tabs name: tabs remover args: [--whitespaces-count, "2"] exclude: Makefile$ - repo: https://github.com/rhysd/actionlint rev: v1.7.7 hooks: - id: actionlint name: run actionlint description: lint GitHub Actions workflow files - repo: https://github.com/codespell-project/codespell rev: v2.4.1 hooks: - id: codespell name: run codespell description: Check spelling with codespell args: [--ignore-words=.github/linters/codespell.txt] - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 3.0.0 hooks: - id: script-must-not-have-extension name: run script-must-not-have-extension description: local policy is to exclude extension from all shell files types: [shell] - repo: https://github.com/igorshubovych/markdownlint-cli rev: v0.44.0 hooks: - id: markdownlint name: run markdownlint description: Checks the style of Markdown files args: [--config=.github/linters/.markdown-lint.yml] types: [markdown] files: \.md$ - repo: https://github.com/tcort/markdown-link-check rev: v3.13.7 hooks: - id: markdown-link-check name: run markdown-link-check description: Checks hyperlinks in Markdown files args: [--config=.github/linters/mlc_config.json, -q] types: [markdown] files: \.md$ - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.10.0.1 hooks: - id: shellcheck name: run shellcheck - repo: https://github.com/adrienverge/yamllint rev: v1.36.0 hooks: - id: yamllint name: run yamllint description: Check YAML files with yamllint args: [--strict, -c=.github/linters/.yaml-lint.yml] types: [yaml] files: \.ya?ml$