RuboCop is a static code analyzer, linter, and formatter for the Ruby language. It identifies style violations, smells, and errors in source code to ensure consistency and maintainability based on community guidelines.
The project provides automatic source code formatting to rewrite files according to defined stylistic standards. It also functions as a language server protocol implementation, surfacing violations and suggested fixes directly within code editors.
The tool covers code complexity monitoring to track the size of classes and methods and employs non-inclusive language detection to suggest alternative phrasing. It includes a configuration system for managing rule activation, file exclusions, and the generation of todo lists to track existing offenses for incremental cleanup.