Git Clients

prek – reimagined version of pre-commit

prek is a Git hooks manager written in Rust, designed as a faster alternative to pre-commit. It uses the same general approach of running automated checks before changes are committed, but places greater emphasis on execution speed, efficient dependency management and a self-contained executable.

The application is designed to work with existing pre-commit configurations, making migration relatively straightforward. Developers can continue using familiar hooks while benefiting from a different execution engine.

prek is also well suited to larger codebases. It offers facilities for coordinating checks across multiple projects, reducing duplicated dependencies and running independent operations concurrently.

This is free and open source software.

Key Features

  • Compatible with pre-commit configuration files and hook definitions, allowing existing projects to migrate without substantially changing their setup.
  • Distributed as a standalone executable that doesn’t require Python or another language runtime to launch.
  • Shares downloaded toolchains and hook environments across projects, reducing installation time and disk usage.
  • Supports toolchains for Python, Node.js, Bun, Deno, Go, Rust and Ruby, with integration for uv and mise.
  • Includes native Rust implementations of common hooks, avoiding separate runtime environments for supported checks.
  • Provides workspace support for monorepositories, with independent project configurations and concurrent execution of suitable projects.
  • Supports priority-based concurrent hook execution and reusable priority definitions.
  • Accepts both traditional YAML configuration and a native prek.toml format, with a conversion utility for migrating configurations.
  • Offers hook groups for organising separate workflows, such as linting, formatting and continuous integration checks.
  • Provides file filtering, selective project execution and dry-run previews to inspect which checks will execute.
  • Offers update commands with controls for pinning revisions, checking references and delaying adoption of newly published changes.

Website: github.com/j178/prek
Support:
Developer: j178
License: MIT License

prek commands and options

prek is written in Rust. Learn Rust with our recommended free books and free tutorials.


Related Software

Git Hook Managers
lefthookGit hooks manager for Node.js, Ruby, Python and more
huskyGit hooks made easy
pre-commitManage and maintain multi-language pre-commit hooks
prekReimagined version of pre-commit
overcommitManage and configure Git hooks
hkGit hooks manager and project linting tool focusing on performance
simple-git-hooksSimple git hooks manager for small projects
CaptainHookFlexible Git hook manager
GithooksPlatform-independent hooks manager
git-hooksRewritten from icefox/git-hooks, with extra features
JigGit pre-commit hook on steroids

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted