expo-react-native-coder について
開発者やコーディングエージェント向けの Expo React Native 開発ガイドです。セットアップ、ナビゲーション、データ、認証、UX、テストの指針と再利用可能なコードテンプレートを備えています。
主な機能
- 0110カテゴリにわたる50のルール
- 02Expo Routerのナビゲーションパターン
- 03認証とディープリンクの指針
- 04画面とレイアウトのテンプレート
- 05テストとエラー処理の実践
活用シーン
- 01TypeScriptでのExpoプロジェクト開始
- 02タブ、スタック、モーダルのナビ設計
- 03保護ルートとOAuthの追加
- 04フォーム、画面、テストの実装
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill expo-react-native-coderインストール後、Claude Code で/expo-react-native-coderを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdassets/templates/components/error-boundary.tsxassets/templates/hooks/use-auth.tsxassets/templates/layouts/auth-layout.tsxtab-layout.tsxassets/templates/screens/detail-screen.tsxform-screen.tsxlist-screen.tsxreferences/_sections.mdasset-font-loading.mdasset-image-optimization.mdasset-splash-screen.mdasset-vector-icons.mdauth-context-provider.mdauth-login-form.mdauth-oauth-flow.mdauth-protected-routes.mdauth-splash-loading.mddata-abort-controller.mddata-api-routes.mddata-async-storage-simple.mddata-fetch-on-focus.mddata-secure-store.mddata-sqlite-local.mdform-controlled-inputs.mdform-dismiss-keyboard.mdform-submit-button-state.md詳細
Expo React Native コーダーのベストプラクティス
Expo React Native アプリケーションの機能開発に関する包括的なガイドです。プロジェクトのセットアップからテストまで、10 のカテゴリにわたる 50 のルールをまとめています。一般的な機能に使える、本番環境対応のコードテンプレートも含まれています。
適用する場面
以下の場合に、このガイドラインを参照してください。
- TypeScript を使って新しい Expo プロジェクトをセットアップするとき
- Expo Router でナビゲーション(タブ、スタック、ドロワー、モーダル)を構築するとき
- 画面(一覧、詳細、フォーム、設定)を作成するとき
- 保護されたルートを使った認証フローを実装するとき
- ディープリンクとユニバーサルリンクを設定するとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | プロジェクトのセットアップと設定 | CRITICAL | setup- |
| 2 | ルーティングとナビゲーション | CRITICAL | route- |
| 3 | 画面パターンとレイアウト | HIGH | screen- |
| 4 | データ取得と状態管理 | HIGH | data- |
| 5 | 認証とセキュリティ | HIGH | auth- |
| 6 | ディープリンクとユニバーサルリンク | HIGH | link- |
| 7 | ネイティブ UX パターン | MEDIUM-HIGH | ux- |
| 8 | フォームとユーザー入力 | MEDIUM | form- |
| 9 | アセットとテーマ | MEDIUM | asset- |
| 10 | エラー処理とテスト | MEDIUM | test- |
クイックリファレンス
1. プロジェクトのセットアップと設定(CRITICAL)
setup-typescript-config- 厳格モードで TypeScript を設定するsetup-app-config-typescript- 型付きの app.config.ts を使うsetup-environment-variables- クライアント変数には EXPO_PUBLIC_ プレフィックスを使うsetup-eas-build-profiles- 環境ごとに EAS ビルドプロファイルを設定するsetup-development-build- 開発ビルドと Expo Go
2. ルーティングとナビゲーション(CRITICAL)
route-file-based-routing- Expo Router でファイルベースのルーティングを行うroute-tab-navigator- ルートグループを使ったタブナビゲーターroute-dynamic-segments- 動的ルートセグメント [param]route-stack-within-tabs- タブ内にネストしたスタックを作成するroute-modal-presentation- モーダル画面を表示するroute-typed-routes- 型付きルートを有効にするroute-drawer-navigator- ドロワーナビゲーターを設定する
3. 画面パターンとレイアウト(HIGH)
screen-list-flashlist- 大規模な一覧に FlashList を使うscreen-detail-params- パラメーターで最小限のデータを渡すscreen-loading-state- 読み込み状態とエラー状態screen-pull-to-refresh- プルして更新するパターンscreen-header-options- 画面ヘッダーを設定するscreen-settings-list- SectionList を使った設定画面
4. データ取得と状態管理(HIGH)
data-api-routes- サーバーサイドの API ルートdata-secure-store- 機密データに SecureStore を使うdata-sqlite-local- 複雑なローカルデータに SQLite を使うdata-fetch-on-focus- 画面にフォーカスが当たったときに再取得するdata-async-storage-simple- 設定の保存に AsyncStorage を使うdata-abort-controller- アンマウント時にフェッチをキャンセルする
5. 認証とセキュリティ(高)
auth-protected-routes- Stack.Protected によるガードauth-context-provider- セッションを使った認証コンテキストauth-oauth-flow- AuthSession を使った OAuthauth-login-form- バリデーション付きログインフォームauth-splash-loading- 認証確認中のスプラッシュ画面
6. ディープリンクとユニバーサルリンク(高)
link-deep-linking-scheme- カスタム URL スキームlink-universal-links-ios- iOS のユニバーサルリンクlink-android-app-links- Android のアプリリンクlink-handle-incoming- 受信した URL の処理
7. ネイティブ UX パターン(中〜高)
ux-safe-area-insets- ノッチに対応する SafeAreaViewux-status-bar- ステータスバーのスタイル設定ux-haptic-feedback- アクション時の触覚フィードバックux-gesture-handler- スワイプ用ジェスチャーハンドラーux-keyboard-avoiding- KeyboardAvoidingView
8. フォームとユーザー入力(中)
form-text-input-config- TextInput のキーボードタイプform-controlled-inputs- useState を使った制御入力form-submit-button-state- 送信中にボタンを無効化form-dismiss-keyboard- 外側をタップしたときにキーボードを閉じる
9. アセットとテーマ設定(中)
asset-image-optimization- キャッシュ用の expo-imageasset-font-loading- useFonts を使ったフォントの読み込みasset-vector-icons- @expo/vector-iconsasset-splash-screen- スプラッシュ画面の設定
10. エラー処理とテスト(中)
test-jest-setup- jest-expo プリセットを使った Jesttest-component-testing- コンポーネント向け Testing Librarytest-error-boundary- エラーバウンダリーtest-e2e-maestro- Maestro による E2E テスト
コードテンプレート
本番環境ですぐに使えるテンプレートを assets/templates/ で利用できます。
| テンプレート | 説明 |
|---|---|
layouts/tab-layout.tsx | アイコン付きのボトムタブナビゲーター |
layouts/auth-layout.tsx | 保護されたルートを備えたルートレイアウト |
screens/list-screen.tsx | FlashList、更新、各種状態に対応したリスト |
screens/detail-screen.tsx | パラメーター処理に対応した詳細画面 |
screens/form-screen.tsx | バリデーションとキーボード処理に対応したフォーム |
hooks/use-auth.tsx | SecureStore を使った認証コンテキスト |
components/error-boundary.tsx | エラーバウンダリーコンポーネント |
使用方法
詳しい説明とコード例については、各リファレンスファイルをお読みください。
コンパイル済みドキュメント全文
すべてのルールをまとめた包括的なドキュメントについては、AGENTS.md をご覧ください。
リファレンスファイル
| ファイル | 説明 |
|---|---|
| AGENTS.md | すべてのルールをまとめた完全ガイド |
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/ | 本番環境ですぐに使えるコードテンプレート |
| metadata.json | バージョンとリファレンス情報 |
コメント
Markdown 対応