GitPedia

Fast expo app

⚡ Fast Expo App - React Native boilerplate CLI for rapid mobile app development. Instantly scaffold Expo projects with TypeScript, Nativewind, Unistyles, Expo Router, MMKV storage, React Query, Jest testing, and expo-dev-client. Features modular architecture, dark mode support, ESLint, Prettier, and automated setup

From Teczer·Updated June 13, 2026·View on GitHub·

**⚡ Lightning-fast CLI to create production-ready React Native apps with modern best practices** The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2024. Key topics include: boilerplate, boilerplate-application, colorscheme, dark-theme, expo.

Latest release: v3.3.03.3.0 (Jan 19, 2025)
January 19, 2026View Changelog →

Fast Expo App

<div align="center">

npm version
GitHub stars

⚡ Lightning-fast CLI to create production-ready React Native apps with modern best practices

Quick StartFeaturesDocumentationContributing

</div>

🚀 Quick Start

Create a new React Native app with one command:

bash
bunx fast-expo-app@latest

Or with npm:

bash
npx fast-expo-app@latest

That's it! The CLI will guide you through the setup process and let you choose which features to include.


✨ Features

🎯 Core Stack (Always Included)

  • Expo SDK 54 - Latest Expo with New Architecture enabled
  • ⚛️ React Native 0.81 - Modern React Native with Fabric renderer
  • 🔥 TypeScript 5.9 - Strict type-safety out of the box
  • 📁 Expo Router v6 - File-based routing with typed routes
  • 💾 MMKV v4 - Ultra-fast storage with Nitro Modules (~30x faster than AsyncStorage)
  • 📱 react-native-edge-to-edge - Modern edge-to-edge display

🎨 Styling Options (Choose One)

NativeWind v4 🌊

  • Tailwind CSS v3 for React Native
  • Utility-first CSS framework
  • 2-theme system (light/dark)
  • Dark mode with persistent storage

Unistyles v3 💎

  • Type-safe styling solution
  • 3-theme system (light/dark/premium)
  • Runtime theme switching
  • Breakpoints support
  • Better performance

Uniwind v1.2 ✨ (NEW)

  • Tailwind CSS v4 for React Native
  • Live theme switching with Uniwind.setTheme()
  • 3-theme system (light/dark/premium)
  • CSS variables for dynamic theming
  • Type-safe with auto-generated types

🔧 Optional Modules

Pick what you need during setup:

  • 🌐 TanStack Query v5 - Powerful data fetching with MMKV persistence
  • 🔄 Zustand - Lightweight state management with MMKV storage
  • 🛠️ expo-dev-client - Enhanced debugging with native logs
  • 🧪 Jest - Unit testing framework

🎁 Pre-configured

  • 🌓 Theme System - Light/Dark/Premium modes with MMKV persistence
  • 🎯 Absolute Imports - Clean imports with @/ prefix
  • 📏 Code Quality - ESLint + Prettier pre-configured
  • 🔐 New Architecture - Fabric renderer enabled
  • 📱 SafeArea - Proper insets handling
  • 🎭 Animations - React Native Reanimated ready
  • ⌨️ Keyboard - Smart keyboard handling

📦 What's Inside

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

/cli

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)

/packages/fast-expo-app

The npm package fast-expo-app - the CLI tool that scaffolds new projects. This is what gets published to npm.

/www

The landing page built with Next.js, showcasing the CLI and providing documentation.


📚 Documentation


🏃 Development

Prerequisites

  • Node.js 22+ (LTS recommended)
  • Bun (highly recommended) or npm
  • Java 17+
  • Xcode (for iOS development)
  • Android Studio (for Android development)

Setup Monorepo

bash
# 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

Available Scripts

bash
# 🚀 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

Work on Template

bash
# Test the base template cd cli/templates/base bun install bun start

Work on CLI

bash
# 1. Build the CLI from source bun run build:cli # 2. Test the CLI locally (choose one method): # Method 1: Use the test script (easiest - recommended) # From monorepo root: bun run test:cli # The CLI will prompt you for project name and options # Navigate to the directory where you want to create the project first if needed

Note: Method 1 (bun run test:cli) is the simplest - just build and run!

Work on Website

bash
# Run website in development bun run dev:www # Build website bun run build:www

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Steps

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📈 Project Stats

  • 80+ GitHub Stars
  • 26+ Forks 🍴
  • v3.2.0 - Added Uniwind styling with Tailwind v4
  • Active Development 🚀

🆕 What's New in v3.2.0

  • Uniwind v1.2 - New styling option with Tailwind CSS v4
  • 🎨 3 styling choices - NativeWind v4, Unistyles v3, or Uniwind v1.2
  • 🔄 Live theme switching - Uniwind.setTheme() for instant updates
  • 🎭 3-theme system - Light/Dark/Premium with CSS variables
  • 📦 Tailwind v4 - Modern CSS-first configuration
  • 🔧 Proper theme variants - @layer theme with @variant blocks

v3.0.0 Highlights

  • Unistyles v3 support with 3-theme system
  • 💾 MMKV mandatory - Included by default (~30x faster)
  • 🎯 Theme persistence - Automatic saving with MMKV
  • 🔧 Better architecture - Cleaner file structure
  • 🚀 Performance - Nitro Modules and Worklets

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.



<div align="center">

Made with ♥ by Teczer

If you find this project helpful, please consider giving it a ⭐

</div>

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from Teczer/fast-expo-app via the GitHub API.Last fetched: 6/17/2026