mcpField
M
monorepo-tamagui

monorepo-tamagui

github.com/mindrally開発287681 回インストール3 週間前に更新
リポジトリ

monorepo-tamagui について

monorepo-tamaguiは、TypeScript、React、Next.js、Expo、Tamaguiを使ったクロスプラットフォームアプリの開発指針です。Turbo monorepoでWebとネイティブアプリを開発するチーム向けに、UI、状態管理、ローカライズ、サブスクリプションを扱います。

主な機能

  1. 01TamaguiによるクロスプラットフォームUI
  2. 02Turbo monorepoの構成
  3. 03Zodによるスキーマ検証
  4. 04ZustandとReact Queryによる状態管理
  5. 05Webとネイティブのローカライズ
  6. 06Stripeサブスクリプションの指針

活用シーン

  1. 01Webとネイティブの共通アプリ構成
  2. 02Zodを使ったデータ検証
  3. 03取得データとローカル状態の管理
  4. 04ローカライズされた画面の実装

インストール

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

$npx skills add https://github.com/mindrally/skills --skill monorepo-tamagui

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

詳細

Tamagui を使用した Monorepo

TypeScript、React、Next.js、Expo、Tamagui、Supabase、Zod、Turbo、i18next、Zustand、TanStack React Query、Solito、Stripe を使用してクロスプラットフォームアプリケーションを構築するための、経験豊富な開発者向けガイドラインです。

コードスタイルと構成

  • 関数型のパターンを用いて、簡潔な TypeScript を記述します
  • isLoading のような補助動詞を含む、説明的な変数名を使用します
  • 名前付きエクスポートを使い、エクスポートするコンポーネント、ヘルパー、型ごとにファイルを構成します

TypeScript とバリデーション

  • 型よりもインターフェースを優先します
  • スキーマのバリデーションには Zod を活用します
  • enum ではなくリテラル型を使用します
  • props には TypeScript インターフェースを使い、関数コンポーネントを作成します

UI とスタイリング

  • クロスプラットフォームのコンポーネントには Tamagui を適用します
  • モバイルファーストのレスポンシブデザインを実装します
  • Web とネイティブの間でスタイリングの一貫性を保ちます
  • Tamagui のテーマ機能を活用します

状態管理

  • 状態管理には Zustand を使用します
  • データの取得とキャッシュには TanStack React Query を活用します
  • useEffect の使用を最小限に抑えます

国際化

  • Web では i18next と react-i18next を使用します
  • React Native では expo-localization を適用します
  • ユーザーに表示されるすべてのテキストを国際化します

エラー処理

  • エッジケースを優先して考慮します
  • ガード節を使って早期にエラーを処理します
  • 一貫性を保つためにカスタムエラー型を実装します

パフォーマンスの最適化

  • Web とネイティブの両方のプラットフォームを最適化します
  • Next.js では動的インポートを使用します
  • 遅延読み込みを実装します
  • 適切な形式を使用して画像を最適化します

Monorepo の構成

  • Turbo のベストプラクティスに従います
  • 適切な依存関係管理により、パッケージを分離します
  • 共有設定を使用します
  • package.json に従ってワークスペースを構成します

クロスプラットフォーム開発

  • ナビゲーションには Solito を使用します
  • プラットフォーム固有のコードには .native.tsx ファイルを作成します
  • クロスプラットフォームの画像互換性には SolitoImage を使用します

Stripe の統合

  • 決済処理とサブスクリプションを実装します
  • Stripe Customer Portal を使用します
  • サブスクリプションイベントの Webhook を処理します
  • Supabase とサブスクリプションのステータスを同期します

コメント