-
Notifications
You must be signed in to change notification settings - Fork 0
Guard Plugins
NOTE: Guard mantainers are not responsible for the quality or suitability of the plugins below. (Though, some plugins are maintained by Guard core developers.)
(Order: by area: popularity among beginners or ideally by star count - please update if needed)
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-cucumber | Reruns changed/affected Cucumber Features |
| 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-minitest | runs Minitest and Test/Unit tests |
| 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) |
| 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-rails_best_practices | check if code matches Rails Best Practices |
| 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 |
| Plugin | When to use |
|---|---|
| guard-livereload | Reloads browser whenever web pages change |
| guard-coffeescript | Compiles CoffeeScript files |
| guard-compass | Rebuilds your CSS files in Compass Sass projects |
| guard-sass | Recompiles Sass files to CSS |
| guard-steering | Speed up Handlebar.js templates by precompiling them |
| guard-pusher | Send messages to multiple iPad/iPhone browsers (like "reload page") |
| guard-shopify | automatically upload and update Shopify templates when they change |
| guard-slim | regenerate slim templates |
| guard-premailer | inline CSS in email templates |
| guard-uglify | compress JavaScript files using uglifier gem |
| guard-haml | compile Haml templates to HTML |
| guard-less | compile LESS templates |
| guard-sprite-factory | Web Development |
| 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-delayed | automatically restarts delayed_job workers |
| guard-webrick | Restarts WEBrick server when needed |
| 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-jasmine | Frontend testing using PhantomJS/Webkit |
| guard-teaspoon | Web testing with PhantomJS or Selenium WebDriver |
| guard-prove | reruns Perl tests |
| guard-motion | reruns specs for RubyMotion (iOS, Android, OSX Ruby apps) |
| guard-phpunit | Guard::PHPUnit automatically runs your tests |
| guard-frank | rerun Frank-Cucumber (iOS) features |
| guard-calabash-ios | return Calabash iOS Cucumber features |
| guard-jasmine-headless-webkit | rerun Jasmine tests in a headless WebKit instance |
| guard-jasmine-node | reruns Jasmine Node.js tests |
| guard-jenkins | sets a Jenkins status image depending whether there's a failure or not |
| 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-jshint-node | detect errors and potential problems in JavaScript 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 |
| Plugin | When to use |
|---|---|
| guard-s3 | Synchronize folders with Amazon S3 buckets |
| guard-puppet | Helps build Puppet catalogs for deploying and managing sites and servers |
| guard-chef | watches and reloads Chef recipes automatically |
| guard-flopbox | synchronize directories via SFTP |
| Plugin | When to use |
|---|---|
| guard-ctags-bundler | regenerates CTags files so editors can find method definitions |
| 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-rsync | automatically sync directories with RSync whenever they change |
| guard-post | automatically load text files into database records (Mongoid, ActiveRecord, etc.) |
| guard-lilypond | Engraving music scores |
| guard-zen | Runs Ruby Koans |
| 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) |
NOTE: I (@e2) haven't gone through these - please move these into the above categories if any are usable/useful enough:
NOTE: if any above 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)
| 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-sprockets2 | probably outdated |
| guard-stendhal | likely outdated |
| guard-stitch | alternative to guard-sprockets, but may be outdated |
| [guard-jekyll2] | probably replaced with guard-jekyll-plus |
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