Repository navigation
Releases: costajohnt/rbcop
Release list
rbcop 0.1.4
Merge pull request #712 from costajohnt/release/0.1.4-checksums Pin the v0.1.4 release checksums
rbcop 0.1.3
rbcop 0.1.3 still targets RuboCop 1.91.0. Changes since 0.1.2:
--lsp(#669) and--mcp(#671) servers, and the server options (#667).--changed [REVISION](#677).AllCops/UseProjectIndex: the project index and the 17 cops that use it (#674), plusProjectIndexIncludesGemsand the index in--lsp/--mcp(#678).- The RuboCop fallback is on by default when a config needs cops rbcop cannot run natively;
RBCOP_FALLBACK=0turns it off (#670). docs/known-gaps.md lists every case where rbcop runs Ruby. -Vlists plugin versions (#668).- rubocop-capybara 3.1.0 (#676).
-Aon Lint/UnescapedBracketInRegexpRegexp.newstrings now finishes (#681).
Install: gem install rbcop, brew install costajohnt/tap/rbcop, or the GitHub Action costajohnt/rbcop@v0.1.3. Checksums: packaging/checksums/0.1.3.sha256.
rbcop 0.1.2
Pin the v0.1.2 release checksums (#666) Claude-Session: https://claude.ai/code/session_01NQaWbAKB7RgVFxkobx7c4h Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
rbcop 0.1.1
First gem release with ERB config support. New since v0.1.0: .rubocop.yml files containing ERB are rendered the way RuboCop renders them (through ruby -rerb), so projects inheriting rubocop-shopify's config now work (#650).
rbcop is RuboCop 1.91.0 reimplemented in Rust, with byte-identical output: same offenses, messages, -a/-A corrections, formatters and exit codes for the same files and .rubocop.yml.
Install
# Gemfile
gem "rbcop", require: falsethen bundle exec rbcop wherever you ran bundle exec rubocop. Prebuilt binaries for macOS (arm64, x86_64) and Linux (x86_64, aarch64, glibc and musl); no Rust toolchain needed. See docs/migration.md for binstubs, CI and editors.
What runs
- All 613 cops in RuboCop 1.91.0's default config.
- Native ports of rubocop-performance 1.27.0, rubocop-rails 2.38.0, rubocop-minitest 0.41.0, rubocop-rspec 3.10.2, rubocop-rspec_rails 2.33.0, rubocop-factory_bot 2.28.0 and rubocop-capybara 3.0.0.
- Cops from other plugins or your own Ruby code are not run; rbcop names them on stderr, and
RBCOP_FALLBACK=1hands them to RuboCop.
Speed
CI-shaped runs, each project with its own .rubocop.yml, 2 vCPUs, RuboCop 1.91.0 --parallel with an empty result cache vs rbcop (median of 3): rails 98.7 s vs 4.89 s, discourse 273.7 s vs 19.31 s, mastodon 116.0 s vs 12.11 s (docs/benchmarks.md).
Known gaps
docs/known-gaps.md lists every known difference. The ones most likely to matter:
- Remote
inherit_fromURLs are not supported yet (#294). ERB in config needs arubyonPATH, and the template cannot see RuboCop's own constants (such asRuboCop::Version). - No result cache (#281),
--auto-gen-config(#288), LSP or server mode (#292, #293). - Windows is not supported.
Checksums for every file are in SHA256SUMS and pinned in packaging/checksums/0.1.1.sha256.
rbcop 0.1.0
v0.1.0 docs: README speed section with average speedup over eight corpora (#…