BMADβ’ Module for React Native & Expo Mobile Development
Complete toolkit for developing, testing, building, and releasing React Native/Expo mobile applications.
This module provides specialized agents, tasks, and workflows for:
- Mobile app development (iOS & Android)
- Local device testing
- EAS cloud builds
- TestFlight & Play Store deployments
- Release management
- Version control
- Performance optimization
/releaseThen use commands like:
*test-local- Test on connected device*build-preview- Create preview build for testing*testflight- Deploy to TestFlight*version- Manage version numbers*status- Check release status
bmad-mobile-dev-module/
βββ .bmad-core/
β βββ agents/ # Specialized development agents
β β βββ release-manager.md
β βββ tasks/ # Executable workflows
β β βββ test-on-device.md
β β βββ build-preview.md
β β βββ deploy-testflight.md
β βββ checklists/ # Quality gates
β β βββ pre-release-checklist.md
β βββ templates/ # Reusable templates
β βββ data/ # Reference data
βββ README.md
βββ package.json
Purpose: Complete release cycle management from dev to production
Capabilities:
- Local device testing (iOS & Android)
- EAS preview & production builds
- TestFlight deployment
- Play Store deployment
- Version management
- Changelog generation
- Release notes creation
Commands:
*test-local- Test on physical device*build-preview- Internal test build*build-production- Production build*testflight- Deploy to TestFlight*playstore- Deploy to Play Store*version- Bump version numbers*changelog- Generate changelog*release-notes- Create store release notes*status- Current release status
Install and test app on connected iOS or Android device
Usage:
# iOS
npx expo run:ios --device
# Android
npx expo run:android --deviceCreate preview/internal test build using EAS
Usage:
cd apps/mobile
npx eas build --profile preview --platform iosSubmit iOS build to Apple TestFlight
Usage:
cd apps/mobile
npx eas submit --platform ios --latestComplete this before any build:
- All tests passing
- No TypeScript errors
- Assets validated
- Version updated
- Changelog updated
- Tested on devices
Required:
- Node.js 18+
- npm 9+
- EAS CLI:
npm install -g eas-cli - Expo account
For iOS:
- macOS
- Xcode
- Apple Developer account ($99/year)
For Android:
- Android Studio
- Google Play Developer account ($25 one-time)
- Clone Module:
cd /path/to/your/project
git clone https://github.com/yourusername/bmad-mobile-dev-module .bmad-mobile-dev- Link to Project:
# Create symlink in your project
ln -s /path/to/bmad-mobile-dev-module .bmad-mobile-dev- Configure EAS:
cd apps/mobile
eas build:configureβββββββββββββββββββββββββββββββββββββββ
β LOCAL DEVELOPMENT TESTING β
βββββββββββββββββββββββββββββββββββββββ€
β β
β 1. npm run mobile β
β β β
β 2. Scan QR with Expo Go β
β β β
β 3. Test on physical device β
β β β
β 4. Fix issues β
β β β
β 5. Ready for preview build β
β β
βββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββ
β PREVIEW BUILD WORKFLOW β
βββββββββββββββββββββββββββββββββββββββ€
β β
β 1. *build-preview β
β β β
β 2. EAS builds app (10-15 min) β
β β β
β 3. Download & install on devices β
β β β
β 4. Internal team testing β
β β β
β 5. Collect feedback β
β β β
β 6. Fix issues β
β β β
β 7. Ready for production β
β β
βββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββ
β PRODUCTION RELEASE WORKFLOW β
βββββββββββββββββββββββββββββββββββββββ€
β β
β 1. *version bump β
β 2. *changelog update β
β 3. Run pre-release checklist β
β 4. *build-production β
β 5. *testflight (iOS) β
β 6. *playstore internal (Android) β
β 7. Internal testing (1-2 days) β
β 8. External beta (optional) β
β 9. Submit to stores β
β 10. Monitor reviews & crashes β
β β
βββββββββββββββββββββββββββββββββββββββ
// Use both modules together
/gdd // Music creation
/release // App deployment
// Example workflow:
1. Create songs with GDD module
2. Add to Game Day App
3. Test with Release Manager
4. Deploy to TestFlightFrom eas.json:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
}
}Semantic Versioning:
MAJOR.MINOR.PATCH
1.0.0 β Initial release
1.1.0 β New features
1.1.1 β Bug fixes
2.0.0 β Breaking changes
Build Numbers:
- iOS: Auto-increments on each build
- Android: versionCode (integer)
- β Test on real devices (iOS & Android)
- β Run all tests
- β Check for console errors
- β Verify assets loading
- β Update version & changelog
- β Review release notes
Local Testing:
- Expo Go (quick iteration)
- Development builds (full features)
Preview Builds:
- Internal team testing
- Multiple devices/OS versions
- Performance testing
Production Testing:
- TestFlight (iOS internal testers)
- Play Console internal track
- Real-world usage scenarios
Recommended:
- Major: Every 3-6 months
- Minor: Every 2-4 weeks
- Patch: As needed for critical bugs
# Clear EAS cache
eas build:clear
# Regenerate credentials
eas credentialsiOS:
# Check connection
xcrun xctrace list devices
# Trust computer on device
# Enable Developer Mode (iOS 16+)Android:
# Check connection
adb devices
# Enable USB debugging
# Enable File Transfer mode- Check Apple Developer account status
- Verify export compliance settings
- Ensure all required screenshots uploaded
- Review rejection reasons carefully
# EAS
eas login
eas build:configure
eas build:list
eas submit
# Expo
npx expo start
npx expo run:ios
npx expo run:android
npx expo prebuild
# Debugging
npx expo doctor
npx react-native doctorThis module is part of the BMADβ’ ecosystem. Contributions welcome!
- Fork the repository
- Create feature branch
- Add your agent/task
- Submit pull request
MIT
Powered by BMADβ’ Core
Built with:
- React Native
- Expo
- EAS (Expo Application Services)
- TypeScript
Issues? Questions?
- GitHub Issues
- Discord Community
- Documentation
- Initial release
- Release Manager agent
- EAS build workflows
- TestFlight deployment
- Pre-release checklists
Happy Building! ππ±