A powerful React Native monorepo starter kit featuring a comprehensive shared design system, Storybook integration, and TypeScript support. Build scalable, consistent mobile applications with reusable components, theme system, utilities, and modern development tools. Perfect for teams looking to streamline their React Native development workflow and maintain design consistency across multiple apps.
- React Native: 0.80.x
- React: 19.1.x
- TypeScript
- Storybook: v9
- Monorepo: Yarn Workspaces
- Component Library: mobile-design-system
| Tool | Version |
|---|---|
| Node.js | 21+ (see .nvmrc) |
| Java JDK | 17 (see .java-version) |
| Yarn | 4.8.1 |
| Android Build Tools | 35.0.0 |
| Android SDK | Min: 24 / Target & Compile: 35 |
| NDK | 27.1.12297006 |
| Kotlin | 2.1.20 |
βββ apps/
β βββ miniApps/ # Feature-specific RN app
β β βββ android/ # Android native code
β β βββ ios/ # iOS native code
β β βββ src/ # Source code
β β β βββ components/ # App-specific components
β β β βββ profile-card/ # Profile card component
β β βββ __tests__/ # Test files
β β βββ App.tsx # Main app component
β β βββ package.json # App dependencies
β β
β βββ playground/ # Component testing app with Storybook
β βββ android/ # Android native code
β βββ ios/ # iOS native code
β βββ __tests__/ # Test files
β βββ .rnstorybook/ # React Native Storybook config
β βββ .storybook/ # Web Storybook config
β βββ App.tsx # Main app component
β βββ package.json # App dependencies
β
βββ packages/
β βββ mobile-design-system/ # Shared UI component library
β βββ src/ # Source code
β β βββ components/ # Basic UI components
β β β βββ avatar/ # Avatar component
β β β βββ badge/ # Badge component
β β β βββ button/ # Button component
β β βββ widgets/ # Complex components
β β β βββ UserCard/ # User card widget
β β βββ domain/ # Domain-specific components
β β β βββ ecommerce/ # E-commerce components
β β β βββ ProductCard/ # Product card component
β β βββ providers/ # Context providers
β β β βββ theme-provider/ # Theme management
β β βββ tokens/ # Design tokens
β β βββ utils/ # Utility functions
β β β βββ formatters/ # Data formatters
β β β βββ validators/ # Validation utilities
β β βββ index.ts # Main exports
β βββ package.json # Package dependencies
β βββ tsconfig.json # TypeScript configuration
β
βββ plop-templates/ # Templates for code generation
βββ .husky/ # Git hooks
βββ .vscode/ # VS Code configuration
βββ package.json # Root dependencies
βββ yarn.lock # Dependency lock file
Located at packages/mobile-design-system/, this package contains a comprehensive collection of reusable UI components, widgets, domain-specific components, theme system, and utilities.
- Avatar β Profile pictures with fallback support (small, medium, large sizes)
- Badge β Status indicators, notifications, and labels
- Button β Multiple variants (primary, secondary, outline) and sizes
- UserCard β User information display with actions and status indicators
- ProductCard β E-commerce product display with pricing, ratings, and actions
- ThemeProvider β Context provider for theme management
- useTheme β Hook for accessing and toggling themes
- Design Tokens β Spacing, colors, typography, and border radius tokens
- Light/Dark Mode β Built-in theme switching support
- Formatters β Currency, date, and text formatting functions
- Validators β Email, phone, password, and credit card validation
Comprehensive Storybook documentation with interactive examples for all components including:
- Avatar variations and fallback states
- Badge variants and styling options
- Button states and interactions
- UserCard with different user types and statuses
- ProductCard with various product scenarios
Located at apps/playground/, this React Native app serves as the development and testing environment for UI components. Features React Native 0.80.1, React 19.1.0, and full Storybook v9 integration for both mobile and web platforms.
Located at apps/miniApps/, this demo application showcases real-world usage of the design system components. Uses React Native 0.80.0 and React 19.1.0 with examples like ProfileCard implementation.
# Linting & Formatting
yarn lint # Run ESLint
yarn lint:fix # Auto-fix ESLint issues
yarn format # Format with Prettier
# Dependency Management
yarn deps:check # Check dependency alignment
yarn deps:fix # Fix dependencies via rnx-align-deps
# Storybook
yarn storybook:web # Run Storybook for web
yarn storybook:mobile # Run Storybook for mobile
yarn storybook:clean # Clean cache
yarn storybook:all # Run all Storybook scripts
# Package Ops
yarn package:watch # Watch for design system changes
yarn package:build # Build the design system
# MiniApps
yarn miniApps:dev # Dev mode
yarn miniApps:start # Start Metro
yarn miniApps:start-reset # Metro with reset cache
yarn miniApps:clean # Clean builds
# Playground
yarn playground:dev # Dev mode
yarn playground:start # Start Metro
yarn playground:start-reset # Metro with reset cache
yarn playground:clean # Clean builds# Build & Dev
yarn clean
yarn build
yarn watch
# Code Quality
yarn lint
yarn format
# Dependency Alignment
yarn deps:check
yarn deps:fix# Platform-specific
yarn android
yarn ios
# Development
yarn start
yarn test-
Install dependencies:
yarn install
-
Build the design system:
yarn package:build
-
Run Playground App to see Storybook:
# Start development environment yarn playground:dev # Or run Storybook directly yarn storybook:mobile
-
Run MiniApps:
# Start Metro and demo app yarn miniApps:dev
- Comprehensive Component Library with basic components, complex widgets, and domain-specific components
- Advanced Theme System with light/dark mode support and customizable design tokens
- TypeScript Support for full type safety and enhanced developer experience
- Storybook Integration for interactive component documentation and testing
- Utility Functions including formatters and validators for common use cases
- Cross-Platform Compatibility ensuring seamless iOS and Android support
- Monorepo Architecture with Yarn Workspaces for efficient development workflow
- ESLint β Code linting with custom rules
- Prettier β Consistent code formatting
- Lefthook / Husky β Git hooks for pre-commit validation
- TypeScript β Static type checking
- Vitest β Unit testing framework in Playground app
- Storybook β Component testing and visual documentation
- React Native Testing Library β Component integration testing
Built with β€οΈ for scalable React Native development
