Because the intern shouldn't
git push
broken, untested, unlinted, code to production - wise old programmer, 2025
A simple git hook manager for everyone. Inspired from husky but built for every stack. Because git is git whether you code in python, rust, go, or if you ever feel like killing youself nodejs.
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, except windows(thank me later).
- ✅ Works on any project irrespective of language
- 👶 Very easy to use, even a 5 year old can use it.
- Store hooks in a version controlable manner, inside
.hooky
directory - 🧠 manages only hooks it has access to - hooks with
# hookie ya rookie
- 🛠 Easy to install, update and share hooks with your team
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)" |
hooky init
Creates a .hooky
directory in your current directory
hooky add <hook-name> <command>
Creates a .hooky/<hook-name>
file with <command>
in it.
hooky install
Installs all .hooky/*
hooks into .git/hooks/*
with custom hooks in mind.
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
fi
Only files with # hooky ya rookie
are controlled by GetHooky, your custom ones are always skipped.
You can read the full docs at here