| Crates.io | prefligit |
| lib.rs | prefligit |
| version | 0.0.8 |
| created_at | 2024-12-03 04:12:56.354146+00 |
| updated_at | 2025-01-06 11:28:46.045107+00 |
| description | pre-commit implemeneted in Rust |
| homepage | https://github.com/j178/prefligit |
| repository | https://github.com/j178/prefligit |
| max_upload_size | |
| id | 1469649 |
| size | 467,949 |
A reimplementation of the pre-commit tool in Rust, designed to be a faster, dependency-free and drop-in alternative, while also providing some additional opinionated features.
[!WARNING] This project is still in very early development, only a few of the original pre-commit features are implemented. It is not recommended for normal use yet, but feel free to try it out and provide feedback.
[!NOTE] This project was previously named
pre-commit-rs, but it was renamed toprefligitto prevent confusion with the existing pre-commit tool. See #73 for more information.
uv for managing Python tools and environments.prefligit provides a standalone installer script to download and install the tool:
# On Linux and macOS
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prefligit/releases/download/v0.0.8/prefligit-installer.sh | sh
# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://github.com/j178/prefligit/releases/download/v0.0.8/prefligit-installer.ps1 | iex"
prefligit is published as Python binary wheel to PyPI, you can install it using pip, uv (recommended), or pipx:
pip install prefligit
# or
uv tool install prefligit
# or
pipx install prefligit
brew install j178/tap/prefligit
Build from source using Cargo:
cargo install --locked prefligit
Install from the binary directly using cargo binstall:
cargo binstall prefligit
prefligit release artifacts can be downloaded directly from the GitHub releases.
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.
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.