-
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-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-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-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 |
| 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-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
| 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-premailer | inline CSS in email 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 |
| 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 |
| 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 |
| 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 |
| guard-bdd | run tests in order: unit tests, integration tests, then acceptance tests |
| guard-cedar | runs Cedar (Objective-C) BDD tests |
| guard-codeception | run Codeception tests (PHP) |
| guard-combustion | testing Rails Engines |
| guard-cunit | run CUnit tests |
| guard-elixir | runs Elixir tests using "mix test" |
| guard-gotest | runs Go tests |
| guard-gradle | builds and runs Java tests (Gradle projects) |
| guard-gradle-android-test | runs Java Gradle tests for Android |
| 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 |
| guard-coffeelint | run coffeelint |
| guard-flog | creates flog reports |
| 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 |
| 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-foodcritic | lint tool for Opscode Chef cookbooks |
| 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-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 |
| 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 |
| 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:
| 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 |
| guard-fast_spec | probably 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