Open
Description
Currently, default_stages
controls two things:
- The stages that each hook supports by default. As a result, all of our hooks don't even support the
manual
stage, unless one overrides this option. In pre-commit, this is set to all stages. - Which hooks are installed.
This combination makes it difficult to allow all of our hooks to run in any stage by default, without also installing all of them. Unfortunately, fixing this looks like a breaking change.
pre-commit now has a new option: default_install_hook_types
. This matches the installation semantics of our current default_stages
.
And default_stages
is then only used as a fallback for when hooks don't specify any stages.