Codacy supports configuring certain advanced features through a configuration file.
You can exclude files using glob patterns and add custom extensions to languages.
You can ignore files globally, for certain categories (duplication, metrics or coverage) or for a specific tool (e.g.: Rubocop). The category metrics refers to the information you find under File details such as Size, Structure and Complexity.
To add custom extensions to a language you can also add an entry in this file, but keep in mind that some tools might not work out of the box with those extensions and might need changes.
If you want to disable an engine that needs to be done directly in the Code Patterns page.
The configuration file name must be ".codacy.yaml" or ".codacy.yml" and should be placed in the root of your repository.
--- engines: rubocop:
exclude_paths: - config/engines.yml duplication:
exclude_paths: - config/engines.yml metric:
exclude_paths: - config/engines.yml coverage:
exclude_paths: - config/engines.yml languages: css: extensions: - '-css.resource' exclude_paths: - '.bundle/**' - 'spec/**/*' - 'benchmarks/**/*' - '**.min.js'
'test/**' ignores everything inside test
'test/**/*' ignores all files inside sub-folder of test
'**/*.resource' ignores all .resource in all folders and sub-folders
Please note that if the configuration file exists in your repository, any 'exclude paths' defined on Codacy's UI will not apply.
Validating your configuration file
You can use the codacy-analysis-cli to validate the contents of your configuration file. Run the following command in the folder where the configuration file is located:
codacy-analysis-cli validate-configuration --directory `pwd`
Which tools can be configured and which name should I use?
All tools that Codacy supports are configurable using our configuration file. The names that should be used for each of them are:
If you have questions about Codacy configuration file, please, contact us at firstname.lastname@example.org.