Inspired from husky but built for every stack. Because git is git whether you code in python, rust, go, or nodejs.
Because the intern shouldn't
git pushbroken, untested, unlinted, code to production - wise old programmer, 2025
Get hooks but for every stack - Python, Node, Rust, Go, anything.
GetHooky will make sure that you run your commands before(or after) doing any git command.
NOTE: GetHooky doesn't have control over what you do, so use wisely.
- Cross platform.
- ✅ Works with any language stack(python, go, rust, node)
- 👶 Very easy to use, even a 5 year old can use it.
- Store hooks in a version controlable manner, inside
.hookydirectory - 🧠 manages only hooks it has access to hooks with
# hookie ya rookie - 🛠 Easy to install, update and share hooks with your team
Prevent interns from pushing broken commits
$ hooky init
$ hooky add pre-commit "pytest"
$ hooky install
And then try running commit and let the black magic work!
| Method | Command |
|---|---|
| curl | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ezpieco/gethooky/master/tools/install.sh)" |
| wget | sh -c "$(wget -O- https://raw.githubusercontent.com/ezpieco/gethooky/master/tools/install.sh)" |
| scoop(windows recommended) | scoop bucket add hooky https://github.com/ezpieco/gethooky && scoop install hooky |
hooky initCreates a .hooky directory in your current directory
hooky add <hook-name> <command>Creates a .hooky/<hook-name> file with <command> in it.
hooky installInstalls all .hooky/* hooks into .git/hooks/* with custom hooks in mind.
| Tool | Language | Git hook sharing |
|---|---|---|
| Husky | Node.js only | Yes |
| pre-commit | Python only | Yes |
| GetHooky | Any language | Yes |
GetHooky stores all your hooks inside of .hooky where you can version control them and share it with your team.
When you run hooky install it generates a .git/hooky/<hook-name> with the following content:
#!/bin/sh
# hooky ya rookie
# your command here
if [ $? -ne 0 ]; then
echo ""
echo "🚫 Hook '<hook-name>' failed."
echo "👉 To bypass, use: git commit --no-verify"
echo ""
exit 1
fiOnly files with # hooky ya rookie are controlled by GetHooky, your custom ones are always skipped.
You can read the full docs at here
⭐ If you find GetHooky useful, consider starring the repo!
flowXM 💻 |
Maher 💻 |