Supported hooks
To add to this list, fork this repository.
Also available in json.
github.com/pre-commit/pre-commit-hooks
-
autopep8-wrapper- (removed) use pre-commit/mirrors-autopep8 instead. -
check-added-large-files- Prevent giant files from being committed -
check-ast- Simply check whether the files parse as valid python. -
check-byte-order-marker- forbid files which have a UTF-8 byte-order marker -
check-builtin-literals- Require literal syntax when initializing empty or zero Python builtin types. -
check-case-conflict- Check for files that would conflict in case-insensitive filesystems -
check-docstring-first- Checks a common error of defining a docstring after code. -
check-executables-have-shebangs- Ensures that (non-binary) executables have a shebang. -
check-json- This hook checks json files for parseable syntax. -
pretty-format-json- This hook sets a standard for formatting JSON files. -
check-merge-conflict- Check for files that contain merge conflict strings. -
check-symlinks- Checks for symlinks which do not point to anything. -
check-toml- This hook checks toml files for parseable syntax. -
check-vcs-permalinks- Ensures that links to vcs websites are permalinks. -
check-xml- This hook checks xml files for parseable syntax. -
check-yaml- This hook checks yaml files for parseable syntax. -
debug-statements- Check for debugger imports and py37+ `breakpoint()` calls in python source. -
detect-aws-credentials- Detects *your* aws credentials from the aws cli credentials file -
detect-private-key- Detects the presence of private keys -
double-quote-string-fixer- This hook replaces double quoted strings with single quoted strings -
end-of-file-fixer- Ensures that a file is either empty, or ends with one newline. -
file-contents-sorter- Sort the lines in specified files (defaults to alphabetical). You must provide list of target files as input in your .pre-commit-config.yaml file. -
fix-byte-order-marker- removes UTF-8 byte order marker -
fix-encoding-pragma- Add # -*- coding: utf-8 -*- to the top of python files -
flake8- (removed) use gitlab.com/pycqa/flake8 instead. -
forbid-new-submodules- Prevent addition of new git submodules -
mixed-line-ending- Replaces or checks mixed line ending -
name-tests-test- This verifies that test files are named correctly -
no-commit-to-branch- Don't commit to branch -
pyflakes- (removed) use gitlab.com/pycqa/flake8 instead. -
requirements-txt-fixer- Sorts entries in requirements.txt -
sort-simple-yaml- Sorts simple YAML files which consist only of top-level keys, preserving comments and blocks. -
trailing-whitespace- This hook trims trailing whitespace.
github.com/pre-commit/mirrors-autopep8
-
autopep8
github.com/pre-commit/mirrors-coffeelint
-
coffeelint
github.com/pre-commit/mirrors-csslint
-
csslint
github.com/pre-commit/mirrors-eslint
-
eslint
github.com/pre-commit/mirrors-fixmyjs
-
fixmyjs
github.com/pre-commit/mirrors-jshint
-
jshint
github.com/pre-commit/mirrors-mypy
-
mypy
github.com/pre-commit/mirrors-puppet-lint
-
puppet-lint
github.com/pre-commit/mirrors-ruby-lint
-
ruby-lint
github.com/pre-commit/mirrors-scss-lint
-
scss-lint- scss_lint
github.com/pre-commit/mirrors-yapf
-
yapf
github.com/pre-commit/pygrep-hooks
-
python-check-blanket-noqa- Enforce that `noqa` annotations always occur with specific codes -
python-check-mock-methods- Prevent common mistakes of `assert mck.not_called()`, `assert mck.called_once_with(...)` and `mck.assert_called`. -
python-no-eval- A quick check for the `eval()` built-in function -
python-no-log-warn- A quick check for the deprecated `.warn()` method of python loggers -
python-use-type-annotations- Enforce that python3.6+ type annotations are used instead of type comments -
rst-backticks- Detect common mistake of using single backticks when writing rst -
rst-inline-touching-normal- Detect mistake of inline code touching normal text in rst -
text-unicode-replacement-char- Forbid files which have a UTF-8 Unicode replacement character
github.com/FalconSocial/pre-commit-mirrors-pep257
-
pep257
github.com/FalconSocial/pre-commit-python-sorter
-
python-import-sorter- This hook sorts python imports.
github.com/guykisel/pre-commit-robotframework-tidy
-
robotframework-tidy-wrapper- Runs Robot Framework's tidy tool.
github.com/guykisel/prospector-mirror
-
prospector- This hook runs Prospector: https://github.com/landscapeio/prospector
github.com/asottile/add-trailing-comma
-
add-trailing-comma- Automatically add trailing commas to calls and literals.
github.com/asottile/pyupgrade
-
pyupgrade- Automatically upgrade syntax for newer versions.
github.com/asottile/reorder_python_imports
-
reorder-python-imports- This hook reorders imports in python files.
github.com/asottile/yesqa
-
yesqa- Automatically remove unnecessary `# noqa` comments
github.com/asottile/blacken-docs
-
blacken-docs- Run `black` on python code blocks in documentation files
github.com/asottile/dead
-
dead- dead simple python dead code detection
github.com/asottile/setup-cfg-fmt
-
setup-cfg-fmt- apply a consistent format to `setup.cfg` files
github.com/asottile/cheetah_lint
-
cheetah-reorder-imports- This hook reorders imports in cheetah files. -
cheetah-flake- Lint cheetah code using flake8 and some other checks.
github.com/digitalpulp/pre-commit-php
-
php-lint-all- Check PHP Syntax on ALL PHP staged files with user friendly messages and colors -
php-lint- Runs php -l on all staged PHP files. Exits when it hits the first errored file -
php-unit- Run the full php unit test. Checks which PHPUnit executable is available first and then runs it. Preference order is vendor/bin, phpunit and phpunit.phar. -
php-cs- Run php codesniffer against all staged PHP files. -
php-cbf- Run php codesniffer against all staged PHP files. -
php-cs-fixer- Run php coding standards fixer against all staged PHP files. -
php-stan- Run PHPStan against all staged PHP files.
github.com/elidupuis/mirrors-jscs
-
jscs
github.com/elidupuis/mirrors-sass-lint
-
sass-lint
github.com/jumanjihouse/pre-commit-hooks
-
bundler-audit- Check for vulnerable gem versions and insecure sources -
check-mailmap- Detect if an email address needs to be added to mailmap -
fasterer- Use fasterer to suggest speed improvements in Ruby -
forbid-binary- Forbid binary files from being committed -
forbid-space-in-indent- Forbid spaces in indentation -
git-check- Use git to check for conflict markers and core.whitespace errors, respecting .gitattributes -
git-dirty- Detect if git tree contains modified, staged, or untracked files -
markdownlint- Check markdown files and flag style issues -
protect-first-parent- Protect first parent from foxtrot merges -
reek- Use reek to find ruby code smells -
require-ascii- Ensure file is ascii-encoded -
rubocop- Enforce Ruby style guide with rubocop and rubocop-rspec -
shellcheck- Shell scripts conform to shellcheck -
script-must-have-extension- Non-executable shell script filename ends in .sh -
script-must-not-have-extension- Executable shell script omits the filename extension -
shfmt- Check shell style with shfmt
github.com/jumanjihouse/pre-commit-hook-yamlfmt
-
yamlfmt- Format YAML files
github.com/Lucas-C/pre-commit-hooks
-
forbid-crlf- Forbid files containing CRLF end-lines to be committed -
remove-crlf- Replace CRLF end-lines by LF ones before committing -
forbid-tabs- Forbid files containing tabs to be committed -
remove-tabs- Replace tabs by whitespaces before committing -
insert-license- Insert a short license disclaimer as a header comment in source files
github.com/Lucas-C/pre-commit-hooks-go
-
checkmake- Makefile linter/analyzer
github.com/Lucas-C/pre-commit-hooks-java
-
validate-html- HTML syntax validator using W3C v.Nu checker, with support for handlebars/jinja2 templates
github.com/Lucas-C/pre-commit-hooks-lxml
-
forbid-html-img-without-alt-text- List every <img> tag without a alt= or data-ng-attr-alt= attribute -
forbid-non-std-html-attributes- Detect any non-standard attribute that is not prefixed with data- -
detect-missing-css-classes- Detect unused or missing CSS classes definitions, and abort if any of the later ones is found -
html-tags-blacklist- Forbid some HTML tags -
html-attributes-blacklist- Forbid some HTML attributes
github.com/Lucas-C/pre-commit-hooks-markup
-
rst-linter- Check .rst files with the same linter used by pypi.org
github.com/Lucas-C/pre-commit-hooks-nodejs
-
htmlhint- NodeJS HTML syntax linter (htmlhint) -
htmllint- NodeJS HTML syntax linter (htmllint) -
dockerfile_lint- Dockerfile linter -
markdown-toc- Insert a table of contents in Markdown files, like a README.md
github.com/Lucas-C/pre-commit-hooks-safety
-
python-safety-dependencies-check- Analyze your Python requirements for known security vulnerabilities
github.com/chriskuehl/puppet-pre-commit-hooks
-
epp-validate- Validate syntax of Puppet EPP templates -
erb-validate- Validate syntax of Ruby ERB templates -
g10k-validate- Validate syntax of Puppetfile using g10k -
puppet-lint- Check Puppet manifests for stylistic problems -
puppet-validate- Validate syntax of Puppet manifests -
r10k-validate- Validate syntax of Puppetfile using r10k -
ruby-validate- Validate syntax of ruby code
github.com/golangci/golangci-lint
-
golangci-lint- Fast linters runner for Go.
github.com/Bahjat/pre-commit-golang
-
go-fmt-import- Runs `goimport,gofmt`, requires golang -
go-vet- Runs `go vet`, requires golang -
go-lint- Runs `go lint`, requires golang -
go-unit-tests- Runs `go test`, requires golang -
gofumpt- Runs `gofumpt`, requires github.com/mvdan/gofumpt -
go-err-check- Runs `errcheck`, requires github.com/kisielk/errcheck -
go-static-check- Runs `staticcheck`, install https://staticcheck.io/docs/ -
golangci-lint- Runs `golangci-lint`, install https://github.com/golangci/golangci-lint
github.com/dnephin/pre-commit-golang
-
go-fmt- Runs `gofmt`, requires golang -
go-imports- Runs `goimports`, requires golang -
go-vet- Runs `go vet`, requires golang -
go-lint- Runs `golint`, requires https://github.com/golang/lint -
go-cyclo- Runs `gocyclo`, requires https://github.com/fzipp/gocyclo -
validate-toml- Runs `tomlv`, requires https://github.com/BurntSushi/toml/tree/master/cmd/tomlv" -
no-go-testing- Checks that no files are using `testing.T`, if you want developers to use a different testing framework -
gometalinter- -
golangci-lint- Runs `golangci-lint`, requires https://github.com/golangci/golangci-lint -
go-critic- Runs `go-critic`, requires https://github.com/go-critic/go-critic -
go-unit-tests- Runs `go test` -
go-build- Runs `go build`, requires golang -
go-mod-tidy- Runs `go mod tidy -v`, requires golang -
go-mod-vendor- Runs `go mod vendor`, requires golang
github.com/troian/pre-commit-golang
-
go-fmt- Runs `gofmt`, requires golang -
go-imports- Runs `goimports`, requires golang -
go-vet- Runs `go vet`, requires golang -
go-lint- Runs `golint`, requires https://github.com/golang/lint -
go-metalinter- Runs `gometalinter`, requires https://github.com/alecthomas/gometalinter -
go-build- Makes sure Go code can build -
go-build-plugin- Makes sure Go code can build package as plugin
github.com/jstewmon/check-swagger
-
check-swagger- Hook to validate swagger specs.
github.com/detailyang/pre-commit-shell
-
shell-lint- Check Shell Syntax on ALL staged files with user friendly messages and colors
github.com/bemeurer/beautysh
-
beautysh- A Bash beautifier for the masses. https://pypi.python.org/pypi/beautysh
github.com/antonbabenko/pre-commit-terraform
-
terraform_fmt- Rewrites all Terraform configuration files to a canonical format. -
terraform_docs- Inserts input and output documentation into README.md (using terraform-docs). -
terraform_docs_without_aggregate_type_defaults- Inserts input and output documentation into README.md (using terraform-docs). Identical to terraform_docs. -
terraform_docs_replace- Overwrite content of README.md with terraform-docs. -
terraform_validate- Validates all Terraform configuration files. -
terraform_tflint- Validates all Terraform configuration files with TFLint. -
terragrunt_fmt- Rewrites all Terragrunt configuration files to a canonical format. -
terragrunt_validate- Validates all Terragrunt configuration files. -
terraform_tfsec- Static analysis of Terraform templates to spot potential security issues. -
checkov- Runs checkov on Terraform templates.
github.com/ansible/ansible-lint
-
ansible-lint- This hook runs ansible-lint.
github.com/doublify/pre-commit-clang-format
-
clang-format- Format files with ClangFormat.
github.com/doublify/pre-commit-go
-
fmt- Format files with go fmt. -
vet- Check files with go vet. -
fix- Fix files with go fix.
github.com/doublify/pre-commit-hindent
-
hindent- Format files with hindent.
github.com/doublify/pre-commit-rust
-
fmt- Format files with cargo fmt. -
cargo-check- Check the package for errors. -
clippy- Lint rust sources
github.com/kintoandar/pre-commit
-
terraform_fmt- Formats terraform scripts into the correct checkstyle -
terraform_validate- Validates terraform scripts syntax -
prometheus_check_rules- Validates prometheus rules -
prometheus_check_config- Validates prometheus configuration
github.com/awebdeveloper/pre-commit-stylelint
-
stylelint
github.com/awebdeveloper/pre-commit-tslint
-
tslint
github.com/awebdeveloper/pre-commit-prettier
-
prettier
github.com/prettier/prettier
-
prettier
github.com/adrienverge/yamllint
-
yamllint- This hook runs yamllint.
github.com/thlorenz/doctoc
-
doctoc
github.com/noahsark769/xcodeproj-sort-pre-commit-hook
-
xcodeproj-sort- This hook sorts your .xcodeproj file
github.com/jorisroovers/gitlint
-
gitlint
github.com/psf/black
-
black- Black: The uncompromising Python code formatter
github.com/IamTheFij/ansible-pre-commit
-
encryption-check- Checks that vault files are encrypted
github.com/IamTheFij/docker-pre-commit
-
docker-compose-check- Checks that docker-compose files are valid -
hadolint- Runs hadolint Docker image to lint Dockerfiles -
hadolint-system- Runs system hadolint to lint Dockerfiles
github.com/mattlqx/pre-commit-ruby
-
rubocop- Enforce Ruby style guide with rubocop -
rspec- Run rspec in changed paths with spec directories -
foodcritic- Enforce Chef style guide with foodcritic -
cookstyle- Enforce Chef style guide with cookstyle -
chef-cookbook-version- Ensure Chef cookbook versions are bumped when contents are changed
github.com/mattlqx/pre-commit-sign
-
sign-commit- Hashes some fields of the commit and adds a signature for verification by other systems
github.com/mattlqx/pre-commit-search-and-replace
-
search-and-replace- Search and replace strings
github.com/pryorda/dockerfilelint-precommit-hooks
-
dockerfilelint- Dockerfile linter
github.com/alessandrojcm/commitlint-pre-commit-hook
-
commitlint- Commitlint hook -
commitlint-travis- Lint all relevant commits for a change or PR on Travis CI
github.com/henryykt/pre-commit-perl
-
perlcritic- Runs `perlcritic`, requires script in PATH -
perltidy- Runs `perltidy`, requires script in PATH
github.com/juancarlospaco/pre-commit-nim
-
nimble-check- nimble check -
nim-check- nim check
github.com/awslabs/cfn-python-lint
-
cfn-python-lint- AWS CloudFormation Linter
github.com/thoughtworks/talisman
-
talisman-commit- talisman -
talisman-push- talisman
gitlab.com/PyCQA/flake8
-
flake8- `flake8` is a command-line utility for enforcing style consistency across Python projects.
github.com/PyCQA/bandit
-
bandit- Bandit is a tool for finding common security issues in Python code
github.com/PyCQA/pydocstyle
-
pydocstyle- pydocstyle is a static analysis tool for checking compliance with Python docstring conventions.
github.com/PyCQA/pylint
-
pylint
github.com/PyCQA/doc8
-
doc8- This hook runs doc8 for linting docs
github.com/PyCQA/prospector
-
prospector- Analyze Python code using Prospector
github.com/miki725/importanize
-
importanize- Organize python imports
github.com/motet-a/jinjalint
-
jinjalint- A linter which checks the indentation and the correctness of Jinja-like/HTML templates.
github.com/milin/giticket
-
giticket- Utility to prepend your commits with info from your branch.
github.com/sqlalchemyorg/zimports
-
zimports- Python import rewriter
github.com/peterdemin/pip-compile-multi
-
pip-compile-multi-verify- pip-compile-multi verify
github.com/homebysix/pre-commit-macadmin
-
check-autopkg-recipe-list- This hook checks AutoPkg recipe lists (in txt, plist, yaml, or json format) for common issues. -
check-autopkg-recipes- This hook checks AutoPkg recipes to ensure they contain required top-level keys. -
check-git-config-email- This hook checks to ensure the Git config email matches one of the specified domains. -
check-jamf-extension-attributes- This hook checks Jamf extension attributes for common issues. -
check-jamf-scripts- This hook checks Jamf scripts for common issues. -
check-jamf-profiles- This hook checks Jamf profiles for common issues. -
check-munki-pkgsinfo- This hook checks Munki pkginfo files to ensure they are valid. -
check-munkiadmin-scripts- This hook ensures MunkiAdmin scripts are executable. -
check-munkipkg-buildinfo- This hook checks MunkiPkg build-info files to ensure they are valid. -
check-outset-scripts- This hook checks Outset scripts to ensure they're executable. -
check-plists- This hook checks XML property list (plist) files for basic syntax errors. -
forbid-autopkg-overrides- This hook prevents AutoPkg overrides from being added to the repo. -
forbid-autopkg-trust-info- This hook prevents AutoPkg recipes with trust info from being added to the repo. -
munki-makecatalogs- This hook runs the "makecatalogs" command to ensure all referenced packages are present and catalogs are up to date.
github.com/fortman/pre-commit-prometheus
-
check-config- Check prometheus config files -
check-rules- Check prometheus rule files -
test-rules- Unit test prometheus rule files
github.com/syntaqx/git-hooks
-
circleci-config-validate- Test if the CircleCI config is well formed. -
go-fmt- Runs `go fmt` and asserts no changes are needed. -
go-test- Runs `go test` and asserts no tests are failing. -
go-mod-tidy- Runs `go mod tidy` to ensure `go.mod` matches the project source. -
go-generate- Runs `go generate` against the projects go files. -
forbid-binary- Forbid binary files from being committed -
shellcheck- Shell scripts conform to shellcheck -
shfmt- Check shell style with shfmt
github.com/Calinou/pre-commit-luacheck
-
luacheck- Lints Lua files using Luacheck.
github.com/belminf/pre-commit-chef
-
cookstyle- Chef-specific Rubocop linting with Cookstyle -
foodcritic- Chef cookbook linting with Foodcritic
github.com/PyCQA/isort
-
isort
github.com/pocc/pre-commit-hooks
-
clang-format- Formats C/CPP code -
clang-tidy- Find warnings/errors in C/CPP code -
oclint- Find warnings/errors in C/CPP code -
uncrustify- Formats C/CPP code -
cppcheck- Find warnings/errors in C/CPP code
github.com/dwightgunning/pre-commit-nglint
-
nglint- Runs ng lint
github.com/codespell-project/codespell
-
codespell- Checks for common misspellings in text files.
gitlab.com/smop/pre-commit-hooks
-
check-poetry- Validates the structure of the pyproject.toml file -
check-gitlab-ci- Validates .gitlab-ci.yml file
github.com/seddonym/import-linter
-
import-linter- Import Linter allows you to define and enforce rules for the internal and external imports within your Python project.
github.com/marco-c/taskcluster_yml_validator
-
taskcluster_yml- Checks for validity of .taskcluster.yml file.
github.com/myint/docformatter
-
docformatter- Formats docstrings to follow PEP 257. -
docformatter-venv- Formats docstrings to follow PEP 257. Uses python3 -m venv.
github.com/myint/rstcheck
-
rstcheck
github.com/myint/autoflake
-
autoflake
github.com/lorenzwalthert/precommit
-
roxygenize- run roxygen2::roxygenize() -
use-tidy-description- run usethis::use_tidy_description() -
style-files- style files with styler -
no-browser-statement- check if a .R file contains a `browser()` statement -
parsable-R- check if a .R file is parsable -
readme-rmd-rendered- make sure README.Rmd hasn't been edited more recently than README.md -
codemeta-description-updated- make sure codemeta.json is in sync with DESCRIPTION. It should be run after use-tidy-description. -
spell-check- perform a spell check with spelling::spell_check_files() -
deps-in-desc- Check if dependencies that can be parsed from code are in DESCRIPTION. -
lintr- check if a .R file is lint free (using lintr)
github.com/FelixSeptem/pre-commit-golang
-
bazel-buildifier- Runs `buildifier`, requires bazel buildifier -
go-imports- Runs `go imports`, requires golang -
go-critic- Runs `go-critic`, requires go-critic -
golangci-lint- Runs `golangci-lint`, requires golangci-lint -
golangci-lint-conf- Runs `golangci-lint` read local config file, requires golangci-lint -
go-mod-tidy- Runs `go mod tidy` make sure latest and avaliable go mod file
gitlab.com/daverona/pre-commit/cpp
-
clang-format- Run `clang-format` against C/C++ header and source files -
cpplint- Run `cpplint` against C/C++ header and source files -
cppcheck- Run `cppcheck` against C/C++ source files -
docker-clang-format- Run `clang-format` against C/C++ header and source files in Docker container -
docker-cpplint- Run `cpplint` against C/C++ header and source files in Docker container -
docker-cppcheck- Run `cppcheck` against C/C++ source files in Docker container
github.com/codingjoe/relint
-
relint- Write your own linting rules using regular expressions.
github.com/nix-community/nixpkgs-fmt
-
nixpkgs-fmt- Format nix code with nixpkgs-fmt.
github.com/d6e/beancount-check
-
beancount-check
gitlab.com/iamlikeme/nbhooks
-
nb-ensure-clean- Ensure that committed Jupyter notebooks contain no outputs.
github.com/Kuniwak/vint
-
vint- Lints all vim files
github.com/eschulte/lisp-format
-
lisp-format- Run lisp-format against lisp files
github.com/shellcheck-py/shellcheck-py
-
shellcheck- Test shell scripts with shellcheck
github.com/APIDevTools/swagger-cli
-
swagger-validation- Hook to validate swagger specs.
github.com/kynan/nbstripout
-
nbstripout- nbstripout: strip output from Jupyter and IPython notebooks
gitlab.com/devopshq/gitlab-ci-linter
-
gitlab-ci-linter- Validates .gitlab-ci.yml file (pure-python version without dependencies)
github.com/bmorcos/pre-commit-hooks-cpp
-
clang-format- Format C code using clang-format. -
cpplint- Check style of C code using cpplint. -
cppcheck- Check correctness of C code using cppcheck.
github.com/igorshubovych/markdownlint-cli
-
markdownlint- Checks the style of Markdown/Commonmark files.
github.com/TekWizely/pre-commit-golang
-
go-build-mod- Run 'cd $(mod_root $FILE); go build -o /dev/null [$ARGS] ./...' for each staged .go file -
go-build-pkg- Run 'go build -o /dev/null [$ARGS] ./$(dirname $FILE)' for each staged .go file -
go-build-repo-mod- Run 'cd $(mod_root); go build -o /dev/null [$ARGS] ./...' for each module in the repo -
go-build-repo-pkg- Run 'go build -o /dev/null [$ARGS] ./...' in repo root folder -
go-critic- Run 'gocritic check [$ARGS] $FILE' for each staged .go file -
go-fmt- Run 'gofmt -l -d [$ARGS] $FILE' for each staged .go file -
go-imports- Run 'goimports -l -d [$ARGS] $FILE' for each staged .go file -
go-lint- Run 'golint -set_exit_status [$ARGS] $FILE' for each staged .go file -
go-returns- Run 'goreturns -l -d [$ARGS] $FILE' for each staged .go file -
go-test-mod- Run 'cd $(mod_root $FILE); go test [$ARGS] ./...' for each staged .go file -
go-test-pkg- Run 'go test [$ARGS] ./$(dirname $FILE)' for each staged .go file -
go-test-repo-mod- Run 'cd $(mod_root); go test [$ARGS] ./...' for each module in the repo -
go-test-repo-pkg- Run 'go test [$ARGS] ./...' in repo root folder -
go-vet-mod- Run 'cd $(mod_root $FILE); go vet [$ARGS] ./...' for each staged .go file -
go-vet-pkg- Run 'go vet [$ARGS] ./$(dirname $FILE)' for each staged .go file -
go-vet-repo-mod- Run 'cd $(mod_root); go vet [$ARGS] ./...' for each module in the repo -
go-vet-repo-pkg- Run 'go vet [$ARGS] ./...' in repo root folder -
go-vet- Run 'go vet [$ARGS] $FILE' for each staged .go file -
golangci-lint-mod- Run 'cd $(mod_root $FILE); golangci-lint run [$ARGS] ./...' for each staged .go file -
golangci-lint-pkg- Run 'golangci-lint run [$ARGS] ./$(dirname $FILE)' for each staged .go file -
golangci-lint-repo-mod- Run 'cd $(mod_root); golangci-lint run [$ARGS] ./...' for each module in the repo -
golangci-lint-repo-pkg- Run 'golangci-lint run [$ARGS] ./...' in repo root folder -
golangci-lint- Run 'golangci-lint run [$ARGS] $FILE' for each staged .go file
github.com/markdownlint/markdownlint
-
markdownlint- Run markdownlint on your Markdown files -
markdownlint_docker- Run markdown lint on your Markdown files using the project docker image
github.com/jguttman94/pre-commit-gradle
-
gradle-check- Runs java unit tests using gradle check -
gradle-build- Builds java project using "gradle build" -
gradle-spotless- Lints java project using "gradle spotlessJavaCheck spotlessJavaApply" -
gradle-task- Runs arbitrary gradle tasks for java project
github.com/Yelp/detect-secrets
-
detect-secrets- Detects high entropy strings that are likely to be passwords.
github.com/dmitri-lerko/pre-commit-docker-kustomize
-
kustomize- kustomize provided by docker
github.com/perltidy/perltidy
-
perltidy- Run the perltidy source code formatter on Perl source files
github.com/talos-systems/conform
-
conform- Run 'conform enforce' for policy enforcement
github.com/twu/skjold
-
skjold- Security audit Python project dependencies against security advisory databases.
github.com/woile/commitizen
-
commitizen- Check whether the commit message follows commiting rules
github.com/gherynos/pre-commit-java
-
pmd- Runs the PMD static code analyzer. -
cpd- Runs the Copy/Paste Detector (CPD). -
checkstyle- Runs the Checkstyle static code analysis tool.
github.com/lietu/go-pre-commit
-
errcheck- Check your Go source code with errcheck -
go-fmt-goimports- Format your Go code with go fmt and goimports -
go-test- Run your Go unit tests -
go-vet- Check your Go source with go vet -
gofumports- Format your Go code with gofumports -
gofumpt- Format your Go code with gofumpt -
golangci-lint- Check your Go code with golangci-lint -
golint- Check your Go code with golint -
staticcheck- Check your Go code with staticcheck
github.com/macisamuele/language-formatters-pre-commit-hooks
-
pretty-format-golang- Runs gofmt over golang source files. -
pretty-format-ini- This hook sets a standard for formatting INI files. -
pretty-format-java- Runs Google Java Formatter over Java source files -
pretty-format-kotlin- Runs KTLint over Kotlin source files -
pretty-format-rust- Runs cargo fmt over Rust source files -
pretty-format-toml- This hook sets a standard for formatting TOML files. -
pretty-format-yaml- This hook sets a standard for formatting YAML files.
github.com/jlebar/pre-commit-hooks
-
bazel-buildifier- Runs `buildifier`, requires buildifier binary -
do-not-submit- Forbids the string "DO NOT SUBMIT". -
clang-format-diff -
clang-format-whole-file
github.com/jazzband/pip-tools
-
pip-compile- Automatically compile requirements.
github.com/pappasam/toml-sort
-
toml-sort
github.com/arenadotio/pre-commit-ocamlformat
-
ocamlformat- Auto-formatter for OCaml code
github.com/hcodes/yaspeller
-
yaspeller
github.com/maltzj/google-style-precommit-hook
-
google-style-java- Formats code in Google's Java codestyle.
github.com/jvstein/pre-commit-dotnet-format
-
dotnet-format
github.com/PeterMosmans/jenkinslint
-
jenkinslint- Validates Jenkinsfiles using a Jenkins server
github.com/nicklockwood/SwiftFormat
-
swiftformat- Check swift files for formating issues with SwiftFormat
github.com/executablebooks/mdformat
-
mdformat- CommonMark compliant Markdown formatter
gitlab.com/daverona/pre-commit/php
-
phpmd- Run `phpmd` to find possible bugs, suboptimal code, overcomplicated expressions, and so on -
docker-phpmd- Run `phpmd` to find possible bugs, suboptimal code, overcomplicated expressions, and so on
github.com/anderseknert/pre-commit-opa
-
opa-test- Runs OPA unit tests on rego source files -
opa-fmt- Formats Rego policy using opa fmt -
opa-check- Check syntax of staged Rego files -
conftest-test- Run `conftest test` on staged config files -
conftest-verify- Run `conftest verify` on rego files
github.com/radix-ai/auto-smart-commit
-
auto-smart-commit- Automatically transform your Git commit messages into Jira smart commits
github.com/thibaudcolas/curlylint
-
curlylint- A linter which checks the indentation and the correctness of Jinja-like/HTML templates.
github.com/cheshirekow/cmake-format-precommit
-
cmake-format- cmake-format can format your listfiles nicely so that they don't look like crap. -
cmake-lint- cmake-lint will check your listfiles for style violations, common mistakes, and anti-patterns.
github.com/aorumbayev/pydantic-to-schema
-
pydantic-to-schema- Converts models from input path to output path as schemas
github.com/hadialqattan/pycln
-
pycln- A formatter for finding and removing unused import statements.
github.com/nbQA-dev/nbQA
-
nbqa- Run any standard Python code quality tool on a Jupyter Notebook