測っているのは「AI が引ける情報が揃っているか」と 「破ったときに止まるか」の 2 つ。部品の数は指標にしていない。
数えられないもの(意匠の質・ドメイン知識・宣言すべき対象の判断)は
ここに現れない。operating-model.md の
「この体制で守れないもの」を併せて読むこと。
禁止パターン 23 件。
| 段階 | 件数 | 割合 |
|---|---|---|
| 機械が検出できる(検出器あり) | 11 | 47.8% |
| 何かが止める(検出器・ESLint・Hook・CI・テストのいずれか) | 19 | 82.6% |
| 何も止めない(書いてあるだけ) | 4 | 17.4% |
カテゴリ別。
| カテゴリ | ルール | 検出器あり | 何かが止める |
|---|---|---|---|
| コンポーネント | 8 | 5 | 8 |
| カラー | 3 | 0 | 2 |
| タイポグラフィ | 2 | 1 | 2 |
| アクセシビリティ | 6 | 3 | 5 |
| AI 生成 | 4 | 2 | 2 |
書いてあるだけで、破っても誰も気づかない。 隠さず並べる。
| ID | 禁止していること |
|---|---|
| K01 | ハードコードした色値 |
| A04 | 色だけで状態を伝える |
| AI01 | カード上部の意味の無いカラーバー装飾 |
| AI02 | 過度なグラデーション背景 / 紫・ピンク系 |
登録部品 55 件。項目ごとの充足率。
| 項目 | 充足 | 割合 | なぜ要るか |
|---|---|---|---|
| import | 51 / 55 | 92.7% | 置き場所。これが無いと AI は import 文を書けない |
| description | 30 / 55 | 54.5% | 何のための部品か |
| props | 44 / 55 | 80% | props 契約 |
| variants | 18 / 55 | 32.7% | バリエーション |
| sizes | 17 / 55 | 30.9% | サイズ |
| accessibility | 14 / 55 | 25.5% | a11y の要件 |
| sample | 23 / 55 | 41.8% | 実際に動くコード例 |
| prohibited | 11 / 55 | 20% | この部品固有の禁止事項 |
W3C DTCG 形式で 553 件。
| グループ | 件数 |
|---|---|
| color | 118 |
| typography | 19 |
| spacing | 15 |
| borderRadius | 7 |
| shadow | 7 |
| breakpoint | 4 |
| container | 3 |
| transition | 4 |
| component | 376 |
DS に同等品がある MUI 部品を、直接 import せず DS 経由で使っているか。
100%(DS 経由 356 箇所 / 直 import 0 箇所)
| アプリ | DS 経由 | MUI 直 | 準拠率 |
|---|---|---|---|
| saas-dashboard | 204 | 0 | 100% |
| kaze-eats | 95 | 0 | 100% |
| sky-kaze | 57 | 0 | 100% |
| LP (src/pages) | 0 | 0 | — |
MUI に同等品が無い DS 部品の利用が別に 56 箇所ある(PageHeader 等。分子には数えない)。
再生成: pnpm ds:coverage --write