Compatibility with pre-commit¶
prek is a practical drop-in replacement for pre-commit, with support for its repositories, configuration files, hooks, and command-line workflows.
What works unchanged¶
- Existing
.pre-commit-config.yamland.pre-commit-config.ymlfiles work inprek. See Configuration. - Existing hook repositories and
.pre-commit-hooks.yamlmanifests work inprek. - The main user-facing subcommands keep their upstream names:
install,run,sample-config,try-repo,uninstall,validate-config, andvalidate-manifest.
Command compatibility¶
For a smaller and more consistent command tree, prek hides some compatibility spellings from prek --help and groups some operations under cache or util. Hidden commands are still callable; hiding only keeps them out of the help output.
pre-commit spelling |
Preferred prek spelling |
Availability in prek |
|---|---|---|
pre-commit install-hooks |
prek prepare-hooks |
prek install-hooks remains available as a hidden alias. |
pre-commit install --install-hooks |
prek install --prepare-hooks |
--install-hooks remains available as a hidden alias. |
pre-commit autoupdate |
prek update |
prek autoupdate remains available as a hidden alias. |
pre-commit gc |
prek cache gc |
prek gc remains available but is hidden. |
pre-commit clean |
prek cache clean |
prek clean remains available but is hidden. |
pre-commit init-templatedir |
prek util init-template-dir |
prek init-templatedir remains available but is hidden. |
pre-commit migrate-config |
prek util yaml-to-toml |
Configuration migration lives under prek util and targets the native prek.toml format. |
pre-commit help <command> |
prek <command> --help |
Help uses the standard --help flag instead of a separate subcommand. |
pre-commit hook-impl |
prek hook-impl |
Available but hidden because installed Git hooks invoke it internally. |
Why the CLI is reorganized¶
pre-commit keeps many maintenance commands as separate top-level entries. prek reorganizes some of them so the command tree is easier to navigate:
- related cache operations live under
prek cache - helper and migration commands live under
prek util prepare-hooksdescribes what the command actually does more clearly thaninstall-hooks
This organization keeps the primary help output focused without removing the underlying functionality or compatibility entry points.
Not implemented¶
pre-commit hazmatis not implemented inprek.
If you need strict upstream portability¶
If the same config must continue working in upstream pre-commit, stay with the YAML config format and avoid prek-only features such as:
prek.tomlrepo: builtin- glob mappings for
filesandexclude - workspace mode
See Configuration for config format guidance, Configuration Reference for key-level details, and Differences for broader behavior and CLI differences.