Streamline your React Native development environment setup with this powerful automation tool.
- Automated setup for macOS, iOS, and Android development environments
- Cleanup utility for removing old React Native installations
- Customizable configuration options
- Easy-to-use command-line interface
- Node.js 14+
- macOS 10.15+
- Homebrew
- Xcode (for iOS development)
- Android Studio (for Android development)
-
Install Homebrew (if not already installed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Follow the instructions in the terminal to complete the Homebrew installation.
-
Install the CLI tool globally using npm:
npm install -g mdk
mdk can be used with the following command-line options:
-c, --cleanup
: Remove old React Native installations-i, --ios
: Set up iOS development environment-a, --android
: Set up Android development environment-g, --git
: Manage Git-ai, --aider
: Code with AI using Aider-fl, --fastlane
: Run Fastlane tasks-f, --full
: Perform full setup (cleanup, iOS, and Android)-V, --version
: Output the version number-h, --help
: Display help for command
If no options are provided, mdk will show an interactive menu.
-c, --cleanup
: Remove old React Native installations-i, --ios
: Set up iOS development environment-a, --android
: Set up Android development environment-f, --full
: Perform full setup (cleanup, iOS, and Android)-V, --version
: Output the version number-h, --help
: Display help for command
-
Perform a full setup:
mdk --full
-
Clean up old installations and set up iOS environment:
mdk --cleanup --ios
-
Set up Android environment only:
mdk --android
To view all available options and commands, use the help flag:
This will display a list of all available options and their descriptions.
If you encounter any issues during the setup process, try the following:
-
Ensure Homebrew is installed and up to date:
brew --version brew update
-
Ensure you have the latest version of the CLI tool installed:
npm update -g rn-md
-
Check that your system meets all the prerequisites listed above.
-
Run the cleanup option before attempting a full setup:
rn-mkd --cleanup
-
If problems persist, please open an issue on our GitHub repository with detailed information about the error and your system configuration.
We welcome contributions to improve the React Native Setup Automation tool. Please follow these steps to contribute:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and commit them with a clear commit message
- Push your changes to your fork
- Submit a pull request to the main repository
Please ensure your code adheres to our coding standards and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for details.
If you need help or have any questions, please open an issue on our GitHub repository or contact our support team at cto@val-x.com
We would like to thank the React Native community and all the contributors who have helped make this tool possible.
- Added Homebrew as a prerequisite and installation instructions
- Updated troubleshooting section with Homebrew-related checks
- Improved error handling for missing dependencies
To set up the project, run the following commands:
Here are some planned enhancements for future versions of mdk:
- Automated dependency management: Intelligent updating and conflict resolution for project dependencies.
- Custom template support: Allow users to create and use their own project templates.
- Plugin system: Extend functionality through community-created plugins.
- Cross-platform code sharing: Improved tools for sharing code between iOS and Android.
- Performance optimization tools: Built-in profiling and suggestions for app performance improvements.
- Integrated testing framework: Streamlined setup and execution of unit and integration tests.
- CI/CD pipeline templates: Ready-to-use configurations for popular CI/CD platforms.
- Hot module replacement enhancements: Faster and more reliable HMR during development.
- Native module integration wizard: Simplified process for adding and configuring native modules.
- App store submission helper: Automate parts of the app store submission process.
mdk --cleanup
mdk --ios
mdk --android
mdk --full
# Initialize a new React Native project
mdk init MyNewProject
# Run your React Native app
mdk run-android
mdk run-ios
# Generate components or screens
mdk generate component MyComponent
mdk generate screen MyScreen
# Add dependencies
mdk add redux react-redux
# Rename a project
mdk rename MyNewProject MyOldProject
# Auto migrate
mdk migrate 0.72 0.76
# Open the React Native Code Editor
mdk --open
# Run browser tasks
mdk --browse 'play shape of you on youtube'
We're always looking to improve mdk. If you have suggestions for additional features, please open an issue or submit a pull request!
...
to do (fastlane
)
- Compile and sign Android/iOS apps with custom native code (
mdk --build
) - Upload your app to the Play Store or App Store with a single command. (
mdk --auto-submit
) - Seamlessly deliver live app updates, critical bug fixes, content changes, beta features, and more to give your users the best experience possible.
(
mdk --publish -b production -v 1.0.1
)