Expo Explore(エクスポ エクスプロア)とは、Expo が公開した、アプリの全画面を自動で撮って地図にする OSS だ。 シミュレータでアプリを動かし、画面を1つずつたどってスクリーンショットを撮り、画面同士をつなぐタップの流れと一緒に並べる。プルリクエスト(PR)ごとに、変わった画面の前後を比べたレポートをコメントで返す。画面のたどり方は、ディープリンクで決まった画面を開く方法と、Claude Code や Codex に操作を任せる方法から選べる。

HOW IT WORKSExpo Explore の流れ

アプリを自動でタップして回り、全画面の地図とPRの差分を出す

  1. ビルドを用意

    Expo のビルドか、手元の .app・.apk を渡す

  2. シミュレータで起動

    Expo Simulators か、Mac のシミュレータで動かす

  3. 画面をたどる

    ディープリンクか、Claude Code・Codex が操作して回る

  4. 地図と差分を出す

    全画面のつながりと、PR の前後の違いをレポートに

出典: expo/explore の README(v0.23.0、2026-11-13 時点の main)

30秒でわかる Expo Explore(v0.23.0・2026年11月13日時点)

  • ・何ができる:アプリの全画面を自動で撮り、画面のつながりを地図にする。PR で変わった画面の前後を比べて PR にコメントする
  • ・何を解決する:コードの差分だけでは見えない画面の変化を、レビューの場で見られるようにする
  • ・AI の使いどころ:Claude Code か Codex が画面を操作して先へ進む(agent モードとビルドの探索)。モデルを使わないモードもある
  • ・必要なもの:Node.js 24.12 以上。動かす場所は Expo Simulators(プレビュー中)か、Xcode・Android SDK のある Mac
  • ・状態:Expo の公式リポジトリだが、説明文は「実験的なツール」。最初のコミットは2026年10月14日、star は123
項目 実測した値(2026年11月13日)
リポジトリ expo/explore(Expo の公式組織)
ライセンス MIT(LICENSE の実体は 650 Industries, Inc. = Expo)
最新版 v0.23.0(npm・2026年10月30日公開)。main はその1コミット先
star・fork 123・5
コミット 93(最初のコミットは2026年10月14日)
npm パッケージ @expo/explore。公開済みの版は63

AI コーディングの全体像は Vibe Codingとは?AIコーディングの始め方・ツール比較・実践ワークフロー2026 にまとめている。

Expo Explore でできること:全画面の地図と、PR ごとの前後比較

Expo Explore の出力は、ブラウザで開くレポートだ。中身は3つの見方に分かれる。

見方 中身
Map 画面のカードを、画面同士をつなぐタップの流れでつないだ地図
Screens すべての画面、または変わった画面だけの一覧。ルートの木と並べ、追加・削除・変更を色の点で示す
Compare 変わった画面の前後を並べ、後の画面で変わった部分を枠で囲む
Expo Explore のレポートの Screens 表示。左にルートの木、右に変わった7画面のスクリーンショットが並び、削除・変更・追加が色の点で示されている。下に Map・Screens・Compare の切り替え
レポートの Screens 表示(expo/explore の README のスクリーンショット)

CI に組み込むと、PR ごとにコメントが付く。変わった画面の数、端末ごとのレポートへのリンク、追加・削除・変更された画面の一覧が並ぶ。iPhone と Android など、複数の端末をまとめて撮れる。

Expo Explore が PR に付けたコメント。2 screens changed の見出しと Review in Explore のリンク、端末ごとのレポートへのリンク、変わった画面の一覧
PR に付くコメント(expo/explore の README のスクリーンショット)

使い方は大きく3つある。

使い方 何をするか 主なコマンド
変更のレビュー 手元の変更か PR を、前後のコミットで撮って比べる capture
ビルドの探索 ソースも設定も無いビルドを渡し、たどれる画面をすべて撮る explore:binary
2つのコミットの比較 リリースのタグ同士など、任意の2点を比べる capture --base … --head …

ビルドの探索は Expo のアプリに限らない。iOS シミュレータ用の .app・.tar.gz・シミュレータ用の .ipa か、Android の .apk を渡せば動く。

