react-native-lab icon indicating copy to clipboard operation
react-native-lab copied to clipboard

React Native Lab is a npm package that automates the setup of your React Native development environment, including essential installations and project initialization.

๐Ÿงช React Native Lab

Github License Github Version Github Repo Created At Github Repo Contributors Github Repo Fork NPM Package Version NPM Package Last Updated NPM Package Downloads

The ultimate CLI to kickstart your React Native journey with professional-grade templates and tools.


react-native-lab automates the boring setup of React Native projects. We handle the configuration so you can start coding instantly.

๐Ÿš€ Quick Start

npx react-native-lab@latest

๐Ÿ’ป Usage Preview

No screenshots needed! Here is how the interactive CLI guides you:

โ”Œ  React Native Lab
โ”‚
โ—‡  What is the name of your React Native project?
โ”‚  MySuperApp
โ”‚
โ—‡  Do you want to create a "src" folder for your files?
โ”‚  Yes
โ”‚
โ—‡  Which template would you like to use?
โ”‚  Bottom Navigation
โ”‚
โ—‡  Checking for JDK installation...
โ”‚  JDK is already installed.
โ”‚
โ—‡  Checking for Android Studio...
โ”‚  Android Studio is already installed.
โ”‚
โ—‡  Would you like to enable additional customization?
โ”‚  Yes
โ”‚
โ—‡  Which package manager would you like to use?
โ”‚  npm
โ”‚
โ—‡  What should be the package name?
โ”‚  com.mysuperapp.mobile
โ”‚
โ—‡  Would you like to install NativeWind for styling?
โ”‚  Yes
โ”‚
โ—‡  Include automatic console log removal in production?
โ”‚  Yes
โ”‚
โ—‡  Add GitHub Actions CI workflow?
โ”‚  Yes
โ”‚
โ””  Configuration complete! Starting setup...

โœจ Comprehensive Features

We take care of the details so you don't have to.

๐Ÿ› ๏ธ Smart Environment Setup

  • Automatic JDK Install: Checks and installs OpenJDK (Windows/Linux) if missing.
  • Automatic Android Studio: Downloads and configures Android Studio & SDKs (Windows/Linux).
  • Environment Variables: Automatically sets JAVA_HOME, ANDROID_HOME, and adds tools to PATH.

๐ŸŽจ Templates & Design

  • Multiple Layouts:
    • Blank: A clean slate.
    • Bottom Navigation: Tab-based navigation pre-configured.
    • Stack Navigation: Standard stack navigation.
    • Drawer Navigation: Drawer menu implementation.
  • NativeWind Support: Optional integration of Tailwind CSS for React Native.

โš™๏ธ Project Configuration

  • Package Manager: Support for npm, yarn, or bun.
  • Custom Package Name: Easily set your Bundle ID (e.g., com.company.app).
  • React Native Version: Choose between latest stable or a specific version.
  • Project Structure: Optional clean src/ directory organization.
  • Environment Secrets: Choice of react-native-config or react-native-dotenv.

๐Ÿง‘โ€๐Ÿ’ป Developer Experience (DX)

  • TypeScript First: All code is typed by default.
  • Path Aliases: Pre-configured aliases like @assets, @components, @screens, @utils.
  • Custom Hooks Library: Optional inclusion of:
    • useDebounce
    • useThrottle
    • usePrevious
    • useOrientation
    • useResponsiveLayout

๐Ÿš€ Production Readiness

  • CI/CD Integration: Automatically generates .github/workflows/ci.yml for linting and testing.
  • Console Log Removal: Production builds automatically strip simple console.log statements for security and speed.
  • Git Initialization: Auto-init Git repo and generate a tailored .gitignore.

๐Ÿค Contributing

Contributions are welcome! Please open an issue or submit a pull request here.

๐Ÿ“„ License

MIT ยฉ Sumit Singh Rathore