Codacy configuration file#
Codacy supports configuring certain advanced features through a configuration file:
Ignoring files globally, for duplication, or a specific tool
Configuring a specific repository directory on which to start the analysis
Adding custom file extensions to languages, keeping in mind that some tools might not work out of the box with those extensions
To use a Codacy configuration file:
Create a text file with the name
.codacy.yamlon the root of your repository.
Add your settings to the configuration file based on the example template below.
The configuration file must start with a line containing a triple dash (
--- engines: rubocop: exclude_paths: - "config/test.yml" base_sub_dir: "test/baseDir" duplication: exclude_paths: - "config/test.yml" config: languages: - "ruby" languages: css: extensions: - "-css.resource" exclude_paths: - ".bundle/**" - "spec/**/*" - "benchmarks/**/*" - "**.min.js" - "**/tests/**"
Optionally, validate the syntax of your configuration file with the Codacy Analysis CLI by running the following command in the same folder as the Codacy configuration file:
codacy-analysis-cli validate-configuration --directory `pwd`
Syntax for excluding files#
To ignore files, you must use the Java glob syntax to define one or more
exclude_paths patterns. For example:
|Example pattern||Ignored files|
||All files in the root of test|
||All files and directories inside test|
||All files inside sub-directories of test|
Which tools can be configured and which name should I use?#
You can use the Codacy configuration file to configure all tools supported by Codacy except the client-side tools.
The following are the tool names that must be used in the Codacy configuration file:
ameba bandit brakeman bundleraudit checkov checkstyle codacy-scalameta-pro codenarc coffeelint cppcheck credo csslint detekt eslint flawfinder hadolint jacksonlinter jshint markdownlint phpcs phpmd pmd pmd-legacy prospector psscriptanalyzer pylint pylintpython3 remark-lint revive rubocop scalastyle shellcheck sonarscharp sonarvb SQLint stylelint swiftlint tailor tslint tsqllint
Although Codacy tries to detect which language is used on each source code file, some false positives may occur. The tools below support specific configurations to specify the language or language version used in the source code files that you're analyzing.
If you're using Cppcheck to analyze C or C++ source code files, add the following configuration to your Codacy configuration file to define the programming language you're using. The supported languages are
--- engines: cppcheck: language: c++
--- engines: phpcs: php_version: 5.5
Legacy Pylint 1.9.*#
If you're using the legacy Pylint 1.9.* to analyze Python source code files, add the following configuration to your Codacy configuration file to define the Python language version you're using. The supported versions are
--- engines: pylint: python_version: 2
If you're using Python 3.4.* or later as your programming language, we recommend that you disable the tool Pylint and enable the tool Pylint (Python 3) on your repository Code patterns page instead. For more information see What's New in Pylint 2.0.
If you have questions about the Codacy configuration file, please contact us at email@example.com.
Share your feedback 📢
Let us know if this page was helpful:
Thank you for the feedback!
We're sorry to hear that. Please let us know what we can improve.