11 releases
0.1.10 | Sep 23, 2024 |
---|---|
0.1.9 | Sep 23, 2024 |
#2791 in Command line utilities
68KB
112 lines
Monk is a simple Git hooks manager
Monk's features:
- 🦀 Easily set up in your Rust project. No need to install additional package managers.
- ⚙️ Works with custom
build.rs
files. Automate the hooks installation process. - 💻 Run your hooks via CLI. Test your hooks without triggering them via Git.
Keep calm, monk will protect your repo!
Installation
You can install it using cargo
:
cargo install monk
Usage
Create a configuration file monk.yaml
in your project:
pre-commit:
commands:
- cargo fmt -- --check
- cargo clippy -- -D warnings
pre-push:
commands:
- cargo test
Then, install the hooks manually:
monk install
Or
Install monk
as a build dependency (this is the preferred way):
cargo add --build monk
and create a build script build.rs
:
pub fn main() {
monk::init();
}
This way, monk
will automatically install hooks for every team member during the build process.
Running hooks hooks manually
If you want to run specific hooks, use the run
command:
monk run pre-commit
Dependencies
~2.8–3.5MB
~73K SLoC