mcpField
E
expo-architect

expo-architect

github.com/shipshitdev開発38305 回インストール2 日前に更新
リポジトリ

expo-architect について

expo-architect は、要件に基づいて Expo React Native アプリを生成・検証するスキルです。画面とナビゲーションを備えたアプリを作成し、必要に応じて Better Auth を設定します。

主な機能

  1. 01Expo アプリのスキャフォールド生成
  2. 02画面とナビゲーションの生成
  3. 03任意の Better Auth フロー
  4. 04Biome と厳格な TypeScript の設定
  5. 05品質検証

活用シーン

  1. 01要件から Expo アプリを構築
  2. 02必要に応じたサインイン画面の追加
  3. 03生成したアプリの品質確認

インストール

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

$npx skills add https://github.com/shipshitdev/skills --skill expo-architect

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

同梱ファイル

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

plugin.json
references/
full-guide.md
scripts/
init-expo.py
tests/
test_init_expo.py

詳細

Expo Architect

以下の機能を備えた Expo React Native アプリを作成します。

  • フレームワーク: Expo SDK 57 + React Native 0.86 + React 19 + TypeScript
  • ナビゲーション: Expo Router(ファイルベースルーティング)
  • 認証: Expo クライアントを使った Better Auth(任意。セッションは SecureStore に保存し、API をバックエンドとして使用します)
  • UI: NativeWind(RN 向け Tailwind)または StyleSheet
  • 品質: Biome 2.5 によるリンティング + TypeScript 厳格モード
  • パッケージマネージャー: bun

契約

入力:

  • 要求されたモバイルアプリのスコープと対象ディレクトリ

出力:

  • Expo アプリケーションのスキャフォールドと検証結果

作成・変更するもの:

  • 承認されたスキャフォールド先のアプリソースと設定

外部への副作用:

  • 依頼されたセットアップ内での依存関係のインストールとローカル検証のみ

確認が必要な操作:

  • 既存のアプリケーションファイルを上書きする場合、依頼されていない認証を追加する場合、または外部アカウントを使用する場合
  • スキルを読み込んでも権限は追加されません。既存の明示的な承認は、同じ対象と操作にのみ適用されます。報告のみの制限がある場合は維持してください。

委任先:

  • なし

他との違い

空のスキャフォールドではなく、実際に動作するモバイルアプリを生成します。

  • 動作する画面を備えた完全なナビゲーション構成
  • 任意で追加できる Better Auth のサインイン/サインアップフロー
  • 適切なスタイルを適用した実際の UI コンポーネント
  • API クライアントとの統合に対応済み
  • bun start ですぐに実行可能

ワークフローの概要

  1. PRD ブリーフの取り込み - アプリの種類、画面、機能、認証要件を抽出
  2. 認証のセットアップ(依頼された場合) - lib/auth-client.ts(Better Auth Expo クライアント)、セッションで保護されたルートレイアウト、サインイン/サインアップ画面
  3. 画面の生成 - タブまたはスタックベースのナビゲーション
  4. コンポーネントの生成 - UI コンポーネント、エンティティコンポーネント、レイアウト
  5. 品質設定 - Biome、TypeScript 厳格モード、パスエイリアス
  6. 検証 - 品質ゲートを実行し、結果を報告

使用方法

# Create app with PRD-style prompt
python3 scripts/init-expo.py \
  --root ~/www/myapp \
  --name "My App" \
  --brief "A fitness tracker where users can log workouts"

# With specific options
python3 scripts/init-expo.py \
  --root ~/www/myapp \
  --name "My App" \
  --tabs "Home,Workouts,Profile" \
  --auth

生成される構成

myapp/
├── app/
│   ├── _layout.tsx          # Root layout
│   ├── (tabs)/              # Tab navigator
│   │   ├── _layout.tsx
│   │   ├── index.tsx
│   │   └── ...
│   └── (auth)/              # Auth screens (if enabled)
├── components/
│   ├── ui/                  # Base UI components
│   ├── [entity]/            # Feature components
│   └── layout/              # Layout components
├── lib/
│   ├── api.ts               # API client
│   └── auth-client.ts       # Better Auth Expo client (if auth enabled)
├── types/                   # TypeScript types
├── app.json                 # Expo config
├── package.json
├── tsconfig.json
└── biome.json

開発コマンド

bun start          # Start Expo dev server
bun run ios        # iOS simulator
bun run android    # Android emulator
bun run lint       # Check code style
bun run typecheck  # Type checking

環境変数

EXPO_PUBLIC_API_URL=http://localhost:3001

Better Auth は API 内で実行されます(デフォルトは /api/auth)。API には @better-auth/expo プラグインと、trustedOrigins に設定するアプリのスキーム(my-app:// など、アプリのスラッグを使用)が必要です。認証が有効な場合、スキャフォールドは正確なスキームを出力します。


詳しいパターン、コードテンプレート、完全な例については、 references/full-guide.md をご覧ください。

コメント