Skip to content

linhnguyen-gt/create-rn-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ create-rn-project

A powerful CLI tool to create React Native projects with multiple architecture options. Quickly scaffold production-ready apps with Redux or Zustand, TypeScript, multi-environment support, and NativeWind styling.

typescript architectures

πŸ“‹ Overview

create-rn-project is a command-line tool that helps you quickly set up a new React Native project with a production-ready structure and configuration. It supports multiple architecture options:

Available Architectures

Each architecture includes:

  • TypeScript for type safety
  • NativeWind for styling with Tailwind CSS
  • Multi-environment support (Development, Staging, Production)
  • Pre-configured folder structure
  • Gluestack UI components
  • And much more!

πŸš€ Installation

Global Installation

# Install globally from the official repository
npm install -g https://github.com/linhnguyen-gt/create-rn-project.git

Requirements

Make sure you have the following installed:

  • Node.js (v20+ or newer)
  • npm or yarn
  • Git
  • React Native development environment set up (for running the generated project)

πŸ“± Usage

Creating a New Project

# Basic usage with interactive architecture selection
create-rn-project MyApp

# You'll see a menu like:
# ? Choose an architecture: (Use arrow keys)
# ❯ Redux + Redux Saga - State management with Redux and Redux Saga
#   Zustand + React Query - State management with Zustand and data fetching with React Query

You can also specify the architecture directly using the -a or --arch flag:

# Directly specify Zustand + React Query architecture
create-rn-project MyApp -a zustand

# Directly specify Redux + Redux Saga architecture
create-rn-project MyApp -a redux

Additional options:

# With specific React Native version branch
create-rn-project MyApp@rn-0.79.xx

# With custom bundle ID
create-rn-project MyApp -b com.example.myapp

# With all options
create-rn-project MyApp@rn-0.79.xx -b com.example.myapp --repo https://github.com/yourusername/your-repo.git --skip-install --use-npm

❗ Note: To set a custom bundle identifier, you must use the -b or --bundle-id flag. For example:

  • βœ… Correct: create-rn-project MyApp -b com.example.myapp
  • ❌ Incorrect: create-rn-project MyApp com.example.myapp

Available React Native Versions

  • main - Latest stable version (default)
  • rn-0.78.xx - React Native 0.78.x
  • rn-0.79.xx - React Native 0.79.x

Examples:

# Use React Native 0.78.x
create-rn-project MyApp@rn-0.78.xx

# Use React Native 0.79.x
create-rn-project MyApp@rn-0.79.xx

# Use latest stable version
create-rn-project MyApp

Available Options

  • -a, --arch <architecture>: Choose architecture (redux, zustand)
  • -b, --bundle-id <id>: Set custom bundle identifier (default: "com.example.app")
  • -r, --repo <url>: Specify GitHub repository URL
  • --skip-install: Skip installing dependencies
  • --use-npm: Use npm instead of yarn for installing dependencies
  • --skip-env-setup: Skip environment setup
  • --skip-git: Skip git initialization
  • --help: Show help information

After Creating a Project

Once your project is created, you can:

# Navigate to your project
cd MyApp

# Start the development server
yarn start

# Run on iOS
yarn ios

# Run on Android
yarn android

# Run on specific environments
yarn ios:stg    # Staging environment for iOS
yarn android:pro  # Production environment for Android

✨ Features

The generated project comes with:

  • πŸ—οΈ TypeScript Integration: Full TypeScript support for type safety
  • πŸ”„ State Management: Choose between Redux Toolkit with Redux Saga or Zustand
  • πŸ” Data Fetching: React Query available in Zustand architecture
  • 🎨 Styling: NativeWind (Tailwind CSS for React Native)
  • 🌐 Multi-Environment: Development, Staging, and Production environments
  • πŸ“± Cross-Platform: iOS and Android support with environment-specific configurations
  • πŸ› οΈ Developer Tools: Reactotron integration for debugging
  • πŸ“¦ Organized Structure: Pre-configured folder structure following best practices
  • πŸ” Code Quality: ESLint and Prettier pre-configured

πŸ”§ Environment Configuration

The generated project supports multiple environments:

  • Development: Default environment for development
  • Staging: For testing before production
  • Production: For production releases

Each environment has its own configuration files and build scripts.

πŸ“„ License

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

πŸ‘¨β€πŸ’» Author

Linh Nguyen - GitHub


Made with ❀️ by Linh Nguyen

About

πŸš€ A powerful CLI tool to create React Native projects with multiple architecture options. Quickly scaffold production-ready apps with Redux or Zustand, TypeScript, multi-environment support, and NativeWind styling

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors