EVERYTHING XIAOMI
Get listed

Reek

Reek is a free, open-source tool for examining Ruby classes, modules, and methods for code smells.

Place
#17 of 33
Chart
Linters
Score
6.1
Reek's website

What Reek is

Reek is a free, open-source tool for examining Ruby classes, modules, and methods for code smells. It can inspect directories or source files and accept Ruby code through standard input. Detectors report issues such as Feature Envy, Large Class, Long Parameter List, Too Many Statements, Uncommunicative Name, and Unused Parameters. Results can be emitted as plain text, HTML, YAML, JSON, XML, or GitHub output. Configuration uses a `.reek.yml` file, while source comments can suppress selected warnings. The project describes directory-specific settings for Rails paths such as `app/controllers` and `app/models`. Listed editor integrations include Vim, TextMate, Atom, SublimeLinter, VS Code, and Emacs. Workflow projects include overcommit, ruby-critic, pronto-reek, and action-reek. Installation is through RubyGems with `gem install reek`. Official support covers CRuby 3.0 through 3.3 and JRuby 9.4. The repository uses the MIT license, and version 6.5.0 is listed in the changelog. Reek identifies higher-level smells but does not provide generic fixes, because appropriate changes depend on domain language and business logic.

Good

  • Free and open source under the MIT license
  • Supports six report formats
  • Accepts files, directories, or standard input
  • Offers Rails-specific directory configuration
  • Lists editor and workflow integrations

Watch out

  • No automatic fixes
  • Official Ruby support covers listed versions only
  • Unused Private Method checking is disabled by default
  • Supports one programming language

Who it suits

It suits Ruby developers and teams that want configurable code-smell reports in editors, Rails projects, or CI workflows. Its formats and integrations support varied development setups.

Verdict

Reek provides broad Ruby smell detection with configurable output and many editor integrations. Readers should plan their own code changes because the tool does not generate generic fixes.

Plans and prices

From Reek's own pricing page, checked 11 Oct 2001.

All about pricing
PlanPriceWhat it gives you
ReekFreeRuby code smell detection · install via RubyGems

The facts

Each one read from Reek's own pages, with the date it was checked.

What it does

Code checks
Its detectors include checks for issues such as Feature Envy, Large Class, Long Parameter List, Too Many Statements, and Uncommunicative Name.checked 11 Oct 2001
Configuration
Reek supports a `.reek.yml` configuration file and permits smell warnings to be suppressed with source code comments.checked 11 Oct 2001
Detection
Reek includes checks for code smells such as Feature Envy, Large Class, Long Parameter List, Too Many Statements, and Unused Parameters.checked 11 Oct 2001
Detector defaults
The README says the controversial Unused Private Method detector is disabled by default and must be explicitly enabled.checked 11 Oct 2001
Editor integrations
The README lists integrations for Vim, TextMate, Atom, SublimeLinter, VS Code, and Emacs.checked 11 Oct 2001
Input
Reek can inspect directories or source files and can also accept Ruby code through standard input.checked 11 Oct 2001
Installation
The README says to install Reek with RubyGems using `gem install reek`.checked 11 Oct 2001
Integrations
The README lists editor integrations for Vim, TextMate, Atom, SublimeLinter, VS Code, and Emacs.checked 11 Oct 2001
License
GitHub identifies the repository license as MIT.checked 11 Oct 2001
Notable limit
Reek says it cannot provide generic fixes for reported smells because fixes depend on domain language and business logic.checked 11 Oct 2001
Notable limits
The README says Reek identifies high-level code smells but cannot give generic fixes because fixes depend on domain language and business logic.checked 11 Oct 2001
Other integrations
The README lists support projects including overcommit, ruby-critic, pronto-reek, and action-reek.checked 11 Oct 2001
Output
Reek supports plain text, HTML, YAML, JSON, XML, and GitHub output formats.checked 11 Oct 2001
Output formats
Reek supports plain text, HTML, YAML, JSON, XML, and GitHub output formats.checked 11 Oct 2001
Purpose
Reek examines Ruby classes, modules, and methods and reports code smells.checked 11 Oct 2001
Rails
The README describes directory-specific configuration as a way to make Reek Rails-friendly.checked 11 Oct 2001
Rails use
The README describes configuring Reek for Rails with directory-specific settings for paths such as `app/controllers` and `app/models`.checked 11 Oct 2001
Release
The changelog lists version 6.5.0 dated 2025-03-24.checked 11 Oct 2001
Ruby compatibility
The README lists official support for CRuby 3.0 through 3.3 and JRuby 9.4.checked 11 Oct 2001
Security and trust
The repository page has a Security and quality section, but the opened project page did not state a specific security certification or compliance claim.checked 11 Oct 2001
Supported Ruby versions
The README lists official support for CRuby 3.0 through 3.3 and JRuby 9.4.checked 11 Oct 2001
Workflow integrations
The README names overcommit, ruby-critic, pronto-reek, and the action-reek GitHub Action as projects that use or support Reek.checked 11 Oct 2001

The company

Founded
2009checked 28 Sep 2001

Alternatives to Reek

All alternatives
  1. 1

    Flake8

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.3Free plan
  2. 2

    PMD

    Free planLinuxmacOSSelf-hostedWindows
    6.8Free plan
  3. 3

    SwiftLint

    Free planLinuxmacOSWindows
    6.6Free plan
  4. 4Ruff logo

    Ruff

    Free planWebLinuxmacOSSelf-hosted
    6.5Free plan
  5. 5Biome logo

    Biome

    Free planWebExtensionLinuxmacOS
    6.4Free plan
  6. 6Cppcheck logo

    Cppcheck

    Free planLinuxmacOSSelf-hostedWindows
    6.4Free plan