A modern, fully-featured React Native template with Expo, TypeScript, and best practices setup out of the box.
- 🚀 Expo for cross-platform development
- 📱 Expo Router for navigation
- 🔥 TypeScript for type safety
- 💅 React Native Reanimated for smooth animations
- 🧪 Jest for testing
- 🎯 Biome for linting and formatting
- 📝 Commitizen & Commitlint for consistent commits
- 🔄 Semantic Release for automated versioning
- 🪝 Lefthook for Git hooks
- Node.js (v18 or newer)
- pnpm (v8 or newer)
- Expo CLI
- iOS Simulator (for iOS development)
- Android Studio (for Android development)
# Clone the repository
git clone https://github.com/yourusername/react-native-templete.git
# Navigate to the project directory
cd react-native-templete
# Install dependencies
pnpm install
# Start the development server
pnpm startpnpm start- Start the Expo development serverpnpm android- Run on Android device/emulatorpnpm ios- Run on iOS simulatorpnpm web- Run on web browserpnpm test- Run tests in watch modepnpm lint- Check code style issuespnpm format- Format code with Biomepnpm lint:fix- Fix code style issuespnpm typecheck- Check TypeScript typespnpm clean- Clean build files and dependenciespnpm commit- Create a new commit using Commitizenpnpm prepare- Install git hooks using Lefthook
src/
├── app/ # Expo Router pages
├── components/ # Reusable components
├── constants/ # App constants
├── hooks/ # Custom hooks
└── utils/ # Helper functions
This project uses Conventional Commits with Commitizen for consistent commit messages. Instead of git commit, use:
pnpm commitThis project uses Semantic Release for automated versioning and changelog generation. The release process is triggered on the main branch when commits follow the conventional commit format.
Run the test suite:
pnpm testThis project uses Biome for linting and formatting. Check and fix code style issues:
# Check for issues
pnpm lint
# Fix issues automatically
pnpm lint:fix
# Format code
pnpm format- Create a new branch for your feature/fix
- Make your changes
- Run
pnpm typecheckandpnpm lintto check for issues - Use
pnpm committo create a conventional commit - Push your changes and create a pull request
This project includes recommended VS Code settings and extensions. Install them from the Extensions panel by searching for @recommended.
To clean the project and remove all dependencies:
pnpm cleanThis project is licensed under the MIT License - see the LICENSE file for details.
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 using
pnpm commit - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request