-
Notifications
You must be signed in to change notification settings - Fork 0
Guard Plugins
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:
- find the gem on rubygems.org, then go to the homepage
- file an issue there and wait up to a few days for the author to respond
- 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.
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 |
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-rails_best_practices | Rails Best Practices runner |
guard-railsbp | Rails Best Practices runner |
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 |
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 |
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 tranlations |
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 |
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 |
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 |
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 |
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) |
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 |
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 |
Plugin | When to use |
---|---|
guard-phpunit | Guard::PHPUnit automatically runs your tests |
guard-codeception | run Codeception tests (PHP) |
guard-phpspec | runs PHPSpec |
Plugin | When to use |
---|---|
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 |
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-flog | creates flog reports |
guard-reek | find code smells |
guard-rubybeautify | beautifies Ruby code |
guard-rubycritic | detects code smells in Ruby using Rubycritic |
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 |
Plugin | When to use |
---|---|
guard-phpcs | detects and fixes PHP, JS and CSS violations |
guard-phpmd | runs PHP Mess Detector on changed files |
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 |
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 |
Plugin | When to use |
---|---|
guard-puppet | Helps build Puppet catalogs for deploying and managing sites and servers |
guard-puppet-lint | runs puppet-lint |
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 |
Plugin | When to use |
---|---|
guard-ctags-bundler | regenerates CTags files so editors can find method definitions |
guard-ctags-composer | for PHP projects |
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 |
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 |
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 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? |
This wiki and the Guard README document contains a lot of information, please take your time and read these instructions carefully.
If you run into any trouble, you may start by understanding how Guard works.
We provide detailed changes for each Guard release.
Be sure to read the CONTRIBUTING guidelines before reporting a new Guard issue or open a pull request.
If you have any questions about the Guard usage or want to share some information with the Guard community, please go to one of the following places:
- Google+ community
- Google group
- StackOverflow
- IRC channel
#guard
(irc.freenode.net) for chatting
Intro
Installation
- System Notifications
- Terminal Colors on Windows
- Add Readline support to Ruby on Mac OS X
- Which Growl library should I use
- Efficient Filesystem Handling
Getting Started
- List of Guard Commands
- Command Line Options for Guard
- List of available Guards
- Guardfile examples
- Run Guard within RubyMine
- Guardfile-DSL / Configuring-Guard
- Configuration Files
- Interacting with Guard
- Guard Signals
Troubleshooting
Advanced use of Guard
Cookbooks
Development