Husky is a great tool, but it requires Node.js to be installed. This requirement may prevent developers from using it on a project that does not use Node.js. This implementation aims to provide an executable that can be used in any git project despite the language or runtime available. The coding philosophy is to avoid dependencies to keep the size of the binary to a minimum, making it a CLI application that is accessible to anyone.
-
Upgrading from
0.1.*
to0.2.0
involves breaking changes.Version
0.2.0
is built on top of husky and follows its files and directories naming convention.During the
install
command, by default Captain Hook places all files in the.husky
directory rather than the.hooks
. The boot script for each hook is now called_/husky.sh
instead of_/captain-hook.sh
. Consequently, during theadd
command, the new hook will be prefixed with. "$(dirname "$0")/_/husky.sh"
.
To run captain-hook
you need to have git
installed on your machine.
It is possible to install captain-hook
in two flavours:
-
With Shell:
sh -c "$(curl -fsSL https://captain-hook.sh/install)"
To update the Captain Hook itself, rerun the above script. It will replace the current version with the latest one.
-
With Cargo:
cargo install captain-hook
To update the Captain Hook with Cargo, remember to force re-installing the binary.
cargo install -f captain-hook
Captain Hook is distributed under the terms of the MIT license.
See LICENSE for details.