Modern React Native boilerplate with CLI for rapid mobile app development
Create a new React Native app with one command:
bunx fast-expo-app@latestOr with npm:
npx fast-expo-app@latestThat's it! The CLI will guide you through the setup process and let you choose which features to include.
This boilerplate includes everything you need to build production-ready React Native applications:
- ⚡ Expo SDK 54 - Latest Expo with New Architecture enabled
- ⚛️ React Native 0.81 - Modern React Native with Fabric
- 🔥 TypeScript 5.9 - Type-safe development
- 💎 NativeWind v4 - Tailwind CSS for React Native
- 📁 Expo Router v6 - File-based routing
Choose what you need during setup:
- 📊 MMKV v4 - Ultra-fast storage (~30x faster than AsyncStorage)
- 🌐 TanStack Query v5 - Powerful data fetching and state management
- 🛠️ expo-dev-client - Enhanced debugging with native logs
- 🧪 Jest - Unit testing framework
- 🔄 Zustand - Lightweight state management (coming soon)
- 🌜 Light/Dark mode with toggle
- 📏 ESLint + Prettier
- 🎯 Absolute imports with
@prefix - 🔐 New Architecture enabled
- 📱 SafeArea support
This monorepo contains:
fast-expo-app/
├── cli/ # CLI source code and templates
│ ├── src/ # CLI TypeScript source
│ ├── templates/ # Project templates
│ │ └── base/ # Base Expo + NativeWind template
│ └── modules/ # Optional modules (coming soon)
├── packages/
│ └── fast-expo-app/ # Published npm package
├── www/ # Landing page (Next.js)
├── docs/ # Documentation
├── get_started.sh # Install all dependencies
└── clean.sh # Clean all build artifacts
The CLI source code, templates, and modules:
- src/ - TypeScript source code for the CLI
- templates/base/ - The React Native template that gets copied
- modules/ - Optional features users can include (future)
The npm package fast-expo-app - the CLI tool that scaffolds new projects. This is what gets published to npm.
The landing page built with Next.js, showcasing the CLI and providing documentation.
- Quick Start Guide - Get started quickly
- CLI Package - CLI documentation
- CLI Source - CLI development guide
- Contributing Guide - How to contribute
- AGENTS.md - Complete project documentation for AI assistants
- Node.js 22+ (LTS recommended)
- Bun (highly recommended) or npm
- Java 17+
- Xcode (for iOS development)
- Android Studio (for Android development)
# Clone the repository
git clone https://github.com/Teczer/expo-react-native-nativewind-typescript-boilerplate.git
cd expo-react-native-nativewind-typescript-boilerplate
# Install all dependencies (root, cli, www, template)
bun run get_started
# or
./get_started.sh# 🚀 Get Started
bun run get_started # Install dependencies in all packages
# 🧹 Clean
bun run clean # Remove all node_modules and build artifacts
bun run clean:cli # Clean CLI package only
bun run clean:www # Clean website only
bun run clean:template # Clean template only
# 🔨 Build
bun run build # Build all packages
bun run build:cli # Build CLI only
bun run build:www # Build website only
# 💻 Development
bun run dev # Run all in dev mode
bun run dev:cli # Watch CLI changes
bun run dev:www # Run website in dev mode
# 📱 Template Testing
bun run template:start # Start Expo in template
bun run template:ios # Run template on iOS
bun run template:android # Run template on Android
# ✨ Code Quality
bun run format # Format all files with Prettier
bun run format:check # Check formatting
bun run lint # Run linters# Test the base template
cd cli/templates/base
bun install
bun start# Build and test CLI locally
bun run build:cli
# Link CLI globally for testing
cd packages/fast-expo-app
bun link
# Test the CLI
cd /tmp
fast-expo-app# Run website in development
bun run dev:www
# Build website
bun run build:wwwWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 66+ GitHub Stars ⭐
- 26+ Forks 🍴
- 2.0+ Version with major updates
- Active Development 🚀
Special thanks to:
- @neiltalap for suggesting expo-dev-client and debugging improvements
- All our contributors
- The Expo and React Native communities
This project is licensed under the MIT License - see the LICENSE file for details.
- Website: fast-expo-app-web.vercel.app
- npm Package: npmjs.com/package/fast-expo-app
- GitHub: github.com/Teczer/expo-react-native-nativewind-typescript-boilerplate
Made with ♥ by Teczer
If you find this project helpful, please consider giving it a ⭐