Today I released an update for Komet: a utility for writing commit messages on macOS. The latest bug fixes aren’t too interesting, so I will instead discuss how this project came to be!

Why I wrote Komet

Komet Icon

One day, a couple years ago, I was complaining in an IRC channel about how I loathed using vim for writing commit messages.

I disliked using vim, which I was only using regularly for commit messages, because I frequently invoked “simple” sequences that ought to be in muscle memory like <escape><shift-down>;<shift-up>wq<return> wrong. As one example, if I even typed Wq instead of wq (note shift was held down an extra character), vim would fail. In other scenarios, I accidentally entered an unfamiliar editing mode.

I also disliked that quitting without saving changes doesn’t necessarily abort a commit (people still don’t believe me when I tell them this).

While the majority in the IRC channel I was ranting in were happy with their editors of choice including vim, a couple sympathized with me. Knowing I wasn’t alone was enough to motivate me to seek alternatives and create my own if necessary.

My core requirements were to not discourage poor short commit messages (eg: git -m), compliment command line usage (no VCS GUI or IDEs), use easy native command shortcuts (no escape), be non-obstructive (not bring up other documents), and not be stuck in the mental model to close and save a file.

That eliminated everything available to me so I set out to make my own commit editor including additional features like spell check and highlight warnings to improve ease of use and write better quality commit messages.

Development

Dark theme of Komet

I received help in the IRC room for designing the user interface. Believe it or not, having UI elements in the title bar section was not obvious to me. Neither were choices regarding colors, fonts, and highlighting. Feedback received from prototyping and beta testing was very helpful.

After I pushed out an initial release, I showed it off as a Show HN which retrieved traction. Shortly afterwards, Trevor Fountain coded support for stylistic themes and designed the current application icon making Komet appeal to a wider audience. Indeed, I now use the dark theme myself, shown above.

Conclusion

Thus that is how Komet came to be. I identified a frustrating problem for an important task I encountered daily, and sought out to optimize writing commits for mine and others needs.

Don’t just take my word for it. Feel free to read others thoughts on Komet or check out an inspired alternative for Gnome.

Regardless of your religious text editing preferences, continue to commit or komet away!