Loading...
Loading...
Angular + BEM CSS methodology guide for creating reusable components and shareable front-end code. Enforces component-scoped BEM blocks, max 2-level nesting, proper component decomposition, semantic element naming, correct modifier patterns, and flat selectors. Use when writing, reviewing, or refactoring Angular component styles. Triggers on tasks involving CSS, SCSS, SASS, component styling, BEM naming, or CSS architecture.
npx skill4agent add develite98/angular-best-practices angular-css-bem-best-practicesBlockBlock__ElementBlock__Element__SubElement--modifier| Priority | Rule | Impact | File |
|---|---|---|---|
| 1 | Block = Component Selector | CRITICAL | |
| 2 | Max 2 Levels of Nesting | CRITICAL | |
| 3 | Split Child Components | CRITICAL | |
| 4 | Element Naming Conventions | HIGH | |
| 5 | Modifier Patterns | HIGH | |
| 6 | No Cascading Selectors | HIGH | |
bem-block-selectorbem-max-nesting.block__element.block__element__subelementbem-split-componentsbem-element-namingbem-modifier-patterns--modifierbem-no-cascading.block → Component root (matches selector)
.block__element → Child part of the component
.block--modifier → Variant of the entire block
.block__element--modifier → Variant of a single element
✅ .user-card
✅ .user-card__avatar
✅ .user-card--featured
✅ .user-card__name--highlighted
❌ .user-card__header__title (3 levels)
❌ .user-card .user-card__avatar (descendant selector)
❌ div.user-card (tag-qualified)rules/bem-block-selector.md
rules/bem-max-nesting.md
rules/bem-split-components.md
rules/bem-element-naming.md
rules/bem-modifier-patterns.md
rules/bem-no-cascading.mdAGENTS.md