Fork me on GitHub

lolcommits: selfies for software developers.

lolcommits takes a snapshot with your webcam every time you git commit code, and archives a lolcat style image with it. git blame has never been so much fun.

Meet lolcommits

The single most useful piece of software known to mankind.

Infinite uses :cyclone:

Animate your progress through a project and watch as you age. See what you looked like when you broke the build. Keep a joint lolrepository for your entire company.

Multi-platform :couple:

Thanks to the great open-source community, lolcommits now works on MacOSX, Linux, and even Windows.

Plugin-able :nut_and_bolt:

Lolcommits allows a growing list of plugins to perform additional work on your lolcommit image after capturing.

Animated GIFs :movie_camera:

Configure lolcommits to generate an animated GIF with each commmit for extra lulz!

Free & open source :money_with_wings:

Hack it to do what you wish. lolcommits is licensed under the LGPL-3.

Okay fine, it's just for fun :stuck_out_tongue_winking_eye:

Hey, that's a good thing, ok? Stop taking everything so seriously.

Sample images

See many more (and add your own!) on the People Using Lolcommits wiki page.



You’ll need ImageMagick installed. The easiest way is to use Homebrew, then simply do:

brew install imagemagick

Then simply do:

[sudo] gem install lolcommits

(If you’re using a custom Ruby install, you can omit the sudo, but the default MacOSX install will require it.)

Don’t have Homebrew already? Follow these installation instructions first.


Install dependencies using your package manager of choice, for example in Ubuntu:

apt-get install mplayer imagemagick libmagickwand-dev

Then install the lolcommits gem:

gem install lolcommits

For more detailed Linux installation instructions, check the Linux installation wiki page.


Here be dragons! You'll need some more detailed instructions to get the dependencies installed.

View details »


Enabling and basic usage

From within any git repository, simply do a lolcommits --enable. From that point on, any git commit will automatically trigger a lolcommit capture! All lolcommits are stored in ~/.lolcommits by default, placed in a subdirectory by project name, and with a filename matching the commit hash.

Don’t worry about it too much, half the fun of lolcommits is forgetting it’s installed!

Other commands

Ok, if you insist… Since you know about --enable, common sense suggest there is also a repository specific --disable, hopefully you can guess what that does.

Other handy common commands include --last, which will open for display your most recent lolcommit image, or --browse, which pops open the directory containing all the lolcommit images for your current repository. You can always do --help for a full list of available commands.

Advanced configuration

Want to do something cray cray like adjusting camera delay, ironically applying a hipster style, configuring add-ons or even animating your lols? Then check out how to configure commit capturing and try some of our growing list of plugins.


Try our trouble-shooting FAQ, or take a read through our wiki for more information. If you think something is broken or missing, raise a GitHub issue (and please take a little time to check if we haven’t already addressed it).