Back to Expo & Mobile

expo-deployment

ExpoEAS CLImobile deploymentiOS App StoreAndroid Play StoreCI/CDapp publishingcross-platform
⭐ 2.1kπŸ“„ MITπŸ•’ 2026-06-16Source β†—

Install this skill

npx skills add expo/skills

Works across Claude Code, Cursor, Codex, Copilot & Antigravity

The expo-deployment skill manages the lifecycle of React Native applications via Expo Application Services (EAS). It facilitates cloud-based binary builds for iOS and Android, handling complex signing, certificate management, and store submission processes. Instead of manually configuring local Xcode or Android Studio environments, this skill automates the packaging of production-ready binaries directly from the codebase. It also supports web-specific deployment workflows, enabling static exports and cloud hosting. By utilizing eas.json configuration profiles, developers can define environment-specific build behavior, versioning logic, and submission tracks. This skill bridges the gap between local development and end-user distribution by automating the transition from source code to App Store Connect and Google Play Console artifacts, ensuring consistent build outputs regardless of the local machine architecture.

When to Use This Skill

  • β€’Distributing beta builds to testers via TestFlight
  • β€’Automating production releases through CI/CD pipelines
  • β€’Generating public-facing preview URLs for pull requests
  • β€’Managing complex credentials and signing certificates remotely

How to Invoke This Skill

Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:

  • β€œHelp me set up deployment for my Expo app
  • β€œHow do I submit my Expo project to the App Store?
  • β€œConfigure EAS build profiles for my project
  • β€œHow to automate my Expo app release pipeline
  • β€œBuild a production binary for Android using EAS

Pro Tips

  • πŸ’‘Always use `eas.json` for managing build profiles and ensure environment variables are securely handled, avoiding hardcoded secrets.
  • πŸ’‘Integrate EAS with your CI/CD system (e.g., GitHub Actions) to automate builds and submissions on every push to your main branch.
  • πŸ’‘Utilize TestFlight extensively for iOS beta testing before final App Store submission to catch issues early and streamline the review process.

What this skill does

  • β€’Cloud-based binary builds for iOS and Android without local compilation
  • β€’Automated submission to App Store Connect and Google Play Console
  • β€’EAS Hosting for web app exports and preview deployments
  • β€’Declarative configuration of build environments using eas.json
  • β€’Integrated version number management for build increments

When not to use it

  • βœ•When building applications that require custom native code not supported by Expo's build service
  • βœ•When strictly limited to offline or on-premise infrastructure for security compliance

Example workflow

  1. Install and authenticate EAS CLI
  2. Run eas init to configure build profiles
  3. Update eas.json with production submission settings
  4. Trigger a cloud build with eas build --profile production
  5. Submit the resulting binary using --submit flag

Prerequisites

  • –Expo project
  • –EAS account
  • –Apple Developer Program membership
  • –Google Play Console developer account

Pitfalls & limitations

  • !Requires active subscription or valid usage limits for cloud builds
  • !Misconfiguration of service account keys leads to submission failures
  • !Automatic versioning conflicts if manual versioning logic is also present

FAQ

Can I use EAS without an Expo account?
No, EAS services require an Expo account to manage builds, credentials, and submissions.
Does this skill work for non-Expo projects?
It is intended for Expo-managed or bare workflow React Native projects utilizing the Expo framework.
How do I handle PR previews?
You can use EAS Hosting to deploy web exports, which generate unique preview URLs for each deployment.
Can I submit builds automatically?
Yes, by including the --submit flag in your build command or configuring submission steps in your CI workflows.

How it compares

Unlike manual builds which require local configuration of Xcode and Android Studio, this skill offloads the environment setup and signing process to managed cloud infrastructure.

Source & trust

⭐ 2.1k starsπŸ“„ MITπŸ•’ Updated 2026-06-16
πŸ“„ Full skill instructions β€” original source: expo/skills
# Deployment

This skill covers deploying Expo applications across all platforms using EAS (Expo Application Services).

## References

Consult these resources as needed:

- ./references/workflows.md -- CI/CD workflows for automated deployments and PR previews
- ./references/testflight.md -- Submitting iOS builds to TestFlight for beta testing
- ./references/app-store-metadata.md -- Managing App Store metadata and ASO optimization
- ./references/play-store.md -- Submitting Android builds to Google Play Store
- ./references/ios-app-store.md -- iOS App Store submission and review process

## Quick Start

### Install EAS CLI

npm install -g eas-cli
eas login


### Initialize EAS

npx eas-cli@latest init


This creates eas.json with build profiles.

## Build Commands

### Production Builds

# iOS App Store build
npx eas-cli@latest build -p ios --profile production

# Android Play Store build
npx eas-cli@latest build -p android --profile production

# Both platforms
npx eas-cli@latest build --profile production


### Submit to Stores

# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --submit

# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --submit

# Shortcut for iOS TestFlight
npx testflight


## Web Deployment

Deploy web apps using EAS Hosting:

# Deploy to production
npx expo export -p web
npx eas-cli@latest deploy --prod

# Deploy PR preview
npx eas-cli@latest deploy


## EAS Configuration

Standard eas.json for production deployments:

{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}


## Platform-Specific Guides

### iOS

- Use npx testflight for quick TestFlight submissions
- Configure Apple credentials via eas credentials
- See ./reference/testflight.md for credential setup
- See ./reference/ios-app-store.md for App Store submission

### Android

- Set up Google Play Console service account
- Configure tracks: internal β†’ closed β†’ open β†’ production
- See ./reference/play-store.md for detailed setup

### Web

- EAS Hosting provides preview URLs for PRs
- Production deploys to your custom domain
- See ./reference/workflows.md for CI/CD automation

## Automated Deployments

Use EAS Workflows for CI/CD:

# .eas/workflows/release.yml
name: Release

on:
push:
branches: [main]

jobs:
build-ios:
type: build
params:
platform: ios
profile: production

submit-ios:
type: submit
needs: [build-ios]
params:
platform: ios
profile: production


See ./reference/workflows.md for more workflow examples.

## Version Management

EAS manages version numbers automatically with appVersionSource: "remote":

# Check current versions
eas build:version:get

# Manually set version
eas build:version:set -p ios --build-number 42


## Monitoring

# List recent builds
eas build:list

# Check build status
eas build:view

# View submission status
eas submit:list

How to Use This Skill Unit

Option A: Project-Specific (Recommended)

  1. Click "Download" above
  2. In your project, create the directory: .agent/skills/expo-deployment/
  3. Save the file as SKILL.md
  4. The agent will automatically discover the skill based on its description.

Option B: Global Installation (All Agents)

Save the file to these locations to make it available across all projects:

  • Claude Code: ~/.claude/skills/expo/skills/expo-deployment/SKILL.md
  • Cursor: ~/.cursor/skills/expo/skills/expo-deployment/SKILL.md
  • Antigravity: ~/.gemini/antigravity/skills/expo/skills/expo-deployment/SKILL.md

πŸš€ Install with CLI:
npx skills add expo/skills

Read the Master Guide: Mastering Agent Skills β†’

Recommended Rules

View more rules β†’

Recommended Workflows

View more workflows β†’

Recommended MCP Servers

View more MCP servers β†’

Take It Further

Maximize your productivity with these powerful resources

πŸ“‹

Define Your Standards

Set up coding standards to ensure this workflow produces consistent, high-quality results.

Browse Rules Library
πŸ“–

Master Workflows

Learn how to create custom workflows, use Turbo Mode, and build your automation library.

Complete Guide

How to use this Skill in Claude Code & Cursor

For Claude Code (CLI)

To use this skill in Claude Code, copy the rule content into your project's custom instructions or follow our Add-Skill CLI guide. This ensures Claude follows your standards during every code generation.

For Cursor & Windsurf

For Cursor or Windsurf, individual skills are best used in the "Rules for AI" section. This specific unit helps the agent avoid expo & mobile issues, leading to cleaner, more efficient code.

Why the skill format matters: the standardized Agent Skills format lets your AI agent load detailed instructions only when they are relevant, keeping your prompt clean while improving results.

Source & attribution

This skill is categorized under Expo & Mobile and is published by Expo Team, maintained in expo/skills.

← Browse All Agent Skills
Sponsored AI assistant. Recommendations may be paid.