1
0
mirror of https://github.com/j178/prek.git synced 2026-04-25 02:11:36 +02:00
2024-11-10 16:19:17 +08:00
2024-11-04 15:44:55 +08:00
2024-11-10 16:19:17 +08:00
2024-11-10 16:01:31 +08:00
2024-10-28 22:24:57 +08:00
2024-10-07 15:52:58 +08:00
2024-11-10 16:01:31 +08:00
2024-11-10 16:01:31 +08:00
2024-10-07 16:23:41 +08:00
2024-10-31 19:56:03 +08:00
2024-10-31 14:54:00 +08:00

pre-commit-rs

Development Status CI

A reimplementation of the pre-commit tool in Rust, providing a faster and dependency-free alternative. It aims to be a drop-in replacement for the original tool while also providing some more advanced features.

Warning

This project is still in very early development, only a few of the original pre-commit features are implemented.

Features

  • A single binary with no dependencies, do not require Python or any other runtime.
  • Improved performance in hook preparation and execution.
  • Fully compatible with the original pre-commit configurations and hooks.
  • (TODO) Built-in support for monorepos.
  • (TODO) Built-in implementation of some common hooks.
  • (TODO) Integration with uv for managing Python tools and environments.

Installation

# Using brew
brew install j178/tap/pre-commit-rs

# Using the installer script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/pre-commit-rs/releases/latest/download/pre-commit-rs-installer.sh | sh

# Using cargo
cargo install --git https://github.com/j178/pre-commit-rs

# Download precompiled binaries from GitHub releases, go to:
https://github.com/j178/pre-commit-rs/releases

Usage

This tool is designed to be a drop-in replacement for the original pre-commit tool, so you can use it with your existing configurations and hooks.

Please refer to the official documentation for more information on how to configure and use pre-commit.

Acknowledgements

This project is heavily inspired by the original pre-commit tool, and it wouldn't be possible without the hard work of the maintainers and contributors of that project.

And a special thanks to the Astral team for their remarkable projects, particularly uv, from which I've learned a lot on how to write efficient and idiomatic Rust code.

S
Description
No description provided
Readme MIT 18 MiB
Languages
Rust 97.5%
Python 1.6%
Shell 0.5%
JavaScript 0.3%