Repository: rubocop-govuk
RuboCop style rules for GOV.UK’s Ruby projects
- GitHub
- rubocop-govuk
- Ownership
- #govuk-platform-engineering owns the repo. #govuk-platform-support receives automated alerts for this repo.
- Category
- Gems
We’d like to set some cookies to understand how you use this site and remember your settings.
We also use cookies set by other sites to help us deliver content from their services.
You have accepted additional cookies. You can change your cookie settings at any time.
You have rejected additional cookies. You can change your cookie settings at any time.
RuboCop style rules for GOV.UK’s Ruby projects
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.
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
# **************************************************************
# TRY NOT TO ADD OVERRIDES IN THIS FILE
#
# This repo is configured to follow the RuboCop GOV.UK styleguide.
# Any rules you override here will cause this repo to diverge from
# the way we write code in all other GOV.UK repos.
#
# See https://github.com/alphagov/rubocop-govuk/blob/main/CONTRIBUTING.md
# **************************************************************
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
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.