## Summary
Decision around CSS architecture for the shared library. Topic encompasses: CSS preprocessor (Less, Sass), conventions (BEM, utility classes, etc), design tokens, how styles should be exported, etc.
## Considerations
### Critical to unblock now
#### CSS preprocessor
1. **Less**: WVUI, other WMF team-specific libraries, and MediaWiki use Less. [[ https://www.mediawiki.org/wiki/Requests_for_comment/LESS#Why_LESS?_Why_not_SCSS_/_Sass? | Historically (in 2013), the decision ]] was driven by better PHP implementation of Less.
2. **Sass**: WiKit uses Sass for reasons documented in [[ https://phabricator.wikimedia.org/T286951#7233145 | this comment ]].
**CSS Postprocessor or native**
* Note that CSS variables, a pure CSS option, are not supported in IE11 – see also T286947 for shared components lib and T285045 (for Wikit).
* The other big wants in the room are mixins (CSS [[ https://caniuse.com/?search=%40apply | @apply feature ]]) and nesting (coming to a browser you trust with [[ https://drafts.csswg.org/css-nesting-1/ | CSS Nesting module ]]), which for now and the foreseeable future are not possible without a PostCSS plugin. And a build step.
Under these preconditions, **neither a postprocessor nor native CSS seem to be a viable option for our environment right now**.
#### Design tokens
See T288383 and its subtasks.
---
### Important but less urgent
#### CSS Utility classes
See T285880 for previous discussion and more links.
#### CSS class naming
T255100 Consider CSS naming convention/methodology as coding guideline for Wikimedia projects
T259203 Clarify CSS naming scheme on combined components in WVUI
#### Style scoping
See T258774 for details on how WMDE approached this for WiKit.
---
## Decisions
#### Which CSS preprocessor will we use?
**Design Systems Team proposal:** Use Less or Sass. We have a preference for Less since it's supported and used in MediaWiki and across WMF extensions, but acknowledge that the two options have very similar feature sets.
#### What design token architecture will we implement?
#### How will we follow up on important but less urgent topics?
**Design Systems Team proposal:** If we have extra time we can discuss options and gather opinions at the summit. Then, we can either use the biweekly Front-End Standards Group meetings to discuss these topics further, or schedule a special meeting with those who are interested.
####