This is a huge milestone release that introduces Workspace Mode — first‑class monorepo support.
prek now allows you to manage multiple projects with their own .pre-commit-config.yaml within a single repository.
It auto‑discovers nested projects, runs hooks in project scope, and provides flexible selectors to target specific projects and hooks.
This makes prek a powerful tool for managing pre-commit hooks in complex repository structures.
For more details, see Workspace Mode. If you encounter any issues, please report them at Issues.
Note: If you ran prek install in a repo before, you gonna need to run prek install again to replace the old git hook scripts for the workspace mode to work.
Special thanks to @potiuk and @hugovk for all the help and feedback in designing and testing this feature!
For detailed changes between 0.1.6 and 0.2.0, see 0.2.0-alpha.2, 0.2.0-alpha.3, 0.2.0-alpha.4, and 0.2.0-alpha.5.
Enhancements
Performance
Bug fixes
- Fix hook-impl don't run hooks when specified allow missing config (#716)
- fix: support py38 for pygrep (#723)
Other changes
- Fix installation on fish and with missing tags (#721)
Contributors
Install prek 0.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.0/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.0/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install j178/tap/prek