Монолит живёт с 2019 года. После январского обновления на Rails 8.1 решили заодно поставить rubocop-rails-omakase, как в новых приложениях. Первый прогон: 2300 offenses, из них 1900 автоисправляемых. Команда разделилась: одни хотят прогнать rubocop -a одним большим PR, другие против, потому что git blame превратится в кашу. Конфиг пока такой:
inherit_gem:
rubocop-rails-omakase: rubocop.yml
inherit_from: .rubocop_todo.yml
AllCops:
NewCops: enable
Exclude:
- "db/schema.rb"
- "bin/**/*"
Как вы заходили в линтер на живом проекте?
Большой PR с автоисправлениями не страшен, если положить его хеш в .git-blame-ignore-revs и прописать git config blame.ignoreRevsFile .git-blame-ignore-revs. Тогда blame его пропускает, и большинство редакторов этот файл тоже понимают. Остальное rubocop --auto-gen-config сложит в todo, и дальше чините по одному копу, когда дойдут руки.
Можно без большого PR: линтер в CI только по изменённым файлам. Кто трогает файл, тот и чистит, за полгода уходит процентов 70
omakase ещё мягкий, там большая часть копов выключена. а 1900 автоисправляемых это в основном кавычки и пробелы внутри квадратных скобок