Class B 規約
Version: 1.2.0 / Rules: 4 (Class B; all rules: A13 / B4 / C5)
既存のStylelint標準ルールで機械強制する。
Naming
Section titled “Naming”CSS-NAMING-001: クラス名は全小文字・ハイフン区切り(kebab-case)
Section titled “CSS-NAMING-001: クラス名は全小文字・ハイフン区切り(kebab-case)”- Class:
B - Level:
error - Category:
naming - stylelintRule:
selector-class-pattern
概要
クラス名は kebab-case で書く。snake_case・camelCase・大文字始まりは禁止。 接頭辞部分に限り特殊事情(Angular等)で camelCase を許容。
根拠
記法を1つに固定し、命名で「迷う・考える」コストを排除するため。
Good
.good-class-definition { }Bad
.snakecase_class {}.camelCaseClass {}.Has-Capital-CLASS {}AI/レビューで見る点
新規クラスは全小文字ハイフン区切りで命名する。アンダースコアや大文字を使わない。 .g- / .x- / .mode- 接頭辞クラスもこの kebab-case 形式に従う。
Variables
Section titled “Variables”CSS-VAR-001: Custom Property 名はケバブケース
Section titled “CSS-VAR-001: Custom Property 名はケバブケース”- Class:
B - Level:
error - Category:
variables - stylelintRule:
custom-property-pattern
概要
CSS変数(Custom Property)名は全小文字ハイフン区切り。snake_case・camelCase 禁止。
根拠
命名記法をクラスと揃え、揺れをなくすため。
Good
--base-margin: 12px;--base-padding: 12px;Bad
--base_margin: 12px;--basePadding: 12px;AI/レビューで見る点
Custom Property 名は kebab-case で書く(–base-margin)。–v- 接頭辞もこの形式に従う。
Prohibited
Section titled “Prohibited”CSS-PROHIBIT-001: IDセレクタでのスタイル指定禁止
Section titled “CSS-PROHIBIT-001: IDセレクタでのスタイル指定禁止”- Class:
B - Level:
error - Category:
prohibited - stylelintRule:
selector-max-id
概要
#id によるスタイル指定を禁止。クラスで表現する。
根拠
詳細度の暴走を避け、上書き事故を防ぐため。
Good
.main { }.main-list { }Bad
#main { }#main ul { }AI/レビューで見る点
スタイル指定は必ずクラスで行う。ID セレクタ(#foo)をスタイルに使わない。
CSS-PROHIBIT-003: @layer / @scope は基本使用禁止
Section titled “CSS-PROHIBIT-003: @layer / @scope は基本使用禁止”- Class:
B - Level:
error - Category:
prohibited - stylelintRule:
at-rule-disallowed-list
概要
@layer・@scope を原則禁止(規約遵守なら不要。外部ライブラリ前提時のみ例外)。
根拠
規約の詳細度・分割方針で不要になるため、覚えることを減らす。
Good
/* @layer / @scope は使用しない */Bad
@layer base { … }@scope (.card) { … }AI/レビューで見る点
@layer / @scope を書かない。詳細度は規約のファイル分割・命名で管理する。