Skips added to habitctl habit tracker

2 min read

One of the best things about open source software is the ability to scratch your own itch (and that it may even force you to learn a new language). Added a skips feature into the Rust-based habitctl minimalist habit tracker CLI.

I've mentioned before how much I like the habitctl command line habit tracker for its minimalism, simplicity, portability, and great consistency graphs that give me real information I can action.

Unfortunately, it's not been updated in a while, was in a language I had never touched before and which I've been told is hard to get good at, and a feature request I really needed (skips, for when the universe militates simply being unable to do something) had gone unloved for quite some time.

A recent athletic injury means gym rat time freed up for hacking, so decided to wade in, scratch my own itch, learn a little Rust, and correct that sin of omission.

Skips support in habitctl

Happy to say, it was way easier than I would have ever thought to add it due to blinary's clean design, and Rust being surprisingly sane to program in with excellent compiler error messages. It took took me one evening to add what was (for me) a major improvement to the app. I've coded up the change and put in a pull request to the main repo, but if you can't wait for it to be merged in, you can grab the improvement, a small score fix, and updated documentation from the wakatara habitctl fork.

I actually went back in time and fixed all the places I was forced to skip things to help me diagnose better why some things are working and others went off the rails, so already benefitting from the feature. I hope you do too. Enjoy! And do let me know if there are any issues @awws.

(And thanks again to Sebastian for creating such a great little tool. It has seriously made a big difference for me in building good habits and systems.)