rusty-hook
Git hook utility for Rust codebases that lets you run any script for any git hook.
Functional, but still in Beta!
Installing
The best way to install rusty-hook
is to use cargo
:
Or add it as a dev dependency in your Cargo.toml file:
[]
= "0.4.1"
Initialize
Run the init
command in any git directory to set it up:
This will ensure that all of the client side git hooks are available, and it will create a rusty-hook
configuration file if one does not already exist.
Configure
You define your desired git hook configuration in the rusty-hook
configuration file (a TOML file named .rusty-hook.toml
or rusty-hook.toml
).
Here's an example rusty-hook
configuration that leverages multiple git hooks, including the pre-commit and the pre-push hooks:
[]
= "cargo test"
= "cargo fmt -- --check"
= "echo yay"
[]
= true
Hooks
Under the [hooks]
table, you can add an entry for any and every git hook you want to run by adding a key using the name of the git hook, and then specify the command/script you want to run for that hook. Whenever that git hook is triggered, rusty-hook
will run your specified command!
Logging
Under the [logging]
table, you can control whether to log the output of running your specified hook commands. By default rusty-hook
will log the results of your hook script, but you can disable this behavior by setting the verbose
key to false
:
[]
= false
Alternatives
There's a few other git hook utilities available on crates.io, but none of them quite suited our needs so we made rusty-hook!
Contributions
All contributions are welcome and appreciated! Check out our Contributing Guidelines for more information about opening issues, developing, and more.