This repository provides a personal boilerplate for creating new React Native applications.
It contains a clean and scalable structure, TypeScript configuration, and common setup tools such as ESLint and Prettier.
The purpose of this boilerplate is to save setup time when starting a new React Native project.
It includes everything required to begin development immediately, following a consistent architecture and coding style.
To start a new project based on this boilerplate, create a new folder by using the following command from your terminal:
npx degit alexandr-feschenko/react-native-boilerplate.git MyNewApp
This will copy the boilerplate files into a new directory called MyNewApp.
The repository history will not be included.
Once the folder has been created, open it in your terminal or IDE:
cd MyNewApp
By default, the boilerplate name is RNBoilerplate.
You can rename it to match your new app’s name by using the react-native-rename package.
Example:
npx react-native-rename "MyNewApp" -b com.mycompany.mynewapp
If Git has not been initialized, you can skip the Git status check:
npx react-native-rename "MyNewApp" -b com.mycompany.mynewapp --skipGitStatusCheck
After renaming the project, initialize Git and connect your new repository.
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/github-name/my-new-app.git
git push -u origin main
This ensures a clean working environment before any renaming or additional configuration.
Install all required project dependencies using your preferred package manager.
yarn install
You can now start the app on your target platform.
For Android:
npx react-native run-android
For iOS:
npx pod-install ios
npx react-native run-ios
If you experience issues after renaming or modifying configuration files, you can clean cached builds.
For Android, run:
cd android
./gradlew clean
cd ..
src/
├── components/ Reusable UI components
├── screens/ Main application screens
├── hooks/ Custom React hooks
├── store/ Redux store and slices
├── navigation/ Navigation setup
- TypeScript — static typing for reliability and maintainability
- ESLint + Prettier — linting and automatic formatting
- React Navigation — basic navigation setup
- Redux Toolkit — centralized state management
- Babel Configuration — alias and modern syntax support
- .gitignore — clean and optimized repository setup
- Keep dependencies updated regularly with
npx react-native upgrade. - Always run
npx pod-installafter adding new iOS packages. - Use
.envfiles for environment variables and API keys. - Follow the provided folder structure for consistency and maintainability.
This boilerplate is open to use and modify.
Created by Alexandr Feschenko.