# This file lists all the engines available to be run for analysis.
#
# Each engine must have an `image` and `description`. The value in `image` will
# be passed to `docker run` and so may be any value appropriate for that
# (repo/name:tag, image id, etc).
#
# When a repo has files that match the `enable_regexps`, that engine will be
# enabled by default in the codeclimate.yml file. That file will also have in it
# the `default_ratings_paths` globs, which are used during analysis to determine
# which files should be rated.
#
brakeman:
  image: codeclimate/codeclimate-brakeman
  description: Static analysis tool which checks Ruby on Rails applications for security vulnerabilities.
  community: false
  upgrade_languages:
    - Ruby
  enable_regexps:
    - ^app\/.*\.rb
  default_ratings_paths:
    - "Gemfile.lock"
    - "**.erb"
    - "**.haml"
    - "**.rb"
    - "**.rhtml"
    - "**.slim"
bundler-audit:
  image: codeclimate/codeclimate-bundler-audit
  description: Patch-level verification for Bundler.
  community: false
  upgrade_languages:
    - Ruby
  enable_regexps:
    - ^Gemfile\.lock$
  default_ratings_paths:
    - Gemfile.lock
csslint:
  image: codeclimate/codeclimate-csslint
  description: Automated linting of Cascading Stylesheets.
  community: false
  enable_regexps:
    - \.css$
  default_ratings_paths:
    - "**.css"
coffeelint:
  image: codeclimate/codeclimate-coffeelint
  description: A style checker for CoffeeScript.
  community: false
  enable_regexps:
    - \.coffee$
  default_ratings_paths:
    - "**.coffee"
duplication:
  image: codeclimate/codeclimate-duplication
  description: Structural duplication detection for Ruby, Python, JavaScript, and PHP.
  community: false
  enable_regexps:
    - \.inc$
    - \.js$
    - \.jsx$
    - \.module$
    - \.php$
    - \.py$
    - \.rb$
  default_ratings_paths:
    - "**.inc"
    - "**.js"
    - "**.jsx"
    - "**.module"
    - "**.php"
    - "**.py"
    - "**.rb"
  default_config:
    languages:
      - ruby
      - javascript
      - python
      - php
eslint:
  image: codeclimate/codeclimate-eslint
  description: A JavaScript/JSX linting utility.
  community: false
  upgrade_languages:
    - JavaScript
  enable_regexps:
    - \.js$
    - \.jsx$
  default_ratings_paths:
    - "**.js"
    - "**.jsx"
gofmt:
  image: codeclimate/codeclimate-gofmt
  description: Checks the formatting of Go programs.
  community: true
  enable_regexps:
    - \.go$
  default_ratings_paths:
    - "**.go"
golint:
  image: codeclimate/codeclimate-golint
  description: A linter for Go.
  community: true
  enable_regexps:
    - \.go$
  default_ratings_paths:
    - "**.go"
govet:
  image: codeclimate/codeclimate-govet
  description: Reports suspicious constructs in Go programs.
  community: true
  enable_regexps:
    - \.go$
  default_ratings_paths:
    - "**.go"
fixme:
  image: codeclimate/codeclimate-fixme
  description: Finds FIXME, TODO, HACK, etc. comments.
  community: false
  enable_regexps:
    - .+
  default_ratings_paths: []
foodcritic:
  image: codeclimate/codeclimate-foodcritic
  description: Lint tool for Chef cookbooks.
  community: true
  enable_regexps:
  default_ratings_paths:
hlint:
  image: codeclimate/codeclimate-hlint
  description: Linter for Haskell programs.
  community: true
  enable_regexps:
    - \.hs$
  default_ratings_paths:
    - "**.hs"
nodesecurity:
  image: codeclimate/codeclimate-nodesecurity
  description: Security tool for Node.js dependencies.
  community: true
  enable_regexps:
  default_ratings_paths:
pep8:
  image: codeclimate/codeclimate-pep8
  description: Static analysis tool to check Python code against the style conventions outlined in PEP-8.
  community: false
  enable_regexps:
  default_ratings_paths:
    - "**.py"
phpcodesniffer:
  image: codeclimate/codeclimate-phpcodesniffer
  description: Detects violations of a defined set of coding standards in PHP.
  community: false
  enable_regexps:
  default_ratings_paths:
    - "**.php"
    - "**.module"
    - "**.inc"
phpmd:
  image: codeclimate/codeclimate-phpmd
  description: A PHP static analysis tool.
  community: false
  upgrade_languages:
    - PHP
  enable_regexps:
    - \.php$
    - \.module$
    - \.inc$
  default_ratings_paths:
    - "**.php"
    - "**.module"
    - "**.inc"
radon:
  image: codeclimate/codeclimate-radon
  description: Python tool used to compute Cyclomatic Complexity.
  community: false
  upgrade_languages:
    - Python
  enable_regexps:
    - \.py$
  default_ratings_paths:
    - "**.py"
requiresafe:
  image: codeclimate/codeclimate-nodesecurity
  description: Security tool for Node.js dependencies.
  community: true
  enable_regexps:
  default_ratings_paths:
rubocop:
  image: codeclimate/codeclimate-rubocop
  description: A Ruby static code analyzer, based on the community Ruby style guide.
  community: false
  upgrade_languages:
   - Ruby
  enable_regexps:
    - \.rb$
  default_ratings_paths:
    - "**.rb"
rubymotion:
  image: codeclimate/codeclimate-rubymotion
  description: Rubymotion-specific rubocop checks.
  community: true
  enable_regexps:
  default_ratings_paths:
    - "**.rb"
scss-lint:
  image: codeclimate/codeclimate-scss-lint
  description: Configurable tool for writing clean and consistent SCSS.
  community: true
  enable_regexps:
  default_ratings_paths:
    - "**.scss"
watson:
  image: codeclimate/codeclimate-watson
  description: A young Ember Doctor to help you fix your code.
  community: true
  enable_regexps:
  default_ratings_paths:
    - "app/**"