Project

rubocop-hk

0.0
No release in over 3 years
Modern RuboCop configuration for Ruby and Rails applications
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

>= 1.78.0, < 1.82.0
~> 2.33.0
~> 1.0
 Project Readme

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.