AI はどこで使われるか:deterministic と agent の2つのモード

画面のたどり方には2つのモードがある。README は deterministic から始めることを勧めている。

TWO MODES撮影の2つのモード

最初は決まった手順、迷う画面はAI エージェント

Deterministic(推奨の出発点)

  • ディープリンクで各画面を開く
  • サインインなどは設定の固定手順
  • 費用は Expo と GitHub Actions だけ
  • 想定外の画面では止まって報告

Agent

  • Claude Code か Codex が画面を操作
  • サインインなどは英語の指示で伝える
  • Anthropic か OpenAI の利用料もかかる
  • 想定外の画面でも立て直しを試みる
出典: expo/explore の README「Capture modes: deterministic or agent」
  Deterministic Agent
画面へのたどり着き方 設定に書いたルートとパラメータで、ディープリンクから開く Claude Code か Codex が画面を操作して進む
サインインなどの状態 設定に書いた固定の手順 英語で書いた指示にエージェントが従う
想定外の画面 撮影を止めて診断を出す 立て直しを試みる
費用 Expo Services と GitHub Actions だけ モデルの利用料(Anthropic か OpenAI)も加わる
向く場面 ルートがはっきりしていて、毎回同じ画面を撮りたい 画面が多く、ルートを書き出すのが大変

agent モードは、CI では Anthropic か OpenAI の API キーをリポジトリのシークレットに入れて使う。手元で explore:binary を動かすときは、Claude Code か Codex にログインしていればそのまま使える。

モデルは毎回自分で道を選ぶので、2回の実行で別の画面にたどり着くことがある。同じ画面を毎回撮りたいときは、たどる手順を JSON に書いて --replay で渡す。この再生にはモデルのログインも API キーも要らない。一度モデルに探索させて、たどった道を手順として固める使い方ができる。

探索には安全側の決まりもある。削除・支払い・サインアウト・送信・アプリから出る操作のボタンは押さない。押してよいボタンは --allow-destructive でラベルを指定して許す。探索は15分、40画面、150操作のいずれかで止まる。

Expo Explore を使う前にそろえるもの

REQUIREMENTS使う前にそろえるもの

Node.js 24.12 以上と、シミュレータを動かす場所が要る

  1. 1.Node.js 24.12 以上

    package.json の engines で指定。Node.js 22 だと doctor が NODE_UNSUPPORTED を出す

  2. 2.変更のレビュー

    Expo アカウントと、Expo Router か React Navigation の Expo SDK 57 以上のアプリ

  3. 3.ビルドの探索

    Claude Code か Codex のログイン、または Anthropic・OpenAI の API キー

  4. 4.動かす場所

    Expo Simulators(プレビュー中・順番待ち)か、Xcode・Android SDK のある Mac

出典: expo/explore の README と package.json(v0.23.0)
使い方 必要なもの
すべて共通 Node.js 24.12 以上
変更のレビュー Expo アカウント、Expo Router か React Navigation を使う Expo SDK 57 以上のアプリ、Expo Services でのビルド
ビルドの探索 Claude Code か Codex のログイン、または ANTHROPIC_API_KEY・OPENAI_API_KEY
動かす場所 Expo Simulators(プレビュー中・順番待ち)か、--simulator local で Mac のシミュレータ(iOS は Xcode、Android は Android SDK)
PR へのコメント GitHub Actions のワークフロー(setup が生成)と、Expo のトークン

Mac のシミュレータで動かすビルドの探索なら、Expo アカウントは要らない。変更のレビューは、--simulator local でもビルドだけは Expo Services で行う。

Node.js の版は、手元で確かめた。Node.js 24 で入れた v0.23.0 は起動し、Node.js 22 では version は表示されたものの、doctor が NODE_UNSUPPORTED(Node.js が古い)を出して止めた。

node --version                         # v24.12 以上か確かめる
npx @expo/[email protected] version       # 0.23.0 と表示されれば起動できている

アプリのフォルダでは、まず doctor で準備の状態を確かめる。足りないものを1つずつ挙げ、次にすることを示す。Expo のアプリでないフォルダで動かすと、APP_NOT_EXPO を出した。

