expo-architect について
expo-architect は、要件に基づいて Expo React Native アプリを生成・検証するスキルです。画面とナビゲーションを備えたアプリを作成し、必要に応じて Better Auth を設定します。
主な機能
- 01Expo アプリのスキャフォールド生成
- 02画面とナビゲーションの生成
- 03任意の Better Auth フロー
- 04Biome と厳格な TypeScript の設定
- 05品質検証
活用シーン
- 01要件から Expo アプリを構築
- 02必要に応じたサインイン画面の追加
- 03生成したアプリの品質確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ shipshitdev/ skills --skill expo-architectインストール後、Claude Code で/expo-architectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
plugin.jsonreferences/full-guide.mdscripts/init-expo.pytests/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ですぐに実行可能
ワークフローの概要
- PRD ブリーフの取り込み - アプリの種類、画面、機能、認証要件を抽出
- 認証のセットアップ(依頼された場合) -
lib/auth-client.ts(Better Auth Expo クライアント)、セッションで保護されたルートレイアウト、サインイン/サインアップ画面 - 画面の生成 - タブまたはスタックベースのナビゲーション
- コンポーネントの生成 - UI コンポーネント、エンティティコンポーネント、レイアウト
- 品質設定 - Biome、TypeScript 厳格モード、パスエイリアス
- 検証 - 品質ゲートを実行し、結果を報告
使用方法
# 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 をご覧ください。
コメント
Markdown 対応