What is MobileCtl?
MobileCtl is a modern, production-ready DevOps automation tool for mobile app development. It simplifies the entire mobile deployment pipeline with a single, unified CLI.
The Problem
Mobile app deployment is unnecessarily complex:
- Multiple platforms: Different commands for Android and iOS
- Version management: Manually updating version numbers across files
- Changelog creation: Writing release notes by hand
- Build complexity: Different build types, flavors, and signing configurations
- Deployment chaos: Different upload processes for each app store
- Notification fatigue: Manually informing teams about releases
The Solution
MobileCtl unifies your entire mobile DevOps workflow into simple, intuitive commands:
# Instead of this mess:
cd android && ./gradlew assembleRelease
cd ../ios && xcodebuild -scheme MyApp -configuration Release
# ... manually bump versions in 5 different files
# ... manually write changelog
# ... upload to Firebase manually
# ... upload to TestFlight manually
# ... send Slack notification manually
# Just do this:
mobilectl deploy --all-flavors --bump-version patch --changelogCore Features
🏗️ Build Automation
Compile Android and iOS apps with a single command:
mobilectl build android # Build Android
mobilectl build ios # Build iOS
mobilectl build all # Build bothAuto-detection, multiple flavors, build types, and signing - all handled automatically.
🔢 Version Management
Semantic versioning across all your version files:
mobilectl version bump major # 1.2.3 → 2.0.0
mobilectl version bump minor # 1.2.3 → 1.3.0
mobilectl version bump patch # 1.2.3 → 1.2.4Updates pubspec.yaml, package.json, build.gradle, and any file you configure.
📝 Changelog Generation
Generate beautiful changelogs from your git commits:
mobilectl changelog generateSupports conventional commits, custom commit types, emoji, breaking changes, and multi-version append mode.
📦 Multi-Platform Deployment
Deploy to multiple destinations with one command:
mobilectl deploy firebase # Firebase App Distribution
mobilectl deploy testflight # iOS TestFlight
mobilectl deploy play-console # Google Play Console
mobilectl deploy --all-flavors # All configured destinations🔒 Production Ready
Built with production reliability in mind:
- Atomic writes: Safe file operations with temp files
- Automatic backups: Every write creates a backup
- Error recovery: Rollback on verification failure
- Comprehensive validation: Catch errors before they happen
- Clear error messages: Actionable feedback
Technology Stack
MobileCtl is built with modern, reliable technologies:
- Kotlin Multiplatform (KMM): Cross-platform, type-safe, and performant
- Clikt: Intuitive CLI framework with great UX
- JGit: Pure Java Git implementation (no shell commands)
- SnakeYAML: Robust YAML parsing
- Kotlinx Serialization: Type-safe configuration
No Ruby dependencies - everything is pure Kotlin/JVM.
Philosophy
MobileCtl follows these principles:
- Simple by default, powerful when needed: Works out of the box, but highly configurable
- Safety first: Backups, validation, and atomic operations
- Developer experience: Clear errors, helpful suggestions, beautiful output
- CI/CD friendly: Designed for automation
- No magic: Transparent operations, clear logs
Use Cases
Solo Developers
Simplify your deployment workflow without complex scripts:
mobilectl deploy --bump-version patch --changelogTeams
Standardize deployments across team members:
# mobileops.yaml - committed to git
deploy:
android:
firebase:
testGroups: [qa-team, beta-testers]CI/CD Pipelines
Perfect for GitHub Actions, GitLab CI, Jenkins:
- name: Deploy to Firebase
run: mobilectl deploy firebase --confirmMulti-App Organizations
One tool for all your mobile projects:
# Project A
cd project-a && mobilectl deploy production
# Project B
cd ../project-b && mobilectl deploy stagingWhat Makes It Different?
| Feature | MobileCtl | Traditional Tools |
|---|---|---|
| Languages | Kotlin (JVM) | Ruby, Shell scripts |
| Platforms | Android + iOS | Usually separate |
| Configuration | Single YAML file | Multiple config files |
| Git Operations | JGit (reliable) | Shell commands (fragile) |
| Backups | Automatic | Manual or none |
| Error Handling | Comprehensive | Often silent failures |
| Testing | 89% coverage | Variable |
| Architecture | SOLID principles | Often ad-hoc |
Current Status
✅ Production Ready (v0.3.2)
- Version bumping with multi-file support
- Changelog generation with backups
- Build automation for Android & iOS
- Deploy to Firebase, TestFlight, Play Console
- Comprehensive test coverage (89%)
- SOLID architecture
🔄 Coming Soon
- HTML/JSON changelog output
- Custom templates
- Pre/post hooks
- Advanced filtering
- Cloud/SaaS mode
Next Steps
Ready to get started?
Have questions?