@nashihamm/capacitor-release-cli
v1.0.0
Published
CLI tool to automate mobile app releases for React Native and Capacitor projects
Maintainers
Readme
Capacitor Release CLI
🚀 CLI tool to automate mobile app releases for React Native and Capacitor projects.
Features
✅ Android Automation (60% automated)
- Version management
- Build & signing
- AAB archiving with timestamps
- Git integration
✅ iOS Automation (50% automated)
- Version management
- Asset generation (icons & splash)
- Build preparation
- IPA archiving
✅ Additional Features
- Interactive setup
- Configuration management
- Changelog generation
- Version bumping
Installation
# Global installation
npm install -g @nashihamm/capacitor-release-cli
# Or with pnpm
pnpm add -g @nashihamm/capacitor-release-cliQuick Start
1. Initialize in Your Project
cd your-capacitor-project
cap-release initThis will:
- Copy automation scripts to
scripts/ - Copy documentation to
docs/ - Create
releases/directory - Update
.gitignore
2. Configure (Optional)
cap-release config3. Release Android
cap-release android 1.0.0 minor4. Release iOS
cap-release ios 1.0.0 1Commands
cap-release init
Initialize automation in current project
cap-release android <version> [type]
Release Android app
version: Version number (e.g., 1.0.0)type: Release type (major, minor, patch)
Example:
cap-release android 1.2.0 minorcap-release ios <version> <build>
Release iOS app
version: Version number (e.g., 1.0.0)build: Build number (e.g., 1)
Example:
cap-release ios 1.2.0 5cap-release config
Configure automation settings interactively
cap-release version <type>
Bump version (major, minor, patch)
Example:
cap-release version patchcap-release changelog [days]
Generate changelog from git history
Example:
cap-release changelog 7What Gets Automated
Android (60% automated)
✅ Pull latest code
✅ Update version in build.gradle
✅ Build signed AAB
✅ Archive with timestamp
✅ Git commit & tag
⚠️ Manual: Upload to Play Console
iOS (50% automated)
✅ Pull latest code
✅ Update version in Info.plist
✅ Generate icons & splash screens
✅ Build & sync to iOS
⚠️ Manual: Archive in Xcode
⚠️ Manual: Upload to App Store Connect
Requirements
For Android
- Node.js >= 14
- Android SDK
- Gradle
- Java 21
For iOS
- macOS
- Xcode
- CocoaPods (optional)
Documentation
After running cap-release init, check:
docs/automation/SCRIPT-REFERENCE.md- Complete script guidedocs/release/workflow-complete.md- Full release workflowdocs/release/RELEASE-CHECKLIST.md- Step-by-step checklist
Configuration
Create cap-release.config.json in your project:
{
"appName": "myapp",
"androidPackage": "com.myapp",
"iosBundleId": "com.myapp"
}Or run cap-release config for interactive setup.
Examples
Complete Android Release
# 1. Initialize (first time only)
cap-release init
# 2. Configure Android signing
# Edit android/key.properties
# 3. Release
cap-release android 1.0.0 minor
# 4. Upload AAB to Play Console
# File: releases/android/myapp-v1.0.0-build1-latest.aabComplete iOS Release
# 1. Initialize (first time only)
cap-release init
# 2. Prepare release
cap-release ios 1.0.0 1
# 3. Archive in Xcode
# Product → Archive
# 4. Distribute to App Store ConnectTroubleshooting
Android build fails
# Clean build
cd android
./gradlew clean
cd ..
# Try again
cap-release android 1.0.0 minoriOS version not updating
# Check Info.plist exists
ls ios/App/App/Info.plist
# Manually update if neededScripts not executable
chmod +x scripts/*.shContributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
MIT © Nashih Amin
Author
Nashih Amin
- GitHub: @nashihamm
- Email: [email protected]
Acknowledgments
- Built for automating Capacitor mobile app releases
- Inspired by the need for faster, more reliable mobile deployments
- Thanks to the Capacitor and React Native communities
Support
Made with ❤️ for the mobile development community
