← ClaudeAtlas

eas-build-profilelisted

Configure eas.json profiles (development, preview, production) with the right env, bundle ID, signing, distribution. The 3-profile structure that fits 95% of Expo apps.
voidcorp-core/void-harness · ★ 0 · Data & Documents · score 76
Install: claude install-skill voidcorp-core/void-harness
# eas-build-profile Use when configuring EAS Build for an Expo app. The default `eas.json` Expo scaffolds is fine to start; this skill ships the void-harness convention for the 3 standard profiles + the why behind each option. ## The 3-profile structure ```jsonc { "cli": { "version": ">= 12.0.0" }, "build": { "development": { "developmentClient": true, "distribution": "internal", "ios": { "simulator": true }, "android": { "buildType": "apk" }, "env": { "APP_VARIANT": "dev" } }, "preview": { "distribution": "internal", "ios": { "simulator": false }, "android": { "buildType": "apk" }, "env": { "APP_VARIANT": "preview" } }, "production": { "distribution": "store", "autoIncrement": true, "env": { "APP_VARIANT": "prod" } } }, "submit": { "production": { "ios": { "appleId": "team@voidcorp.io", "ascAppId": "1234567890", "appleTeamId": "ABCD1234" }, "android": { "serviceAccountKeyPath": "./google-play.json", "track": "internal" } } } } ``` ## Each profile, in plain words ### `development` - **Use case**: dev on simulator + device with hot reload, Metro bundler attached - **`developmentClient: true`** → builds a dev client (custom Expo Go) embedding your native deps. Without it, `expo-router` and custom modules don't work in Expo Go. - **`distribution: "internal"`** → not for App Store; for your team - **`ios.simulator: true`** → produces a `.app` runnabl