No matter your level of experience, error messages can still be abstract, hard and painful to look at.
hank is a simple CLI utility that focuses on a single task - making error messages digestible and easy to understand. You can think of this as just another system utility like grep, ls or echo that is at your fingertips for debugging a program. The current implementation also only uses local language models, which is great for folks who may be a bit more NDA conscious when wanting AI debugging assistance without blindly throwing logs into LLM services (at the plausible compromise of chat response quality).
Simply add hank before compiling/running your program to get a clear, readable explanation of any errors that occur.
hankdemo.mp4
hank python <Your Python Program Here>
----------------------------------------
hank make all
----------------------------------------
hank go run main.go
----------------------------------------
etc etc
After installing it, you can even get a feel for how it works by just running an executable command like this:
hank ls random_directory_that_does_not_exist_on_my_machine
Every developer/engineer has their own, unique approach to AI in their workflow. hank is perfect for those who want AI debugging help at their fingertips without committing to a full agentic terminal solution like Warp.
-
You will need to have
LMStudioinstalled and be serving a language model fromDeveloper Modefor this current prototype to work. For more information, please visit their website. Specific models I use that work well for me aregemma-3 12B,LFM-1.2Bandgpt-oss 20B. Feel free to use whatever works best for you.- Ensure your model is
Reachable at http://127.0.0.1:1234
- Ensure your model is
-
To build from source, you must have
golanginstalled (>= 1.24.3)
Whilst hank is currently not a part of homebrew core, it can be installed via taps as follows:
brew tap dillondesilva/hank https://github.com/dillondesilva/hank
brew install hank
If you have go >= 1.24.3 then you are in luck! hank can be installed by running the following:
go install github.com/dillondesilva/hank@main
Also ensure you have Go's bin folder added to your path. This can be done by adding the following line to your
.zshrc, .bash_profile, etc config files:
export PATH=$PATH:$(go env GOPATH)/bin
Then run source ~/.zshrc <Or bash_profile, bashrc etc> :)
There is a (rough) setup to support distributing hank via GH Releases. Following installing the
appropriate one for your system and extracting the .tar contents, you can run:
mv <installation-dir>/hank
chmod +x hank
Currently, installation is only supported via building from source:
git clone https://github.com/dillondesilva/hank
cd hank
chmod +x install.sh
./install.sh
If you have any ideas or feature requests, please open an Issue in the GitHub Issues page.