cd my-expo-app
npx @expo/[email protected] doctor --offline   # Expo と GitHub への問い合わせを省いて、手元の準備だけ確かめる
npx @expo/[email protected] setup              # .expo-explore/config.yaml と GitHub のワークフローを書き出す

version と doctor は上の形のまま動くことを確かめた。setup はアプリのルートや状態を尋ねながら設定を書き出すコマンドで、Expo のアプリが要るため本記事では未検証だ。

Expo Explore の使い方:手元のレビューと、ビルドの探索

手元の変更をレビューするときと、ビルドを探索するときのコマンドは次のとおりだ。README の手順どおりに書いたもので、シミュレータを動かす撮影そのものは本記事では未検証だ。

# 手元の変更(最後のコミットとまだコミットしていない変更)を、前後で撮って比べる
npx @expo/[email protected] capture                      # Expo Simulators で撮る
npx @expo/[email protected] capture --simulator local    # Mac のシミュレータで撮る

# ビルドを渡して、たどれる画面をすべて撮る(Claude Code か Codex のログインを使う)
npx @expo/[email protected] explore:binary ./my-app.apk
npx @expo/[email protected] explore:binary ./my-app.app --simulator local

README は、Claude Code か Codex に貼って使う指示文も載せている。アプリのフォルダでエージェントに貼ると、エージェントが README の手順に沿って準備から実行までを進める。ビルドを指せば探索し、Expo のプロジェクトなら変更のレビューを試す。サインインが要るアプリでは、パスワードをチャットで聞かずにテスト用アカウントを尋ねるよう書かれている。

動かす前に知っておきたい注意もある。

・他人のコードを動かす:レビューは両方のコミットのコードを自分の権限で動かす(依存のインストール、アプリ設定の評価、バンドル)。自分で動かしてよいコミットと、信頼できる人のブランチだけをレビューする
・時間と利用量:Expo Services でビルドし、シミュレータのセッションを使うので、数分かかり、Expo Services の利用量を使う。最初の実行はビルドを待ち、ネイティブのコードが変わらなければ次からは使い回す
・手元に残るもの:実行の記録は30日、手元に残る(全体で2 GB まで)。撮った画像は ~/.cache/expo-explore に置かれる
・公開されたレポート:ホストしたレポートは、URL に含まれる160ビットのトークンを知る人だけが開ける。共有ファイルのリンクと同じに扱う。Expo の無料プランでは30日、有料プランでは90日で消える
・撮る範囲:レビューでは、各画面の最初の1画面分を撮る。スクロールの先は撮らない

Expo Explore とほかの方法の違い

  Expo Explore E2E テスト(Detox・Maestro など) 手作業のスクリーンショット
目的 画面の変化を見つけ、レビューに出す 決めた操作が通るかを確かめる 説明や記録に使う
画面の網羅 ルートか探索で、たどれる画面をまとめて撮る テストに書いた画面だけ 撮った画面だけ
手順を書く量 deterministic は設定、agent は英語の指示 テストのコードを書く 書かない
PR との結びつき 変わった画面だけを前後で比べてコメントする 成否を CI に出す 無い
AI の使い方 画面の操作(agent モードとビルドの探索) 無い(ツールによる) 無い

Expo Explore は、操作が正しく通るかを確かめるテストの代わりではない。レビューする人が、コードの差分と一緒に画面の変化を見るための道具だ。README は着想の元として、PR で変わった画面を撮る screenmap と、Revyl の Atlas を挙げている。

同じ Expo の新しい取り組みとして、AI が作ったアプリを全 OS で動かして確かめる Expo Exactとは|AIが作って全OSで動かし確かめるクロスプラットフォーム実行系 がある。PR の差分を図にして見せる発想は、コードの構成を図にする PR Lensとは|PRの差分を動く構成図にするレビューOSS、モデルへ送るデータとCLIをキーなしで実測 とも近い。

参照ソース

・expo/explore(GitHub・README)
・@expo/explore(npm)
・euxy のレポート(Expo Explore の実例)
・Expo Simulators(順番待ちの登録)
・screenmap(Expo Explore の着想の元)