Integration with Other Tools

Editor integration


rubocop.el is a simple Emacs interface for RuboCop. It allows you to run RuboCop inside Emacs and quickly jump between problems in your code.

flycheck > 0.9 also supports RuboCop and uses it by default when available.


RuboCop is supported by syntastic, neomake, and ale.

There is also the vim-rubocop plugin.

Sublime Text

If you’re a ST user you might find the Sublime RuboCop plugin useful.


The brackets-rubocop extension displays RuboCop results in Brackets. It can be installed via the extension manager in Brackets.


The textmate2-rubocop bundle displays formatted RuboCop results in a new window. Installation instructions can be found here.


The linter-rubocop plugin for Atom’s linter runs RuboCop and highlights the offenses in Atom.


The lt-rubocop plugin provides LightTable integration.

RubyMine / Intellij IDEA

RuboCop support is available as of the 2017.1 releases.

Visual Studio Code

The ruby extension provides RuboCop integration for Visual Studio Code. RuboCop is also used for the formatting capabilities of this extension.

Other Editors

Here’s one great opportunity to contribute to RuboCop - implement RuboCop integration for your favorite editor.

Git pre-commit hook integration

overcommit is a fully configurable and extendable Git commit hook manager. To use RuboCop with overcommit, add the following to your .overcommit.yml file:

    enabled: true

Guard integration

If you’re fond of Guard you might like guard-rubocop. It allows you to automatically check Ruby code style with RuboCop when files are modified.

Rake integration

To use RuboCop in your Rakefile add the following:

require 'rubocop/rake_task'

If you run rake -T, the following two RuboCop tasks should show up:

$ rake rubocop                                  # Run RuboCop
$ rake rubocop:auto_correct                     # Auto-correct RuboCop offenses

The above will use default values

require 'rubocop/rake_task'

desc 'Run RuboCop on the lib directory' do |task|
  task.patterns = ['lib/**/*.rb']
  # only show the files with failures
  task.formatters = ['files']
  # don't abort rake on failure
  task.fail_on_error = false