Stylelint rule that doesn't allow the styling of utility classes in CSS

Usage no npm install needed!

<script type="module">
  import stylelintSelectorNoUtility from '';



NPM version Build Status

This plugin is specific to Primer CSS. We'll accept pull requests to make it more generic, or feel free to fork and use it for your own needs.

Utilities are single purpose styles that should be treated as immutable CSS. They should not be altered by custom CSS as this can cause unwanted side effects.

    .m-0, #bar .float-left, #hoo { border: 1px solid pink; }
/** ↑          ↑
 * Each of these selectors */

The following patterns are considered warnings:

#bar .float-left { border: 1px solid pink; }
#bar {
  .float-left { border: 1px solid pink; }

The following patterns are not considered warnings:

#bar { color: pink; }


This repository is distributed with npm, and can be installed with:

$ npm install --save-dev stylelint-selector-no-utility


In your stylelint config add this.

  "plugins": [
  "rules": {
    "primer/selector-no-utility": true



MIT © GitHub