Sidekick

Sidekick is a command line tool to automatically trigger actions on certain events, as defined per project, in a local .sidekick file in your project folder:


watch('**/*.rb') { restart_passenger; rake 'docs' }

auto_compile 'assets/*.sass', 'public/:name.css'

every(10) { notify sh 'fortune' }

Sample use cases

  • Restart server when code is changed
  • Auto-compile Sass or CoffeeScript templates (and many other languages)
  • Periodically run tasks
  • Continuous testing, notifications, hooks, you name it

Features

  • Simple and powerful DSL
  • Easy to extend
  • Compiles many formats, thanks to Tilt.
  • Powered by EventMachine
  • Very brief and concise codebase.

You can read the annotated source code.

Basic usage

Install with gem install sidekick and invoke the sidekick command in your project folder. If you do not have a .sidekick file, you will be offered a template with plenty of examples.

Defining new triggers

Have a look at the existing triggers, and you will get the idea. Basically, you define new triggers by writing methods that hook into EventMachine the same way as in EM.run { .. }.

If you write some useful extensions, please ask me to merge them into the main repository.

Copyright

Copyright © 2010 Jostein Berre Eliassen. See LICENSE for details.