A OS X command line tool which executes commands when a file, or a file in a directory, is modified.

Thanks to Manfred Stienstra for the project’s mascotte image. Kikker means “frog” in Dutch.
Not so long ago I had to work on some text formatted as Textile. For this task I had to go back and forth to my text editor and terminal to edit and render the text as HTML. This started to get tedious pretty fast, so being the Ruby and Cocoa head that I am, I quickly whipped up a simple, purpose agnostic, command-line tool which uses the FSEvents API (OS X) to watch for file changes.
I just love how easy it is to write small" tools with Ruby and Cocoa that do seemingly “big” things. For another example see "the next blog post.
After some weeks of usage, and finally implementing the ability to watch multiple paths, I can now say it’s definitely usable. Get it:
$ sudo gem install alloy-kicker -s http://gems.github.com
Now go kick some stuff!
If you want to checkout the source you can do so on GitHub.
Say you’d like to run a Ruby test case every time either the library file, or the test case file is saved. This can be accomplished with the following command:
$ kicker -e "ruby test/unit/article_test.rb" **/article*.rb
From now on whenever you save any file which matches the glob expression, the test case will be ran.
There’s also support for Growl notifications and click callback handlers. See the README for more info.
So know you know. Go wild!