Skip to content
Guard plugin for RuboCop
Failed to load latest commit information.
lib/guard Specify error type for raise_error matcher explicitly Dec 9, 2015
spec Specify error type for raise_error matcher explicitly Dec 9, 2015
.rubocop.yml Disable RegexpLiteral cop in gemspec Dec 6, 2015
.yardopts Add class documentation Jul 5, 2013 Bump version to 1.2.0 Nov 5, 2014
Gemfile Remove unused dependencies for Jenkins CI Dec 9, 2015
Guardfile Fix style offenses in Guardfile Nov 3, 2014
LICENSE.txt Initial release Apr 21, 2013 Refactor :hide_stdout feature Nov 5, 2014
Rakefile Simplify .travis.yml by defining CI task in Rakefile Dec 6, 2015
guard-rubocop.gemspec Rename constant Rubocop to RuboCop Aug 10, 2014

Gem Version Dependency Status Build Status Coverage Status Code Climate


guard-rubocop allows you to automatically check Ruby code style with RuboCop when files are modified.

Tested on MRI 1.9, 2.0, 2.1, JRuby in 1.9 mode and Rubinius.


Please make sure to have Guard installed before continue.

Add guard-rubocop to your Gemfile:

group :development do
  gem 'guard-rubocop'

and then execute:

$ bundle install

or install it yourself as:

$ gem install guard-rubocop

Add the default Guard::Rubocop definition to your Guardfile by running:

$ guard init rubocop


Please read the Guard usage documentation.


You can pass some options in Guardfile like the following example:

guard :rubocop, all_on_start: false, cli: ['--format', 'clang', '--rails'] do
  # ...

Available Options

all_on_start: true     # Check all files at Guard startup.
                       #   default: true
cli: '--rails'         # Pass arbitrary RuboCop CLI arguments.
                       # An array or string is acceptable.
                       #   default: nil
hide_stdout: false      # Do not display console output (in case outputting to file).
                       #   default: false
keep_failed: true      # Keep failed files until they pass.
                       #   default: true
notification: :failed  # Display Growl notification after each run.
                       #   true    - Always notify
                       #   false   - Never notify
                       #   :failed - Notify only when failed
                       #   default: :failed

Advanced Tips

If you're using a testing Guard plugin such as guard-rspec together with guard-rubocop in the TDD way (the red-green-refactor cycle), you might be uncomfortable with the offense reports from RuboCop in the red-green phase:

  • In the red-green phase, you're not necessarily required to write clean code – you just focus writing code to pass the test. It means, in this phase, guard-rspec should be run but guard-rubocop should not.
  • In the refactor phase, you're required to make the code clean while keeping the test passing. In this phase, both guard-rspec and guard-rubocop should be run.

In this case, you may think the following Guardfile structure useful:

# This group allows to skip running RuboCop when RSpec failed.
group :red_green_refactor, halt_on_fail: true do
  guard :rspec do
    # ...

  guard :rubocop do
    # ...

Note: You need to use guard-rspec 4.2.3 or later due to a bug where it unintentionally fails when there are no spec files to be run.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


Copyright (c) 2013–2014 Yuji Nakayama

See the LICENSE.txt for details.

Something went wrong with that request. Please try again.