uniwind について
Uniwindは、Uniwindを使うReact Native開発者向けのベストプラクティススキルです。設定、テーマ、コンポーネント連携、パフォーマンスの指針を影響度順にまとめ、コード生成やリファクタリングに役立ちます。
主な機能
- 018カテゴリの開発ルール
- 02影響度順に並んだルール
- 03ビルド設定とテーマ設計の指針
- 04コンポーネント連携とレスポンシブレイアウト
- 05パフォーマンス改善と移行の推奨事項
活用シーン
- 01新規 React Native プロジェクトでの Uniwind 設定
- 02CSS変数を使ったテーマシステムの構築
- 03サードパーティ製コンポーネントへの className 対応
- 04NativeWind から Uniwind への移行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill uniwindインストール後、Claude Code で/uniwindを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonassets/templates/_template.mdreferences/_sections.mdbuild-css-entry.mdbuild-debug-mode.mdbuild-metro-config.mdbuild-rem-polyfill.mdbuild-restart-metro.mdbuild-typescript-types.mdcomp-accent-colors.mdcomp-custom-css.mdcomp-module-level.mdcomp-prop-mapping.mdcomp-reanimated.mdcomp-with-uniwind.mdcompat-cssinterop-replacement.mdcompat-nativewind-migration.mdcompat-rem-default.mdcompat-safe-area-changes.mdcompat-tailwind-4-syntax.mdperf-avoid-inline-styles.mdperf-combine-styles.mdperf-memoize-variants.mdperf-static-classnames.mdperf-tailwind-merge.mdperf-use-resolve-sparingly.mdplat-font-families.mdplat-ios-android-selectors.mdplat-safe-area-context.md詳細
Uniwind のベストプラクティス
Uniwind のパフォーマンス最適化とベストプラクティスを網羅したガイドです。React Native 向けの最速の Tailwind CSS バインディングとして、影響度に基づいて優先順位付けされた 8 カテゴリ、45 以上のルールを収録し、自動リファクタリングとコード生成を支援します。
適用するタイミング
次の場合に、これらのガイドラインを参照してください。
- 新しい React Native プロジェクトで Uniwind をセットアップするとき
- Metro プラグインと CSS エントリーポイントを設定するとき
- CSS 変数を使ってテーマシステムを構築するとき
classNameに対応したサードパーティコンポーネントを統合するとき- モバイルやタブレット向けのレスポンシブレイアウトを作成するとき
- スタイリングのパフォーマンスを最適化するとき
- NativeWind から Uniwind に移行するとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | ビルド時の設定 | 重大 | build- |
| 2 | テーマアーキテクチャ | 重大 | theme- |
| 3 | コンポーネントの統合 | 高 | comp- |
| 4 | レスポンシブデザイン | 高 | resp- |
| 5 | パフォーマンス最適化 | 中〜高 | perf- |
| 6 | プラットフォームのパターン | 中 | plat- |
| 7 | 状態とインタラクション | 中 | state- |
| 8 | 移行と互換性 | 低〜中 | compat- |
クイックリファレンス
1. ビルド時の設定(重大)
build-metro-config- 必須オプションを指定して Metro プラグインを設定するbuild-css-entry- アプリのルートディレクトリに CSS エントリーファイルを配置するbuild-typescript-types- TypeScript 定義ファイルの場所を設定するbuild-restart-metro- 設定変更後に Metro を再起動するbuild-debug-mode- 開発中にデバッグモードを有効にするbuild-rem-polyfill- デザインシステムの一貫性を保つために rem の基準値を設定する
2. テーマアーキテクチャ(重大)
theme-css-variables-@themeディレクティブでテーマ変数を定義するtheme-variant-blocks- テーマ定義には@variantブロックを使用するtheme-consistent-variables- すべてのテーマで同一の変数を定義するtheme-custom-registration- Metro 設定にカスタムテーマを登録するtheme-oklch-colors- 知覚的な均一性のために OKLCH 色空間を使用するtheme-light-dark-function- 色の適応にはlight-dark()関数を使用するtheme-no-provider- アプリから ThemeProvider ラッパーを削除する
3. コンポーネントの統合(高)
comp-with-uniwind- サードパーティコンポーネントには withUniwind を使用するcomp-module-level- ラップしたコンポーネントをモジュールレベルで定義するcomp-prop-mapping- スタイル以外の props にはカスタム prop マッピングを使用するcomp-accent-colors- 色 prop の抽出には accent-* クラスを使用するcomp-reanimated- Reanimated コンポーネントは withUniwind なしで動作するcomp-custom-css- 複雑で再利用可能なスタイルにはカスタム CSS クラスを使用する
4. レスポンシブデザイン(高)
resp-mobile-first- モバイルファーストで設計し、段階的に機能を強化するresp-limit-breakpoints- 保守性のためにブレークポイントを 3〜5 個に制限するresp-visibility-toggle- レスポンシブな表示切り替えには hidden/flex を使用するresp-custom-breakpoints- 意味のある名前でカスタムブレークポイントを定義するresp-responsive-spacing- 余白とタイポグラフィをレスポンシブに拡大縮小する
5. パフォーマンスの最適化(中〜高)
perf-static-classnames- ビルド時の解決には完全な静的クラス名を使用するperf-use-resolve-sparingly- useResolveClassNames の使用は控えるperf-memoize-variants- バリアントのスタイルオブジェクトをメモ化するperf-tailwind-merge- クラスの重複排除には tailwind-merge を使用するperf-avoid-inline-styles- インラインの style プロパティより className を優先するperf-combine-styles- className と style プロパティを正しく組み合わせる
6. プラットフォームのパターン(中)
plat-ios-android-selectors- iOS/Android の違いにはプラットフォームセレクターを使用するplat-safe-area-context- セーフエリアには react-native-safe-area-context を使用するplat-yoga-layout- Yoga レイアウトエンジンの違いを理解するplat-web-selector- クロスプラットフォームアプリには web: セレクターを使用するplat-font-families- フォールバックなしでフォントファミリーを設定する
7. 状態とインタラクション(中)
state-pressable-states- active:/focus:/disabled: 状態には Pressable を使用するstate-data-selectors- コンポーネントの状態のスタイリングにはデータセレクターを使用するstate-no-hover- ネイティブでは hover: を避け、代わりに active: を使用するstate-group-variants- 親子のスタイリングにはグループバリアントを使用する(作業中)state-dark-mode- ダークモードのスタイルには dark: バリアントを使用する
8. 移行と互換性(低〜中)
compat-nativewind-migration- NativeWind の移行チェックリストに従うcompat-tailwind-4-syntax- Tailwind 4 の CSS ファースト設定を使用するcompat-rem-default- rem のデフォルト値の違いを考慮するcompat-cssinterop-replacement- cssInterop を withUniwind に置き換えるcompat-safe-area-changes- *-safe クラスを Safe Area Context に置き換える
使用方法
詳しい説明とコード例については、各リファレンスファイルを参照してください。
- セクションの定義 - カテゴリーの構造と影響レベル
- ルールのテンプレート - 新しいルールを追加するためのテンプレート
リファレンスファイル
| ファイル | 説明 |
|---|---|
| AGENTS.md | すべてのルールをまとめた完全なガイド |
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/_template.md | 新しいルール用のテンプレート |
| metadata.json | バージョンとリファレンス情報 |
コメント
Markdown 対応