Jix


jix is a standalone Git client for your terminal, focused on commit insertion (rather than simply browsing or inspection). In other words, it’s meant to help you manage your history and craft better commits in a simple way, without having to type any commands by hand.

  • It lets you quickly stage or unstage partial sections of your files, on a line-by-line basis.
  • It lets you amend to your latest commit in case you missed something, or squash until a certain point.
  • It has great mouse support. You can click on commits or files, and bring context menus by right clicking on them.
  • It has pretty good keyboard support as well. You can drive most of the UI simply with your arrow keys, tab and spacebar.
  • It uses libgit2 under the hood which means it doesn’t depend on your local installation of git
  • It’s distributed as a single fat binary, so besides libc and libm there are no other dependencies.

It draws a lot of inspiration from tig, but also from graphical tools like `gitg` and `GitX`.

What language or framework is it written in?

Ha! Thought you'd ask.

As you can tell from the screencast, Jix is written in beautiful Lua. It uses libgit2 (via ffi) and my own fork of termbox (via luabox) under the hood.

Fun fact: I originally wrote Jix using Node.js, but it turned out to be way too slow, so I ended up rewriting it on top of Luajit. What a difference it made!

Is it open source?

It will be. :)

The code hasn't been made public yet, but you can star the repo on Github.

Windows version?

Umm... hey! Look behind you, a three headed monkey!

Windows is not my cup of tea, so initially I only plan to support macOS and Linux. However, if there's enough interest for it, I might give Windows a shot.

Where to get it?

It's not out yet, but on its way! If you want to get notified when it does, enter your email address below and I'll send you a quick note.

Who are you?

I'm Tomás Pollak, a journalist who builds digital products for a living. I live in Valdivia, Chile (on the northern tip of Patagonia, that is), I have a wife and two daughters, and I run a hosted e-commerce platform called Bootic.

This is my Github profile, if you want to check it out.

Can I get involved?

Sure you can! If you'd like to contribute somehow to the project, drop me a note any time.