RuboCop HK

Gem Version Ruby Rails License: MIT

A comprehensive RuboCop configuration for modern Ruby 3.3+ and Rails 7.1+ applications, featuring 45+ warning-only modern rules with team-focused gradual adoption.

Features

  • Modern Ruby & Rails Support: Target Ruby 3.3+ and Rails 8.0+ with latest patterns
  • Warning-Only Modern Rules: 45+ new rules as warnings to enable gradual adoption
  • Team-Focused: Educational approach with clear explanations for each rule
  • Zero Breaking Changes: All new features are opt-in warnings only
  • Comprehensive Coverage: Style, Rails, RSpec, Performance, and Lint rules
  • Production Ready: 100% test coverage with extensive CI/CD validation

Installation

Add this line to your application's Gemfile:

gem 'rubocop-hk', '~> 1.2.2', require: false

And then execute:

bundle install

Quick Start

  1. Create a .rubocop.yml file in your project root:
inherit_gem:
  rubocop-hk: config/default.yml
  1. Run RuboCop:
bundle exec rubocop
  1. Review warnings and gradually promote them to errors when your team is ready:
# View current warnings
bundle exec rubocop --format json | jq '.files[].offenses[] | select(.severity=="warning")'

# Use the promotion script (see documentation)
ruby scripts/promote-warnings.rb

Configuration Options

RuboCop HK provides several preconfigured options:

  • config/default.yml - Balanced configuration with modern warning-only rules
  • config/strict.yml - More stringent rules for mature codebases
  • config/rails.yml - Rails-specific optimizations

See CUSTOMIZATION.md for detailed configuration options.

Documentation

Requirements

  • Ruby >= 3.3.0
  • RuboCop >= 1.78.0
  • Rails >= 7.1.0 (if using Rails cops)

New in v1.2.2

This patch release improves CI/CD compatibility and dependency management:

  • Enhanced RuboCop compatibility - Support for RuboCop 1.78-1.81+ with flexible version constraints
  • Fixed CI/CD pipeline issues - Resolved Docker Ruby version compatibility and test failures
  • Improved dependency management - Better version ranges for more reliable installations
  • Maintained Ruby 3.3+ support - Continues to target modern Ruby versions
  • 45+ warning-only modern rules - Gradual adoption without breaking builds

See CHANGELOG.md for complete release notes.

Contributing

Bug reports and pull requests are welcome on GitHub. This project is intended to be a safe, welcoming space for collaboration.

  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 a new Pull Request

License

The gem is available as open source under the terms of the MIT License.