.claude/skills/eas-mobile-deployment/SKILL.md
Master Expo Application Services (EAS) deployment for RidenDine mobile app. Use when: (1) building for iOS/Android, (2) submitting to App Store/Play Store, (3) configuring app signing, (4) managing build profiles, (5) over-the-air updates. Key insight: EAS Build for native compilation, EAS Submit for store uploads, EAS Update for OTA updates without app store review.
npx skillsauth add Ritenoob/ridedine eas-mobile-deploymentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
RidenDine mobile app (Expo SDK 50) uses EAS for iOS/Android builds and deployments. EAS Build compiles native code in the cloud, EAS Submit pushes to app stores, EAS Update delivers OTA updates for JavaScript changes.
Use this skill when:
Location: apps/mobile/eas.json
{
"cli": {
"version": ">= 5.0.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true
}
},
"preview": {
"distribution": "internal",
"ios": {
"simulator": false
}
},
"production": {
"autoIncrement": true
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890",
"appleTeamId": "TEAMID"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
cd apps/mobile
# iOS Simulator
eas build --profile development --platform ios
# Android Emulator
eas build --profile development --platform android
# Install on device
eas build:run -p ios
# iOS Production Build
eas build --profile production --platform ios
# Android Production Build
eas build --profile production --platform android
# Both platforms
eas build --profile production --platform all
# Submit iOS to App Store
eas submit --platform ios --latest
# Submit Android to Play Store
eas submit --platform android --latest
# Publish update to production channel
eas update --channel production --message "Bug fixes"
# Publish to preview channel
eas update --channel preview --message "New feature testing"
# View update status
eas update:view --channel production
Issue: Credentials not configured
Fix: Run eas credentials to set up iOS/Android signing
Issue: Build timeout
Fix: Check for large dependencies, optimize bundle size
Issue: Native module error
Fix: Verify expo-dev-client installed, rebuild development client
development
Integrate Coinbase crypto payments into payment systems. Use when: (1) adding crypto payment support, (2) building onchain features, (3) implementing wallet functionality. Covers Coinbase Commerce (payment processor) vs CDP (developer platform), Server Wallets, Embedded Wallets, and multi-network support.
development
Add Apple Pay and Google Pay to Stripe checkout. Use when: (1) adding mobile wallet payments, (2) improving mobile conversion, (3) implementing one-tap checkout. Stripe Payment Request Button automatically detects device capabilities and shows Apple Pay (Safari/iOS) or Google Pay (Chrome/Android).
development
Master Vercel deployment for RidenDine web and admin Next.js apps. Use when: (1) deploying to production, (2) configuring environment variables, (3) setting up preview deployments, (4) debugging build failures, (5) configuring domains, (6) seeing "No Next.js version detected" error in Vercel builds, (7) setting up monorepo with separate projects on free tier. Key insight: Vercel monorepos require Root Directory configuration via dashboard (not vercel.json), GitHub integration auto-detects monorepo structure, free tier allows multiple projects.
development
Master Supabase Row Level Security (RLS) for RidenDine. Use when: (1) adding new tables, (2) modifying RLS policies, (3) debugging access control issues, (4) role-based data access. Key insight: All tables use RLS with role-based policies from profiles.role column.