expo-eas-workflowlisted
Install: claude install-skill BenMacDeezy/Orns-Forge
<!-- last-verified: 2026-07 -->
# Expo EAS operational workflow
> **EAS costs money past the free tier.** `eas build` and EAS Workflow jobs
> consume your plan's build/compute minutes; store submission needs paid
> Apple Developer and Google Play accounts; update bandwidth beyond the free
> allotment bills too. Check https://expo.dev/pricing before running cloud
> commands, and never assume a build/submit/update run is free just because
> local development is.
## 1. Build profiles (`eas.json`)
`eas.json` defines named **build profiles** under `build`, each mapping to a
distribution shape:
```json
{
"cli": { "version": ">= 16.0.1", "appVersionSource": "remote" },
"build": {
"development": { "developmentClient": true, "distribution": "internal" },
"preview": { "distribution": "internal" },
"production": { "autoIncrement": true, "ios": { "resourceClass": "m-medium" } }
},
"submit": {
"production": {
"ios": { "appleId": "you@example.com", "ascAppId": "1234567890" },
"android": { "serviceAccountKeyPath": "./service-account.json", "track": "internal" }
}
}
}
```
- **`development`**: dev-client build for local Metro-connected iteration —
never submit this profile to a store.
- **`preview`**: internal-distribution build for QA/stakeholders (TestFlight
internal group, Play internal track, or ad-hoc/APK) — not public.
- **`production`**: the store-ready profile; `autoIncrement: true` lets EAS
bump build numbers automatically in