SKILL PROCEDURE

Expo

Use when building or shipping a React Native app with Expo, choosing between managed and bare workflows, adding native dependencies, configuring EAS Build or Update, or verifying Expo SDK details that drift between releases. Published by HardGraph, a curated graph of provenance-backed knowledge for AI agents.

exporeact-nativeeasiosandroid
BEGINNER GUIDE

Understand Expo before using it

CATEGORY

Expo is catalogued under Mobile.

START HERE WHEN

Your work repeatedly involves the concepts tagged above. Open the full procedure below when the current task matches them.

Compare related skills

SKILLCATEGORYSHARED CONCEPTSEXPLANATION
ExpoMobileCurrent skillUse when building or shipping a React Native app with Expo, choosing between managed and bare workflows, adding native dependencies, configuring EAS Build or Update, or verifying Expo SDK details that drift between releases. Published by HardGraph, a curated graph of provenance-backed knowledge for AI agents.
React NavigationMobile and frontend
react-nativeexpo
Use when adding navigation to a React Native app with React Navigation — choosing between Stack, Tabs, and Drawer navigators, wiring deep linking and web URLs, typing routes, migrating from Expo Router, or diagnosing screen-mounting and header-customisation problems. Published by HardGraph, a curated graph of provenance-backed knowledge for AI agents.
RevenueCatPayments and subscriptions
iosandroid
Cross-platform subscription and in-app-purchase platform. Use when implementing paid subscriptions or one-time purchases — configuring RevenueCat products, offerings, and entitlements, integrating the Purchases SDK on iOS/Android/web/Flutter/React Native/Unity, checking entitlement status via CustomerInfo, receiving server webhooks to grant access, restoring purchases, handling StoreKit 2 and Google Play Billing, sandbox testing, or managing anonymous vs identified app user IDs — across the App Store, Play Store, Amazon, and Stripe.

Expo

What is HardGraph? HardGraph publishes curated, provenance-backed agent skills grounded in reproducible vendor documentation.

Expo is a framework and cloud service for React Native. The framework gives you a managed native project you do not edit; the service (EAS) builds, signs, submits, and updates it.

The decision that shapes everything else

Expo's workflows are a spectrum, not a switch, and the common failure is choosing before understanding what you give up.

| Workflow | You edit native code? | ios/ and android/ in Git? | | --- | --- | --- | | Managed with config plugins | No | No — generated by prebuild | | Prebuild checked in | Yes | Yes |

The managed workflow is not "Expo without native modules" — config plugins exist precisely so a native dependency can be added without owning the native project. Reach for checked-in native directories only when a change genuinely cannot be expressed as a plugin. Going back is harder than going forward: once ios/ and android/ are committed, prebuild will overwrite hand edits, and regenerating becomes a merge rather than a build step.

What to verify rather than recall

Expo's release cadence is fast and SDK-versioned, so remembered values age badly.

  • SDK version compatibility. Each Expo SDK pins a React Native version and a supported package range. A package version that worked on one SDK frequently does not resolve on the next.
  • Config plugin options and app.json / app.config.js keys, which move between SDK releases.
  • EAS Build image and channel configuration in eas.json.

Check these against the mirrored corpus under references/vendor/ or the release notes rather than asserting a version.

References

Hardgraph / curated knowledge for agents.

STATIC EXPORT · CANONICAL SOURCE