Our open and extensible platform lets you customize your analysis to surface the issues your team cares about most.
When you first add a repo to Code Climate, we’ll analyze your code using our 10-point maintainability assessment.
These individual checks can be enabled/disabled on the Maintainability tab of your repository's Settings page.
Code Climate allows users to enforce test coverage via our Github Pull Request Integration.
The Enforce Diff Coverage option requires all new code in a Pull Request to meet a configurable minimum threshold of test coverage percentage. The default threshold is 50%.
The Enforce Total Coverage option sends a pass/fail status based on whether the PR would have a positive/negative impact on the repository's overall test coverage.
- If the overall test coverage percentage of your repository will decrease (by 0.1% or more) by merging the PR, Code Climate will send a failed status to Github.
In addition to the 10-point maintainability analysis, you can choose to implement over 30+ style, linting, and security static analysis tools. These plugins can be individually enabled on the Plugins tab of your repository's Settings page.
You can choose to exclude certain files and directories from our analysis. This can be done using the Exclude patterns tab on your repository's Settings page. By default, we exclude a list of common folders paths for tests, configuration files, and vendor code. To learn more about recommended exclusions, visit our docs here.
- Each entry in a list of
exclude_patternsis a "pattern".
- Patterns can be filenames relative to the project root, or shell-style globs relative to the project root.
- Patterns can be negated by prefixing them with a
!. A negated pattern will include the matched files for analysis, even if they have been excluded by a previous pattern.
- Patterns should be quoted to ensure your configuration file will be parsed correctly.
In addition to the in-app configuration described above, you can commit a configuration file (
.codeclimate.json) to your repo, which allows you to more finely tune your analysis. For more information, check out our help doc on Advanced Configuration.