github j178/prek v0.2.0-alpha.2
0.2.0-alpha.2

latest releases: v0.3.2, v0.3.1, v0.3.0...
pre-release5 months ago

Release Notes

This is a re-release of 0.2.0-alpha.1, fixed an issue that prereleases are not published to PyPI.

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.

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.

For more details, see Workspace Mode. If you encounter any issues, please report them at Issues.

Special thanks to @potiuk for all the help and feedback in designing and testing this feature!

Enhancements

  • Support multiple .pre-commit-config.yaml in a workspace (monorepo mode) (#583)
  • Implement project and hook selector (#623)
  • Add prek run --cd <dir> to change directory before running (#581)
  • Support prek list in workspace mode (#586)
  • Support prek install|install-hooks|hook-impl|init-template-dir in workspace mode (#595)
  • Implement auto-update in workspace mode (#605)
  • Implement selector completion in workspace mode (#639)
  • Simplify auto-update implementation (#608)
  • Add a --dry-run flag to prek run (#622)
  • Cache workspace discovery result (#636)
  • Fix local script hook entry path in workspace mode (#603)
  • Fix hook-impl allow missing config (#600)
  • Fix docker mount in workspace mode (#638)
  • Show project line when project is not root (#637)

Documentation

  • Publish docs to https://prek.j178.dev (#627)
  • Improve workspace docs about skips rule (#615)
  • Add an full example and update docs (#582)

Other changes

  • Docs: .pre-commit-config.yml support has been removed (#630)
  • Enable publishing prereleases (#641)

Contributors

Install prek 0.2.0-alpha.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.0-alpha.2/prek-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.0-alpha.2/prek-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install j178/tap/prek

Download prek 0.2.0-alpha.2

File Platform Checksum
prek-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
prek-x86_64-apple-darwin.tar.gz Intel macOS checksum
prek-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
prek-i686-pc-windows-msvc.zip x86 Windows checksum
prek-x86_64-pc-windows-msvc.zip x64 Windows checksum
prek-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
prek-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
prek-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
prek-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
prek-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
prek-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
prek-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
prek-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
prek-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
prek-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
prek-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
prek-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
prek-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Don't miss a new prek release

NewReleases is sending notifications on new releases.