Linters
The following tables detail the linters that we are currently using:
Languages
| Language | Linter | Details |
| Bash | BASH_EXEC | bash-exec |
| Bash | BASH_SHELLCHECK | shellcheck |
| Bash | BASH_SHFMT | shfmt |
| C | C_CLANG_FORMAT | clang-format |
| C | C_CPPLINT | cpplint |
| C# | CSHARP_CSHARPIER | csharpier |
| C# | CSHARP_DOTNET_FORMAT | dotnet-format |
| C# | CSHARP_ROSLYNATOR | roslynator |
| C++ | CPP_CLANG_FORMAT | clang-format |
| C++ | CPP_CPPLINT | cpplint |
| Clojure | CLOJURE_CLJSTYLE | Not Used |
| Clojure | CLOJURE_CLJ_KONDO | Not Used |
| CoffeeScript | COFFEE_COFFEELINT | coffeelint |
| Dart | DART_DARTANALYZER | dartanalyzer |
| Go | GO_GOLANGCI_LINT | golangci-lint |
| Go | GO_REVIVE | revive |
| Groovy | GROOVY_NPM_GROOVY_LINT | Not Used |
| Java | JAVA_CHECKSTYLE | checkstyle |
| Java | JAVA_PMD | pmd |
| JavaScript | JAVASCRIPT_ES | eslint |
| JavaScript | JAVASCRIPT_PRETTIER | Not Used |
| JavaScript | JAVASCRIPT_STANDARD | standard |
| JSX | JSX_ESLINT | eslint |
| Kotlin | KOTLIN_DETEKT | detekt |
| Kotlin | KOTLIN_KTLINT | ktlint |
| Lua | LUA_LUACHECK | Not Used |
| Lua | LUA_SELENE | Not Used |
| Lua | LUA_STYLUA | Not Used |
| Makefile | MAKEFILE_CHECKMAKE | checkmake |
| Perl | PERL_PERLCRITIC | Not Used |
| PHP | PHP_PHPCS | Not Used |
| PHP | PHP_PHPCSFIXER | Not Used |
| PHP | PHP_PHPLINT | Not Used |
| PHP | PHP_PHPSTAN | Not Used |
| PHP | PHP_PSALM | Not Used |
| Powershell | POWERSHELL_POWERSHELL | Not Used |
| Powershell | POWERSHELL_POWERSHELL_FORMATTER | Not Used |
| Python | PYTHON_BANDIT | bandit |
| Python | PYTHON_BLACK | black |
| Python | PYTHON_FLAKE8 | flake8 |
| Python | PYTHON_ISORT | isort |
| Python | PYTHON_MYPY | mypy |
| Python | PYTHON_PYLINT | pylint |
| Python | PYTHON_PYRIGHT | pyright |
| Python | PYTHON_RUFF | ruff |
| R | R_LINTR | lintr |
| Raku | RAKU_RAKU | Not Used |
| Ruby | RUBY_RUBOCOP | Not Used (RuboCop is used directly) |
| Rust | RUST_CLIPPY | clippy |
| Salesforce | SALESFORCE_LIGHTNING_FLOW_SCANNER | Not Used |
| Salesforce | SALESFORCE_SFDX_SCANNER_APEX | Not Used |
| Salesforce | SALESFORCE_SFDX_SCANNER_AURA | Not Used |
| Salesforce | SALESFORCE_SFDX_SCANNER_LWC | Not Used |
| Scala | SCALA_SCALAFIX | scalafix |
| SQL | SQL_SQLFLUFF | sqlfluff |
| SQL | SQL_TSQLLINT | tsqllint |
| Swift | SWIFT_SWIFTLINT | swiftlint |
| TSX | TSX_ESLINT | eslint |
| TypeScript | TYPESCRIPT_ES | eslint |
| TypeScript | TYPESCRIPT_PRETTIER | Not Used |
| TypeScript | TYPESCRIPT_STANDARD | ts-standard |
| VB.Net | VBDOTNET_DOTNET_FORMAT | Not Used |
| Format | Linter | Details |
| CSS | CSS_STYLELINT | stylelint |
| ENV | ENV_DOTENV_LINTER | dotenv-linter |
| GraphQL | GRAPHQL_GRAPHQL_SCHEMA_LINTER | Not Used |
| HTML | HTML_DJLINT | Not Used (Refuses to see config file) |
| HTML | HTML_HTMLHINT | htmlhint |
| JSON | JSON_ESLINT_PLUGIN_JSONC | eslint-plugin-jsonc |
| JSON | JSON_JSONLINT | jsonlint |
| JSON | JSON_NPM_PACKAGE_JSON_LINT | npm-package-json-lint |
| JSON | JSON_PRETTIER | Not Used |
| JSON | JSON_V8R | v8r |
| LaTeX | LATEX_CHKTEX | Not Used |
| Markdown | MARKDOWN_MARKDOWNLINT | markdownlint |
| Markdown | MARKDOWN_MARKDOWN_LINK_CHECK | markdown-link-check |
| Markdown | MARKDOWN_MARKDOWN_TABLE_FORMATTER | markdown-table-formatter |
| Markdown | MARKDOWN_REMARK_LINT | remark-lint |
| Protocol Buffers | PROTOBUF_PROTOLINT | Not Used |
| reStructuredText | RST_RSTCHECK | Not Used |
| reStructuredText | RST_RSTFMT | Not Used |
| reStructuredText | RST_RST_LINT | Not Used |
| XML | XML_XMLLINT | xmllint |
| YAML | YAML_PRETTIER | Not Used |
| YAML | YAML_V8R | v8r |
| YAML | YAML_YAMLLINT | yamllint |
| Tooling format | Linter | Details |
| GitHub Action | ACTION_ACTIONLINT | actionlint |
| Ansible | ANSIBLE_ANSIBLE_LINT | ansible-lint |
| Api | API_SPECTRAL | spectral |
| ARM Templates | ARM_ARM_TTK | arm-ttk |
| Bicep | BICEP_BICEP_LINTER | Not Used |
| CloudFormation | CLOUDFORMATION_CFN_LINT | cfn-lint |
| Dockerfile | DOCKERFILE_HADOLINT | hadolint |
| EditorConfig | EDITORCONFIG_EDITORCONFIG_CHECKER | editorconfig-checker |
| Gherkin | GHERKIN_GHERKIN_LINT | Not Used |
| Kubernetes | KUBERNETES_HELM | helm |
| Kubernetes | KUBERNETES_KUBECONFORM | kubeconform |
| Kubernetes | KUBERNETES_KUBESCAPE | kubescape |
| Puppet | PUPPET_PUPPET_LINT | puppet-lint |
| Snakemake | SNAKEMAKE_LINT | Not Used |
| Snakemake | SNAKEMAKE_SNAKEFMT | Not Used |
| Tekton | TEKTON_TEKTON_LINT | Not Used |
| Terraform | TERRAFORM_TERRAFORM_FMT | terraform-fmt |
| Terraform | TERRAFORM_TERRAGRUNT | terragrunt |
| Terraform | TERRAFORM_TERRASCAN | terrascan |
| Terraform | TERRAFORM_TFLINT | tflint |
Other
| Other | Linter | Details |
| Copypaste | COPYPASTE_JSCPD | jscpd |
| Repository | REPOSITORY_CHECKOV | checkov |
| Repository | REPOSITORY_DEVSKIM | devskim |
| Repository | REPOSITORY_DUSTILOCK | dustilock |
| Repository | REPOSITORY_GITLEAKS | gitleaks |
| Repository | REPOSITORY_GIT_DIFF | git_diff |
| Repository | REPOSITORY_GRYPE | grype |
| Repository | REPOSITORY_KICS | kics |
| Repository | REPOSITORY_LS_LINT | ls-lint |
| Repository | REPOSITORY_SECRETLINT | secretlint |
| Repository | REPOSITORY_SEMGREP | semgrep |
| Repository | REPOSITORY_SYFT | syft |
| Repository | REPOSITORY_TRIVY | trivy |
| Repository | REPOSITORY_TRIVY_SBOM | trivy-sbom |
| Repository | REPOSITORY_TRUFFLEHOG | trufflehog |
| Spelling | SPELL_CSPELL | Not Used |
| Spelling | SPELL_LYCHEE | lychee |
| Spelling | SPELL_PROSELINT | proselint |
| Spelling | SPELL_VALE | vale |