mcpField
C
components-build

components-build

github.com/nolly-studioデザイン・UI6.9k101 回インストール2 日前に更新
リポジトリ

components-build について

components-build は、React コンポーネントやライブラリを作る開発者向けのガイドラインです。コンポジション、アクセシビリティ、スタイル、配布などを 16 分野のルールで扱います。

主な機能

  1. 0116 分野のコンポーネントルール
  2. 02複合コンポーネントの構成指針
  3. 03キーボード操作と ARIA の指針
  4. 04制御・非制御状態のパターン
  5. 05スタイル、テーマ、配布の指針

活用シーン

  1. 01React コンポーネント API と props の設計
  2. 02キーボードやスクリーンリーダーへの対応
  3. 03Tailwind CSS と CVA によるスタイル設定
  4. 04コンポーネント文書と npm 公開の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nolly-studio/cult-ui --skill components-build

インストール後、Claude Code で/components-buildを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
rules/
accessibility.md
as-child.md
composition.md
data-attributes.md
definitions.md
design-tokens.md
documentation.md
marketplaces.md
npm.md
overview.md
polymorphism.md
principles.md
registry.md
state.md
styling.md
types.md

詳細

Components.build 仕様

モダンで、組み合わせ可能かつアクセシブルな UI コンポーネントを構築するための包括的なガイドラインです。基本原則から配布まで、16 のルールカテゴリを網羅しています。Hayden Bleasel と shadcn が共同で作成しました。

適用する場面

以下の場合に、このガイドラインを参照してください。

  • 新しい React コンポーネントやコンポーネントライブラリを作成するとき
  • コンポーネント API とプロパティのインターフェースを設計するとき
  • アクセシビリティ機能(キーボード操作、ARIA、フォーカス管理)を実装するとき
  • 組み合わせ可能なコンポーネントアーキテクチャを構築するとき
  • Tailwind CSS と CVA を使ってコンポーネントをスタイリングするとき
  • レジストリや npm にコンポーネントを公開するとき

優先度別のルールカテゴリ

優先度カテゴリ焦点プレフィックス
1概要仕様の範囲と目標overview
2原則中核となる設計理念principles
3定義共通用語definitions
4コンポジション複雑なコンポーネントの分割composition
5アクセシビリティキーボード、スクリーンリーダー、ARIAaccessibility
6状態制御パターンと非制御パターンstate
7型TypeScript のプロパティとインターフェースtypes
8ポリモーフィズムas プロパティによる要素の切り替えpolymorphism
9As-ChildRadix Slot のコンポジションパターンas-child
10データ属性data-state と data-slotdata-attributes
11スタイリングTailwind CSS、cn ユーティリティ、CVAstyling
12デザイントークンCSS 変数とテーマ設定design-tokens
13ドキュメントコンポーネントのドキュメントdocumentation
14レジストリコンポーネントレジストリregistry
15NPMnpm への公開npm
16マーケットプレイスコンポーネントマーケットプレイスmarketplaces

クイックリファレンス

1. 概要
  • overview - 仕様の範囲、目標、理念
2. 原則
  • principles - コンポジション、アクセシビリティ、カスタマイズ、透明性
3. 定義
  • definitions - 共通用語(プリミティブ、複合、ヘッドレスなど)
4. コンポジション
  • composition-root - 共有状態のための Context を備えたルートコンポーネント
  • composition-item - アイテムのラッパーコンポーネント
  • composition-trigger - インタラクティブなトリガーコンポーネント
  • composition-content - コンテンツ表示コンポーネント
  • composition-export - 名前空間エクスポートパターン
5. アクセシビリティ
  • accessibility-semantic-html - 適切な HTML 要素を使用する
  • accessibility-keyboard - キーボードによる完全なナビゲーションをサポートする
  • accessibility-aria - 適切な ARIA ロール、状態、プロパティを設定する
  • accessibility-focus - フォーカスを管理し、復元する
  • accessibility-live-regions - スクリーンリーダー向けの通知
  • accessibility-contrast - 色のコントラスト要件
6. 状態
  • state-uncontrolled - 内部状態の管理
  • state-controlled - 外部への状態管理の委譲
  • state-controllable - useControllableState で両方のパターンをサポートする
7. 型
  • types-extend-html - ネイティブ HTML 属性を拡張する
  • types-export - 利用者向けにプロパティの型をエクスポートする
  • types-single-element - 1 つのコンポーネントで 1 つの要素をラップする
8. ポリモーフィズム
  • polymorphism-as-prop - 描画する要素の型を変更する
  • polymorphism-typescript - 型安全なポリモーフィックコンポーネント
  • polymorphism-defaults - セマンティックな要素のデフォルト値
9. As-Child
  • as-child-slot - プロパティのマージに Radix Slot を使用する
  • as-child-composition - 子コンポーネントと組み合わせる
10. データ属性
  • data-attributes-state - 状態のスタイリングに data-state を使用する
  • data-attributes-slot - サブコンポーネントのターゲティングに data-slot を使用する
11. スタイリング
  • styling-cn-utility - clsx と tailwind-merge を組み合わせる
  • styling-order - ベース → バリアント → 条件付きスタイル → ユーザーによる上書き
  • styling-cva - バリアントに Class Variance Authority を使用する
  • styling-css-variables - CSS 変数で動的な値を指定する
12. デザイントークン
  • design-tokens-css-variables - トークンを CSS 変数として定義する
  • design-tokens-theming - ライト/ダークモードとテーマをサポートする
13. ドキュメント
  • documentation-props - すべての props を JSDoc でドキュメント化する
  • documentation-examples - 使用例を提示する
14. レジストリ
  • registry-structure - レジストリファイルの構造
  • registry-schema - コンポーネントのメタデータスキーマ
15. NPM
  • npm-package-json - パッケージの設定
  • npm-exports - モジュールのエクスポート
16. マーケットプレイス
  • marketplaces-distribution - コンポーネントの配布戦略

使い方

詳しい説明とコード例については、個々のルールファイルを参照してください。

rules/composition/SKILL.md
rules/accessibility/SKILL.md
rules/styling/SKILL.md

各ルールファイルには、次の内容が含まれます。

  • 重要な理由の簡単な説明
  • 説明付きの誤ったコード例
  • 説明付きの正しいコード例
  • ベストプラクティスとよくある落とし穴

完全版ドキュメント

すべてのルールを詳しく展開した完全ガイドについては、AGENTS.md を参照してください。

主な原則

  1. 設定よりコンポジションを優先 - コンポーネントを組み合わせ可能なサブコンポーネントに分割する
  2. デフォルトでアクセシブルに - 後付けではなく、必須要件として扱う
  3. 単一要素でラップする - 各コンポーネントは 1 つの HTML 要素をラップする
  4. HTML 属性を拡張する - 常にネイティブ要素の props を拡張する
  5. 型をエクスポートする - prop の型を利用者が使えるようにする
  6. 両方の状態パターンをサポートする - 制御型と非制御型
  7. インテリジェントなクラスのマージ - tailwind-merge と cn() ユーティリティを使用する

著者

共同執筆者:

AI スキルとしての適応:

components.build の仕様に基づいています。

コメント