Our Recommended template for React Native projects.
Report Bug
·
Request Feature
- Quickstart
- About the Project
- Getting Started
- Usage
- CI/Deployment
- Docs
- Contributing
- Acknowledgements
- License
To get started with our template, run one of the following commands:
# using npx, install our latest version from npm
npx react-native init MyApp --template=@echobind/react-native-template
# using npx and the github repo directly
npx react-native init MyApp --template=https://github.com/echobind/react-native-template
# using yarn & the react-native cli
yarn global add react-native-cli
react-native init MyApp --template=https://github.com/echobind/react-native-template
If you see an error after installing using the first option, pass the flag --ignore-existing
and run:
npx --ignore-existing react-native init MyApp --template=@echobind/react-native-template
Here at Echobind, we value developer productivity. After having built lots of React Native projects, we decided to put together our own template to speed up development. Our template includes the following:
🏆 Dev Productivity:
- Hygen templates to easily generate components, screens, and utils with tests and stories.
- vscode settings for common overrides (🎨 Colors, formatOnSave and rulers width that matches prettier)
- default Fastlane scripts for icon generation
- global styles and colors
react-navigation
preconfigured with a common setup- Pre-configured scripts in
package.json
to start the app & deal with simulators - Setup
lint-staged
to run eslint checks onprecommit
- Setup the app for TypeScript
We hope it saves you as much time as it saves us! 👍
While not required, we recommend using a version manager for Ruby and Node. Some popular version managers are:
** Ruby **
- (chruby)[https://github.com/postmodern/chruby]
- (rbenv)[https://github.com/rbenv/rbenv]
** Node **
Follow the install docs for the version manager of your choice.
During the setup proceess, we will automatically check the versions on your machine and prompt you to install anything you're missing.
In order to use this template, follow these steps:
- Initialize a new react-native app:
react-native init MyApp --template=https://github.com/echobind/react-native-template
- Change directories into your new app:
cd MyApp
- Run the setup script:
node ./setup
. A successful setup will give you the green light:✅ Setup completed!
During the setup process we will do the following:
- Setup a display name for your app
- Setup a bundle identifier (ex: com.myapp.mobile)
- Use Solidarity to ensure your environment has all expected dependencies installed
- Run
bundle install
andpod install
so you don't have to - Setup placeholder icon and a splash screen
In order to set up CI/Deployment, we've created custom hygen templates to save you time. These live in our hygen-templates-echobind
repository. You'll find installation instructions, which will allow you to set up the following:
- CircleCI preconfigured for React Native. Fast build times!
- Fastlane lanes for alpha, beta, and production releases. These should be run on CI only!
- AppCenter integration for easy alpha distribution
After installing those, head into the "Setup CircleCI" docs in ./docs/circle-ci.md
, which will walk you through the installation.
For more info, please follow the instructions in the hygen-templates-echobind
repo.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- 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
We'd like to thank the internal team for making this template, and the following organizations:
- React Native Community
- Img Shields
The Echobind React Native template is open source software licensed as MIT.