Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
90 lines (62 sloc) 3.67 KB

lolcommits (git + webcam = lol)

Takes a snapshot with your Mac's built-in iSight/FaceTime webcam (or any working webcam on Linux) every time you git commit code, and archives a lolcat style image with it.

By default, the lolimages are stored by a Github style short SHA in a ~/.lolcommits directory created for you.

Build Status Dependency Status

Installation (Mac OS X)

You'll need ImageMagick installed. Homebrew makes this easy. Simply do:

brew install imagemagick --from-source

Then simply do:

[sudo] gem install lolcommits

(If you're using rvm or something like that, you can/should probably omit the sudo, but the default MacOSX Ruby install is dumb and requires it.)

You're all set! To enable lolcommits for a git repo, go to the base directory of the repository, and run:

lolcommits --enable

Likewise, you can disable it via lolcommits --disable. For a full list of options, you can do lolcommits --help.

Installation (Linux)

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

sudo apt-get install mplayer imagemagick libmagickwand-dev

On Fedora, enable the rpmfusion repository (for mplayer) and run:

sudo yum install ImageMagick ImageMagick-devel mplayer

Then install the lolcommits gem:

gem install lolcommits

Then you can lolcommits --enable in any git repo as above.

Installation (Windows)

See the wiki page for Installing on Windows.

Sample images


Please add your own lolcommit! Add to the People Using Lolcommits page on the Wiki.


lolcommits has some options for additional lulz. You can enable via environment variables.

  • Set webcam device on mac - set LOLCOMMITS_DEVICE environment variable.
  • Set delay persistently (for slow to warmup webcams) - set LOLCOMMITS_DELAY var to time in seconds.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Please, if at all possible, write a passing test for the functionality you added.


Started a FAQ.

Something went wrong with that request. Please try again.