This repository provides recommended RuboCop configuration and additional Cops for use on GitHub open source and internal Ruby projects.
Rubocop 0.68 removed performance cops and 0.72 removed Rails cops. However, upgrading rubocop-github
without modification will almost definitely create very many new offenses. The current version of this gem exposes the "legacy" configuration under config/default.yml
and config/rails.yml
which should be used if and only if the version of rubocop is locked to < 0.68
in your project (which it should be unless you bundle update rubocop
). It also exposes an "edge" configuration under config/default_edge.yml
and config/rails_edge.yml
so that the changes can be tested without introducing breaking changes.
Gemfile
gem "rubocop", "< 0.68"
gem "rubocop-github"
.rubocop.yml
inherit_gem:
rubocop-github:
- config/default.yml
- config/rails.yml
Gemfile
gem "rubocop-github"
gem "rubocop-performance", require: false
gem "rubocop-rails", require: false
.rubocop.yml
inherit_gem:
rubocop-github:
- config/default_edge.yml
- config/rails_edge.yml
bundle install
bundle exec rake test
All cops are located under lib/rubocop/cop/github
, and contain examples/documentation.