.hbs) template files. It checks for accessibility violations, deprecated patterns, template anti-patterns, and style issues in Ember.js and Glimmer templates.
CodeRabbit runs ember-template-lint v7.9.4.
Files
ember-template-lint considers files with the following extensions:.hbs
Project detection
CodeRabbit runs ember-template-lint only when changed.hbs files appear to belong to an Ember project. A pull request is treated as Ember-related when at least one of these signals is present:
- A changed
.hbsfile is under a standard Ember template or component path, such asapp/templates/,app/components/,addon/templates/,addon/components/, ortests/dummy/app/. - The repository contains an Ember project marker, such as
.ember-cli,ember-cli-build.js,ember-cli-build.cjs, orember-cli-build.mjs. - A nearby
package.jsonor the repository-rootpackage.jsonincludes Ember dependencies, such as packages namedember,ember-*, or@ember/*.
Configuration
boolean
default:true
Enable ember-template-lint
- .coderabbit.yaml
- Web UI
.coderabbit.yaml
.template-lintrc.json, excluding CI configuration paths. This is the only supported configuration file. .template-lintrc.mjs, .template-lintrc.yaml, and .template-lintrc.yml are not loaded.
When no JSON configuration is found, CodeRabbit generates fallback rules based on the selected profile:
- Chill checks security issues, definite bugs, and critical accessibility violations.
- Assertive includes the Chill rules and adds broader accessibility, deprecation, and best-practice checks.
no-bare-strings and require-button-type diagnostics in both profiles.
CodeRabbit runs the sandbox-installed linter without installing project packages or plugins. Inline configuration is disabled with --no-inline-config.
When CodeRabbit skips ember-template-lint
CodeRabbit skips ember-template-lint when:- No
.hbsfiles are present in the pull request diff. - Changed
.hbsfiles are not under standard Ember template paths and CodeRabbit cannot find Ember project markers or Ember dependencies nearby. - ember-template-lint is detected in GitHub Actions, GitLab CI, CircleCI, or Azure Pipelines YAML configuration.
- CodeRabbit finds
.template-lintrc.jsor.template-lintrc.cjs, even when.template-lintrc.jsonalso exists, because these configurations can execute code. - The repository JSON configuration contains a top-level
pluginsorextendskey, even if its value is empty, because these keys can load external code. - The
.template-lintrc.jsonfile cannot be read or parsed.
What’s next
All supported tools
Browse the complete list of linters, security analyzers, and CI/CD integrations available in CodeRabbit.
Tools reference
Explore detailed specifications and capabilities of all available CodeRabbit tools.
Configuration reference
Full reference for all available options, including how to enable, disable, and tune individual tools.