Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 19 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ Benchmark on the [rubygems.org repo](https://github.com/rubygems/rubygems.org) (

**Features**

- **916 cops** from 6 RuboCop gems (rubocop, rubocop-rails, rubocop-performance, rubocop-rspec, rubocop-rspec_rails, rubocop-factory_bot)
- **99.4% conformance** against RuboCop across [**5,590 open-source repos**](docs/corpus.md)
- **911 cops** from 6 RuboCop gems (rubocop, rubocop-rails, rubocop-performance, rubocop-rspec, rubocop-rspec_rails, rubocop-factory_bot)
- **98.7% conformance** against RuboCop across [**5,590 open-source repos**](docs/corpus.md)
- **Autocorrect** (`-a`/`-A`) is partial — work in progress
- Reads your existing `.rubocop.yml` — no migration needed
- Uses [Prism](https://github.com/ruby/prism) (Ruby's official parser) via `ruby-prism` crate
Expand Down Expand Up @@ -52,50 +52,50 @@ Config auto-discovery walks up from the target directory to find `.rubocop.yml`.
## Cops

<!-- corpus-cops:start -->
nitrocop supports 916 cops from 6 RuboCop gems.
nitrocop supports 911 cops from 6 RuboCop gems.

Compared with RuboCop on [**5,590 open-source repos**](docs/corpus.md) (590k Ruby files).
Compared with RuboCop on [**5,590 open-source repos**](docs/corpus.md) (593k Ruby files).

99.4% of compared issue reports matched (28.3M of 28.4M). 839 of 910 cops matched exactly; 71 differed.
98.7% of compared issue reports matched (28.3M of 28.6M). 502 of 911 cops matched exactly; 408 differed; 1 had no corpus data.

**[rubocop](https://github.com/rubocop/rubocop)** `1.84.2` (588 cops)

| Department | Cops | Matched exactly | Differed | Matched exactly % |
|------------|-----:|----------------:|---------:|------------------:|
| Layout | 100 | 87 | 13 | 87.0% |
| Lint | 148 | 141 | 7 | 95.2% |
| Style | 287 | 257 | 30 | 89.5% |
| Metrics | 10 | 10 | 0 | ✓ 100.0% |
| Naming | 19 | 19 | 0 | ✓ 100.0% |
| Security | 6 | 6 | 0 | ✓ 100.0% |
| Bundler | 7 | 7 | 0 | ✓ 100.0% |
| Gemspec | 10 | 10 | 0 | ✓ 100.0% |
| Layout | 100 | 36 | 64 | 36.0% |
| Lint | 148 | 87 | 61 | 58.7% |
| Style | 287 | 106 | 181 | 36.9% |
| Metrics | 10 | 1 | 9 | 10.0% |
| Naming | 19 | 11 | 8 | 57.8% |
| Security | 6 | 3 | 3 | 50.0% |
| Bundler | 7 | 6 | 1 | 85.7% |
| Gemspec | 10 | 8 | 2 | 80.0% |
| Migration | 1 | 1 | 0 | ✓ 100.0% |
| **Total** | **588** | **538** | **50** | **91.4%** |
| **Total** | **588** | **259** | **329** | **44.0%** |

**[rubocop-rails](https://github.com/rubocop/rubocop-rails)** `2.34.3` (138 cops)

| Department | Cops | Matched exactly | Differed | Matched exactly % |
|------------|-----:|----------------:|---------:|------------------:|
| Rails | 138 | 118 | 20 | 85.5% |
| Rails | 138 | 111 | 27 | 80.4% |

**[rubocop-performance](https://github.com/rubocop/rubocop-performance)** `1.26.1` (52 cops)

| Department | Cops | Matched exactly | Differed | Matched exactly % |
|------------|-----:|----------------:|---------:|------------------:|
| Performance | 52 | 52 | 0 | ✓ 100.0% |
| Performance | 52 | 49 | 3 | 94.2% |

**[rubocop-rspec](https://github.com/rubocop/rubocop-rspec)** `3.9.0` (113 cops)

| Department | Cops | Matched exactly | Differed | Matched exactly % |
|------------|-----:|----------------:|---------:|------------------:|
| RSpec | 113 | 112 | 1 | 99.1% |
| RSpec | 113 | 65 | 48 | 57.5% |

**[rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails)** `2.32.0` (8 cops)

| Department | Cops | Matched exactly | Differed | Matched exactly % |
|------------|-----:|----------------:|---------:|------------------:|
| RSpecRails | 8 | 8 | 0 | ✓ 100.0% |
| RSpecRails | 8 | 7 | 1 | 87.5% |

**[rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot)** `2.28.0` (11 cops)

Expand All @@ -104,6 +104,7 @@ Compared with RuboCop on [**5,590 open-source repos**](docs/corpus.md) (590k Rub
| FactoryBot | 11 | 11 | 0 | ✓ 100.0% |

"Matched exactly" means nitrocop produced no extra issues and missed no issues for that cop anywhere in the corpus.
No corpus data means the cop never appeared in the corpus, so it has not been compared yet.
See [docs/corpus.md](docs/corpus.md) for the full corpus breakdown.
<!-- corpus-cops:end -->

Expand Down
Loading