Freedom251 › Ruby Static Analysis Tools
Reek

What Reek is
Reek is a free, open-source tool that examines Ruby classes, modules, and methods for code smells. It can scan source files or directories and accept Ruby code through standard input. Its checks include Feature Envy, Large Class, Long Parameter List, Too Many Statements, and Unused Parameters. Results can be produced as plain text, HTML, YAML, JSON, XML, or GitHub output. A `.reek.yml` file holds configuration, and source comments can suppress specific warnings. For Rails projects, the README describes directory-specific settings for locations 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. Reek identifies higher-level issues but does not provide general fixes, since appropriate changes depend on domain language and business logic. The repository uses the MIT license.
Who it suits
Reek suits Ruby developers and teams who want to identify code smells in files, directories, or standard input. Its Rails-oriented configuration and editor and workflow integrations may fit existing development processes.
What it does well
- Free and open source under the MIT license
- Checks multiple Ruby code smell patterns
- Six listed output formats
- Supports CRuby 3.0–3.3 and JRuby 9.4
- Editor and workflow integrations are listed
What to know first
- Does not provide generic fixes for reported smells
- Official Ruby support is limited to listed versions
- Unused Private Method detection is off by default
Limits
Reek identifies high-level code smells but does not provide generic fixes because suitable changes depend on domain language and business logic. The Unused Private Method detector is disabled by default and requires explicit enabling.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Reek | Ruby code smell detection · install via RubyGems | Free |
As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Install Ruby and a supported Ruby version
- Install Reek with `gem install reek`
- Run it against Ruby files or directories
- Provide Ruby code through standard input when needed
- Configure rules in `.reek.yml` or source comments
Verdict
Reek provides configurable Ruby smell detection with several output formats and integrations. Developers should expect to assess and make fixes themselves, since the right changes depend on the code’s domain and business logic.
Questions
What does Reek analyze?
It examines Ruby classes, modules, and methods and reports code smells.
How much does Reek cost?
Reek is free and open source, with a listed price of $0.
How is Reek installed?
The README instructs users to install it through RubyGems with `gem install reek`.
Which Ruby versions are supported?
Official support is listed for CRuby 3.0 through 3.3 and JRuby 9.4.
Which output formats are available?
Reek supports plain text, HTML, YAML, JSON, XML, and GitHub output.
Does Reek automatically fix smells?
No. It reports high-level smells and does not provide generic fixes.
Facts from Reek's own pages
- Code checks
- Its detectors include checks for issues such as Feature Envy, Large Class, Long Parameter List, Too Many Statements, and Uncommunicative Name. · github.com, 11 Oct 2026
- Configuration
- Reek supports a `.reek.yml` configuration file and permits smell warnings to be suppressed with source code comments. · github.com, 11 Oct 2026
- Detection
- Reek includes checks for code smells such as Feature Envy, Large Class, Long Parameter List, Too Many Statements, and Unused Parameters. · github.com, 11 Oct 2026
- Detector defaults
- The README says the controversial Unused Private Method detector is disabled by default and must be explicitly enabled. · github.com, 11 Oct 2026
- Editor integrations
- The README lists integrations for Vim, TextMate, Atom, SublimeLinter, VS Code, and Emacs. · github.com, 11 Oct 2026
- Founded
- 2009 · github.com, 28 Sept 2026
- Input
- Reek can inspect directories or source files and can also accept Ruby code through standard input. · github.com, 11 Oct 2026
- Installation
- The README says to install Reek with RubyGems using `gem install reek`. · github.com, 11 Oct 2026
- Integrations
- The README lists editor integrations for Vim, TextMate, Atom, SublimeLinter, VS Code, and Emacs. · github.com, 11 Oct 2026
- License
- GitHub identifies the repository license as MIT. · github.com, 11 Oct 2026
- Notable limit
- Reek says it cannot provide generic fixes for reported smells because fixes depend on domain language and business logic. · github.com, 11 Oct 2026
- 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. · github.com, 11 Oct 2026
- Other integrations
- The README lists support projects including overcommit, ruby-critic, pronto-reek, and action-reek. · github.com, 11 Oct 2026
- Output
- Reek supports plain text, HTML, YAML, JSON, XML, and GitHub output formats. · github.com, 11 Oct 2026
- Output formats
- Reek supports plain text, HTML, YAML, JSON, XML, and GitHub output formats. · github.com, 11 Oct 2026
- Purpose
- Reek examines Ruby classes, modules, and methods and reports code smells. · github.com, 11 Oct 2026
- Rails
- The README describes directory-specific configuration as a way to make Reek Rails-friendly. · github.com, 11 Oct 2026
- Rails use
- The README describes configuring Reek for Rails with directory-specific settings for paths such as `app/controllers` and `app/models`. · github.com, 11 Oct 2026
- Release
- The changelog lists version 6.5.0 dated 2025-03-24. · github.com, 11 Oct 2026
- Ruby compatibility
- The README lists official support for CRuby 3.0 through 3.3 and JRuby 9.4. · github.com, 11 Oct 2026
- 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. · github.com, 11 Oct 2026
- Supported Ruby versions
- The README lists official support for CRuby 3.0 through 3.3 and JRuby 9.4. · github.com, 11 Oct 2026
- Workflow integrations
- The README names overcommit, ruby-critic, pronto-reek, and the action-reek GitHub Action as projects that use or support Reek. · github.com, 11 Oct 2026
Where Reek stands on Freedom251
- Ruby Static Analysis Tools#10 of 21
- Linters#30 of 33