Skip to content
Dmitry Zuev edited this page May 16, 2023 · 31 revisions

NOTE: Guard maintainers are not responsible for the quality or suitability of the plugins below. (Though, some plugins are maintained by Guard core developers.)

Ordering is generally by popularity/user-friendliness/completeness/support/active-development. Disputes about order should be resolved by project "star" count.

NOTE: if any plugins are broken or outdated, try the following:

  1. find the gem on rubygems.org, then go to the homepage
  2. file an issue there and wait up to a few days for the author to respond
  3. if the plugin author isn't responding CC a Guard maintainer in the issue (e.g. me: @e2)

NOTE: some plugin authors work on their own forks instead of the forks in the Guard organization. Please update the links below if they point to the wrong/outdated fork.

Popular / Featured / Well supported

Plugin When to use
guard-bundler installs/updates gems when Gemfile changes
guard-rspec Smart/incremental RSpec runner
guard-minitest runs Minitest and Test/Unit tests
guard-cucumber Reruns changed/affected Cucumber Features
guard-zeus Zeus speeds up startup time for Rails commands (development, server, testing)
guard-jasmine Frontend testing using PhantomJS/Webkit
guard-jekyll-plus Extensive plugin for working with Jekyll projects
guard-brakeman Scans your Rails application for known security holes (CVE's)
guard-rubocop Check your source files to style violations and potential problems
guard-puppet Helps build Puppet catalogs for deploying and managing sites and servers
guard-shell Runs shell commands when changes happen - also supports notifications and long -running programs
guard-livereload Reloads browser whenever web pages change
guard-nanoc rebuild Nanoc websites
guard-process Manages background processes (servers, daemons)
guard-yield runs any Ruby code (without the need to write a Guard plugin)
guard-kjell runs command once when watched file changes

Rails related

Plugin When to use
guard-brakeman Scans your Rails application for known security holes (CVE's)
guard-migrate Migrates the database whenever you add/change migrations
guard-jammit Compressing assets (JS, CSS)
guard-annotate Inserts "cheatsheets" about your database schema into your source files
guard-passenger Manages the Passenger server (restarts when necessary)
guard-sprockets Recompiles assets using Sprockets
guard-llsprockets recompiles assets using Sprockets
guard-cogs guard-sprockets alternative
guard-rails_best_practices check if code matches Rails Best Practices
guard-bower_rails Automatically install/update Rails bower dependencies
guard-bundler-audit check for gems with vulnerabilities
guard-consistency_fail detect missing unique indexes in Rails projects
guard-flow runs flow type checker on Rails javascript files
guard-railsbp Rails Best Practices runner

Website generating/authoring

Plugin When to use
guard-jekyll-plus Extensive plugin for working with Jekyll projects
guard-middleman Rebuilds Middleman static websites
guard-nanoc rebuild Nanoc websites
guard-mouch Mouch/CouchDB apps
guard-sculpin Sculping site generator (PHP)
guard-staticmatic Staticmatic site generator

Web CSS/template processing/compiling

Plugin When to use
guard-coffeescript Compiles CoffeeScript files
guard-compass Rebuilds your CSS files in Compass Sass projects
guard-tilt ?
guard-sass Recompiles Sass files to CSS
guard-slim regenerate slim templates
guard-haml compile Haml templates to HTML
guard-less compile LESS templates
guard-stylus compile Node.js Stylus CSS templates
guard-erb compiles erb files
guard-haml-coffee compiles HamlCoffe templates to JavaScript
guard-herbalizer converts Haml to Erb using herbalizer
guard-hogan compiles hogan mustache templates
guard-jade compile Jade files
guard-lessc compiles less file to a target output file using lessc
guard-mthaml compile Haml to PHP, Twig or static HTML
guard-mustachejs compile mustachejs into a single js file

General Web Development

Plugin When to use
guard-livereload Reloads browser whenever web pages change
guard-embertools rebuilds application.js when ember files are modified
guard-pusher Send messages to multiple iPad/iPhone browsers (like "reload page")
guard-shopify automatically upload and update Shopify templates when they change
guard-shopifytheme update through Shopify theme
guard-premailer inline CSS in email templates
guard-sprite-factory Web Development
guard-i18n-js export i18n js translations

Restarting servers/daemons/workers

Plugin When to use
guard-process Manages background processes (servers, daemons)
guard-redis restarts Redis server when needed
guard-go Run and restart go programs and servers when changed
guard-resque restarts Resque workers
guard-resque-scheduler restarts Resque in dev mode
guard-delayed automatically restarts delayed_job workers
guard-webrick Restarts WEBrick server when needed
guard-rack restarts Rack app server
guard-puma restarts Puma app server
guard-foreman reruns foreman
guard-goliath restarts Goliath apps
guard-grunt restarts Grunt
guard-gulp restarts Gulp
guard-pow restarts Pow applications
guard-rails manage Rails server (handling Zeus parameters, daemon mode, etc.)
guard-restarter restarts some process
guard-shotgun restart Sinatra server
guard-sidekiq restart Sidekiq workers
guard-spin restart Spin server
guard-unicorn restart Unicorn server

Web asset optimization

Plugin When to use
guard-uglify compress JavaScript files using uglifier gem
guard-steering Speed up Handlebar.js templates by precompiling them
guard-concat concat assets (JS/CSS) into single files
guard-image_optim optimizes images with image_optim
guard-imageoptim optimze images with ImageOptim-CLI
guard-sprockets2 sprockets for Rails, Sinatra or Rack

Testing (Ruby)

Plugin When to use
guard-cucumber Reruns changed/affected Cucumber Features
guard-rspec Smart/incremental RSpec runner
guard-minitest runs Minitest and Test/Unit tests
guard-motion reruns specs for RubyMotion (iOS, Android, OSX Ruby apps)
guard-bdd run tests in order: unit tests, integration tests, then acceptance tests
guard-combustion testing Rails Engines
guard-spinach BDD framework on top of Gherkin
guard-spinoff preload your Ruby environment using fork()
guard-spork manage Spork DRb servers

Testing (JRuby workarounds)

Plugin When to use
guard-jruby-minitest no-startup-code JRuby Minitest test reloader
guard-jruby-rspec keeps a JVM warmed up for your specs
guard-rspec-jruby improve JRuby test performance

Testing (Various)

Plugin When to use
guard-prove reruns Perl tests
guard-jenkins sets a Jenkins status image depending whether there's a failure or not
guard-cunit run CUnit tests
guard-elixir runs Elixir tests using "mix test"
guard-gotest runs Go tests
guard-haskell runs Haskell specs
guard-julia runs Julia tests
guard-pytest runs pytest (Python)
guard-rackunit runs Racket's RackUnit tests
guard-rebar use Rebar to run Erlang tests
guard-roxy runs Roxy unit tests (MarkLogic apps)
guard-sclang runs SuperCollider unit tests
guard-busted runs busted (Lua)

Testing (JavaScript)

Plugin When to use
guard-jasmine Frontend testing using PhantomJS/Webkit
guard-teaspoon Web testing with PhantomJS or Selenium WebDriver
guard-jaspec run Jaspec JavaScript files
guard-konacha runs Konacha (mocha + chai) JavaScript tests on Rails apps
guard-karma runs the Karma JS test runner
guard-jessie Jasmine runner using Node.js Jessie runner
guard-jasmine-node reruns Jasmine Node.js tests
guard-jasmine-headless-webkit rerun Jasmine tests in a headless WebKit instance
guard-mocha-node test node.js code with mocha
guard-phantomjs-jasmine run jasmine specs with PhantomJS

Testing (Java)

Plugin When to use
guard-maven run Maven tests (Java)
guard-gradle builds and runs Java tests (Gradle projects)
guard-gradle-android-test runs Java Gradle tests for Android
guard-java run tests in Java (using Ant or shell) + Android support

Testing (PHP)

Plugin When to use
guard-phpunit Guard::PHPUnit automatically runs your tests
guard-codeception run Codeception tests (PHP)
guard-phpspec runs PHPSpec

Testing (iOS)

Plugin When to use
guard-xcodebuild run xcodebuild tests
guard-xctool-test run xctool test command on save
guard-frank rerun Frank-Cucumber (iOS) features
guard-calabash-ios return Calabash iOS Cucumber features
guard-cedar runs Cedar (Objective-C) BDD tests
guard-ocunit run OCUnit tests on ios-sim

Code Quality

Plugin When to use
guard-cane fails the build if your source files fail the quality level
guard-rubocop Check your source files to style violations and potential problems
guard-haml-lint Check your HAML-specific style and lint checks
guard-slim-lint Check your Slim-specific style and lint checks
guard-flog creates flog reports
guard-reek find code smells
guard-rubybeautify beautifies Ruby code
guard-rubycritic detects code smells in Ruby using Rubycritic
guard-srb Typechecks Ruby code with Sorbet

Code Quality (Javascript)

Plugin When to use
guard-jshint-node detect errors and potential problems in JavaScript files
guard-coffeelint run coffeelint
guard-jshint-on-rails uses jshint on Rails project
guard-jslint runs jslint on JavaScript files

Code Quality (PHP)

Plugin When to use
guard-phpcs detects and fixes PHP, JS and CSS violations
guard-phpmd runs PHP Mess Detector on changed files

Documentation

Plugin When to use
guard-hologram generates beautiful style guides for CSS
guard-docbook-status update docbook document overviews (structure stats)
guard-readme-on-github preview GitHub pages locally before pushing them to GH
guard-rocco regenerates Rocco docs
guard-gimli convert markup files (markdown, rdoc) into PDF files
guard-git-scribe rebuild git-scribe ebooks
guard-markdown convert Markdown files to HTML
guard-ronn compile man pages
guard-inch documentation measurement tool for Ruby
guard-rdoc rebuild rdoc on code changes
guard-redcarpet use Redcarpet gem to process markdown to html
guard-yard rebuild documentation with Yard

DevOps / Chef

Plugin When to use
guard-foodcritic lint tool for Opscode Chef cookbooks
guard-chef watches and reloads Chef recipes automatically
guard-kitchen use Kitchen to develop Chef cookbooks
guard-knife update Chef cookbooks, data bags, envs and roles automatically
guard-librarian automatically install Chef cookbook dependencies in Cheffile using librarian-chef
guard-rake-vagrant converge cookbooks and run integration tests
guard-rsync automatically sync directories with RSync whenever they change
guard-remote-sync RSync runner

DevOps / Puppet

Plugin When to use
guard-puppet Helps build Puppet catalogs for deploying and managing sites and servers
guard-puppet-lint runs puppet-lint

Deploying / DevOps / System services

Plugin When to use
guard-s3 Synchronize folders with Amazon S3 buckets
guard-flopbox synchronize directories via SFTP
guard-autoupload upload files using SFTP or FTP
guard-bosh update Cloud Foundry BOSH config (large scale distributed services)
guard-clockwork restart Clockwork instances (Clockwork = Cron replacement written)
guard-fig help develop docker containers using fig
guard-shoryuken Amazon AWS SQS thread based message processor

Editor helpers (ctags generators)

Plugin When to use
guard-ctags-bundler regenerates CTags files so editors can find method definitions
guard-ctags-composer for PHP projects

Utility

Plugin When to use
guard-bundler installs/updates gems when Gemfile changes
guard-shell Runs shell commands when changes happen - also supports notifications and long -running programs
guard-yield runs any Ruby code (without the need to write a Guard plugin)
guard-rake reruns a rake task when files change
guard-post automatically load text files into database records (Mongoid, ActiveRecord, etc.)
guard-lilypond Engraving music scores
guard-zen Runs Ruby Koans
guard-blogger update Blogger templates
guard-cocoapods installs CocoaPods
guard-bundler installs/updates gems when Gemfile changes
guard-copy copy files whenever files are created or modified
guard-copy3 copies files and folders whenever files are created or modified
guard-entangle expands files inline
guard-gitpusher automatically uploads changed files to Git repository
guard-mirror copies CoffeeScript/Styles/Jade source into another location
guard-npm instal/update npm packages from package.json
guard-pushover send Pushover real-time notifications to mobile devices
guard-ragel generate Ragel state machine files

Guard Plugin development

Plugin When to use
guard-compat Essential for developing and testing Guard Plugins
guard-yield runs any Ruby code (without the need to write a Guard plugin)
guard-helpers helpers modules for Guard plugins

Not yet categorized/described

NOTE: I (@e2) haven't gone through these - please move these into the above categories if any are usable/useful enough:

Plugin When to use
guard-addremove ?
[guard-asciidoctor]: ?
[guard-bacon]: ?
guard-blink1 ?
[guard-bower]: ?
guard-catalog ?
[guard-cloudformation]: ?
guard-concatfilter ?
guard-cop: ?
[guard-cucumber-js]: ?
guard-depend ?
guard-ecukes ?
[guard-ejs]: ?
guard-erlang ?
guard-evergreen ?
guard-faye ?
[guard-fixture_builder]: ?
[guard-flay]: ?
[guard-go]: ?
[guard-haml-ext]: ?
[guard-haml2erb]: ?
guard-handlebars ?
[guard-i18next]: ?
[guard-jasmine-rails]: ?
guard-jenkins ?
guard-jet ?
[guard-jetty]: ?
[guard-js-static-require]: ?
[guard-jshintrb]: ?
[guard-jslint-on-rails]: ?
[guard-jslint-on-rails-for-1.1.1]: ?
[guard-jst]: ?
[guard-koans]: ?
guard-konacha-rails ?
guard-konacha-version ?
guard-live-set ?
[guard-lono]: ?
guard-markdown ?
guard-markdown2impress ?
guard-minitest-decisiv ?
guard-notifier-blink1 ?
[guard-notifier-git_auto_commit]: ?
guard-notifier-gntp_only-darwin ?
[guard-opal-rails]: ?
guard-openscad ?
guard-parallel_all ?
guard-pdflatex ?
[guard-phpunit2]: ?
guard-play ?
guard-predictionio ?
[guard-preek]: ?
[guard-preserves]: ?
guard-processing ?
[guard-prostores]: ?
[guard-python-unittest]: ?
[guard-rackup]: ?
[guard-rna]: ?
guard-rrails ?
guard-rubby ?
[guard-ruby]: ?
[guard-rust]: ?
guard-schema ?
guard-schema ?
guard-seeds ?
[guard-shellexec]: ?
[guard-simple_shell]: ?
guard-sporkminitest ?
guard-sprite-factory ?
guard-steering ?
[guard-stitch]: ?
guard-stitch-plus ?
guard-strainer ?
guard-sublime-ctags ?
guard-sunspot ?
[guard-sync]: ?
guard-tap ?
guard-tay ?
guard-teabag ?
[guard-templates]: ?
guard-templates-jshaml ?
guard-test ?
guard-tishadow ?
guard-titan ?
guard-toc ?
guard-treetop ?
guard-typescript ?
guard-unity ?
guard-vows ?
guard-webhook-notifier ?
guard-webpack ?
guard-xcode ?
guard-xcoder ?
guard-yaml ?
guard-yamlsort ?
[guard-yardstick]: ?
guard-yeti ?
guard-zeus-client ?
[guard-zeus_server]: ?

Outdated/Obsolete plugins

Outdated Plugin Why outdated/obsolete
Rails-Autotester probably replaced with Guard::Minitest
guard-autorefresh superseeded by Guard::LiveReload
guard-coffeedripper probably outdated
guard-db probably replaced with guard-migrate
guard-ego Guard can now reload itself
guard-focus probably can be replaces with Guard::RSpec with custom config
guard-hydra probably replaced with Guard::RSpec using parallel specs (check Guard::RSpec Readme)
guard-jekyll superseeded by guard-jekyll-plus
guard-jessie likely superseeded by guard-jasmine
guard-jslint-on-rails probably outdated
guard-jstd probably superseeded by other JavaScript testing Guard plugins
guard-krl updates cloud-based Kinetic Rules Engine rule files (company dissolved)
guard-mozrepl probably superseeded by Guard::LiveReload
guard-phantomjs probably superseeded by other JavaScript testing Guard plugins
guard-rails-assets not sure if it works with Rails 4
guard-rspectacle Embedded RSpec runner - probably better to use Guard::Rspec or Guard::Zeus
guard-soca likely outdated
guard-spring guard-rspec supports running RSpec with Spring and a lot more
guard-stendhal likely outdated
guard-stitch alternative to guard-sprockets, but may be outdated
[guard-jekyll2] probably replaced with guard-jekyll-plus
guard-fast_spec probably obsolete
guard-railstestdb replaced with guard-migrate
guard-reloader obsolete?
Clone this wiki locally