mcpField
C
components-build

components-build

github.com/nolly-studio開発53166 回インストール39 週間前に更新
リポジトリ

components-build について

React コンポーネントやコンポーネントライブラリを開発する方向けの規範スキルです。コンポジション、アクセシビリティ、状態、型、スタイリング、ドキュメント、配布などを扱う 16 のルールカテゴリで構成されています。

主な機能

  1. 0116 カテゴリのコンポーネント規則
  2. 02コンポジション構造の指針
  3. 03アクセシビリティとキーボード操作
  4. 04制御・非制御状態のパターン
  5. 05スタイリング、テーマ、配布の指針

活用シーン

  1. 01React コンポーネントライブラリの API 設計
  2. 02キーボード操作と ARIA の実装
  3. 03コンポーネント構成と状態方式の選択
  4. 04ドキュメント作成と配布の準備

インストール

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

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

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

同梱ファイル

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

AGENTS.md
metadata.json
README.md
rules/
_sections.md
_template.md
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 コンポーネントを構築するための包括的なガイドラインです。Hayden Bleasel と shadcn が共同執筆した、基本原則から配布までを網羅する 16 のルールカテゴリで構成されています。

適用する場面

以下の際に、これらのガイドラインを参照してください:

  • 新しい 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. 型をエクスポートする - 利用者が props の型を使用できるようにする
  6. 両方の状態パターンをサポートする - 制御ありと制御なしの両方に対応する
  7. クラスをインテリジェントにマージする - tailwind-merge と cn() ユーティリティを使用する

著者

共同執筆者:

AI スキルとしての適応:

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

コメント