pre-commit is a framework to run hooks written in many languages, and it manages
the language toolchain and dependencies for running the hooks.

prek is a reimagined version of pre-commit, built in Rust. It is designed to be
a faster, dependency-free and drop-in alternative for it, while also providing
some additional long-requested features.

Features:
- A single binary with no dependencies, does not require Python or any other
  runtime.
- Faster than pre-commit and more efficient in disk space usage.
- Fully compatible with the original pre-commit configurations and hooks.
- Built-in support for monorepos (i.e. workspace mode).
- Integration with uv for managing Python virtual environments and dependencies.
- Improved toolchain installations for Python, Node.js, Bun, Go, Rust and Ruby,
  shared between hooks.
- Built-in Rust-native implementation of some common hooks.
