RuboCop GOV.UK

Defines the linting rules for GDS Ruby applications, primarily those associated with GOV.UK.

GOV.UK has used a styleguide for many years, starting with rules in written form, which we then automated with RuboCop and later moved into this repo. A styleguide is a valuable asset: it keeps our code consistent and prevents stylistic squabbles. Everyone on GOV.UK is encouraged to use it in their Ruby projects and contribute to dependency upgrades and new releases, keeping pace with the rest of the Ruby community.

Installation

Add rubocop-govuk to your Gemfile and then run bundle install:

# Gemfile
gem 'rubocop-govuk', require: false

Then inherit the default rules by adding the following in your project:

# .rubocop.yml
inherit_gem:
  rubocop-govuk:
    - config/default.yml

inherit_mode:
  merge:
    - Exclude

You can also configure additional rules for Rails and RSpec:

# .rubocop.yml
inherit_gem:
  rubocop-govuk:
    ...
    - config/rails.yml
# .rubocop.yml
inherit_gem:
  rubocop-govuk:
    ...
    - config/rspec.yml

Contributing

Rules in this repo are defined based on their compatibility with GOV.UK apps and their code conventions. Everyone else is welcome to use it and suggest changes - see CONTRIBUTING.md for more details.