Skip to content

BMad Method module for mobile development - Release management, TestFlight deployment, and mobile-specific workflows

Notifications You must be signed in to change notification settings

sandstream/bmad-mobile-dev-module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± BMad Mobile Dev Module

BMADβ„’ Module for React Native & Expo Mobile Development

Complete toolkit for developing, testing, building, and releasing React Native/Expo mobile applications.


🎯 Purpose

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

πŸš€ Quick Start

Activate Release Manager

/release

Then 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

πŸ“¦ Module Structure

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

πŸ€– Agents

Release Manager (release-manager.md)

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

πŸ“‹ Tasks

test-on-device.md

Install and test app on connected iOS or Android device

Usage:

# iOS
npx expo run:ios --device

# Android
npx expo run:android --device

build-preview.md

Create preview/internal test build using EAS

Usage:

cd apps/mobile
npx eas build --profile preview --platform ios

deploy-testflight.md

Submit iOS build to Apple TestFlight

Usage:

cd apps/mobile
npx eas submit --platform ios --latest

βœ… Checklists

pre-release-checklist.md

Complete this before any build:

  • All tests passing
  • No TypeScript errors
  • Assets validated
  • Version updated
  • Changelog updated
  • Tested on devices

πŸ”§ Setup

Prerequisites

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)

Installation

  1. Clone Module:
cd /path/to/your/project
git clone https://github.com/yourusername/bmad-mobile-dev-module .bmad-mobile-dev
  1. Link to Project:
# Create symlink in your project
ln -s /path/to/bmad-mobile-dev-module .bmad-mobile-dev
  1. Configure EAS:
cd apps/mobile
eas build:configure

πŸ“± Workflows

Development Testing

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   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 & Testing

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   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

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   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       β”‚
β”‚                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”— Integration with Other Modules

With GDD (Game Day DJ) Module

// 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 TestFlight

πŸ“š Documentation

EAS Build Profiles

From eas.json:

{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
      "autoIncrement": true
    }
  }
}

Version Management

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)

🎯 Best Practices

Before Every Release

  1. βœ… Test on real devices (iOS & Android)
  2. βœ… Run all tests
  3. βœ… Check for console errors
  4. βœ… Verify assets loading
  5. βœ… Update version & changelog
  6. βœ… Review release notes

Testing Strategy

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

Release Cadence

Recommended:

  • Major: Every 3-6 months
  • Minor: Every 2-4 weeks
  • Patch: As needed for critical bugs

πŸ› Troubleshooting

Build Fails

# Clear EAS cache
eas build:clear

# Regenerate credentials
eas credentials

Device Not Detected

iOS:

# 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

TestFlight Issues

  • Check Apple Developer account status
  • Verify export compliance settings
  • Ensure all required screenshots uploaded
  • Review rejection reasons carefully

πŸ“– Resources

Official Documentation

Useful Commands

# 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 doctor

🀝 Contributing

This module is part of the BMADβ„’ ecosystem. Contributions welcome!

  1. Fork the repository
  2. Create feature branch
  3. Add your agent/task
  4. Submit pull request

πŸ“„ License

MIT


πŸ™ Credits

Powered by BMADβ„’ Core

Built with:

  • React Native
  • Expo
  • EAS (Expo Application Services)
  • TypeScript

πŸ“ž Support

Issues? Questions?

  • GitHub Issues
  • Discord Community
  • Documentation

πŸ”„ Version History

v1.0.0 (2024-11-12)

  • Initial release
  • Release Manager agent
  • EAS build workflows
  • TestFlight deployment
  • Pre-release checklists

Happy Building! πŸš€πŸ“±

About

BMad Method module for mobile development - Release management, TestFlight deployment, and mobile-specific workflows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •