rn-forge
v1.0.0
Published
Zero-to-hero React Native & Expo development environment setup — one command to rule them all
Downloads
41
Maintainers
Readme
rn-forge
Zero-to-hero React Native & Expo development environment setup — one command, fully automated.
Buy a new MacBook or Windows laptop and be coding your first React Native app in minutes, not hours.
What is rn-forge?
rn-forge is an intelligent CLI tool that sets up your entire React Native / Expo development environment with a single command. No Googling, no copy-pasting shell commands, no hours of debugging PATH issues.
It handles:
| Tool | macOS | Windows | |---|:---:|:---:| | Homebrew / Chocolatey | ✅ | ✅ | | Node.js LTS | ✅ | ✅ | | Git | ✅ | ✅ | | Watchman | ✅ | — | | Java JDK (Temurin 21) | ✅ | ✅ | | Android Studio + SDK | ✅ | ✅ | | Android Emulator | ✅ | ✅ | | Xcode CLI Tools | ✅ | — | | Xcode (full IDE) | ✅ | — | | CocoaPods | ✅ | — | | Expo CLI | ✅ | ✅ | | React Native CLI | ✅ | ✅ | | VS Code + 15 extensions | ✅ | ✅ | | GitHub SSH keys | ✅ | ✅ | | bun / yarn / pnpm | ✅ | ✅ |
Quick Start
npx rn-forge setupThat's it. The interactive wizard handles the rest.
Installation
# Run directly without installing (recommended)
npx rn-forge setup
# Or install globally
npm install -g rn-forge
rn-forge setupRequirements: Node.js ≥ 18 (if you don't have Node yet, see bootstrapping)
Commands
rn-forge setup
Installs and configures your full development environment.
rn-forge setup # Interactive wizard
rn-forge setup --force # Re-run even if already set up
rn-forge setup --debug # Enable verbose outputFlow:
- AI Version Agent fetches the latest stable versions of all tools
- Interactive questionnaire (platforms, package manager, GitHub info)
- Confirmation summary before any changes are made
- Automated installation — sit back and watch
rn-forge create [name]
Scaffold a new React Native or Expo project with the latest dependencies.
rn-forge create MyApp # Interactive
rn-forge create MyApp --template expo # Expo Router (tabs)
rn-forge create MyApp --template expo-bare # Bare Expo
rn-forge create MyApp --template rn # React Native CLI
rn-forge create MyApp --package-manager bun # Use bunOptions:
| Flag | Default | Description |
|---|---|---|
| -t, --template | expo | expo | expo-bare | rn |
| -p, --package-manager | npm | npm | yarn | bun | pnpm |
| -d, --dir | CWD | Output directory |
rn-forge clone [repo-url]
Clone an existing GitHub repository and automatically set it up (install deps, pod install, .env detection).
rn-forge clone https://github.com/org/my-app
rn-forge clone [email protected]:org/my-app.git
rn-forge clone # Prompts for URLOptions:
| Flag | Description |
|---|---|
| -b, --branch | Branch to checkout |
| -p, --package-manager | Override detected package manager |
| -d, --dir | Target parent directory |
rn-forge doctor
Scan your environment and report what's working, what's missing, and what's outdated.
rn-forge doctor
rn-forge doctor --fix # Attempt to auto-fix issuesrn-forge update
Update installed development tools to their latest versions.
rn-forge update # Review then confirm
rn-forge update --yes # Apply all updates immediatelyChecks: global npm packages (expo, react-native), Homebrew packages/casks (macOS).
rn-forge versions
Fetch and display the latest available versions of all React Native ecosystem tools.
rn-forge versionsrn-forge config
View or manage saved configuration.
rn-forge config # Show saved config
rn-forge config --path # Show config file location
rn-forge config --reset # Clear all saved configAI Version Agent
rn-forge includes a built-in Version Agent that queries public APIs to find the latest stable versions of every tool before installing:
- Node.js LTS —
nodejs.org/dist/index.json - React Native — npm registry
- Expo SDK & CLI — npm registry
- Java (Temurin) —
api.adoptium.net - Yarn, Bun, pnpm — GitHub Releases + npm registry
No paid AI API key required.
VS Code Extensions Installed
When you enable VS Code setup, rn-forge installs 15 hand-picked extensions:
| Extension | Purpose | |---|---| | ESLint | Linting | | Prettier | Code formatting | | React Native Tools | Debugging & IntelliSense | | Expo Tools | Expo workflow integration | | GitLens | Enhanced Git | | Material Icon Theme | File icons | | Error Lens | Inline error display | | Thunder Client | In-editor API testing | | DotENV | .env syntax highlighting | | Auto Rename Tag | HTML/JSX tag sync | | Tailwind CSS IntelliSense | Tailwind support | | Path Intellisense | File path completion | | Code Spell Checker | Spell checking | | Better Comments | Comment highlighting |
Bootstrapping Without Node
If you're starting from scratch with no Node.js installed:
macOS:
# Install Homebrew first
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Then install Node
brew install node
# Now run rn-forge
npx rn-forge setupWindows:
# Install via official Node.js installer
# https://nodejs.org/en/download/
# Then run rn-forge
npx rn-forge setupiOS Setup Notes
Full Xcode installation requires:
- An Apple ID (used by
xcodesCLI — credentials never leave your machine) - ~12 GB disk space
- macOS (iOS development is macOS-only)
When you choose to install Xcode, rn-forge uses the open-source xcodes tool to download and install the latest stable Xcode version automatically.
Android Setup Notes
rn-forge installs:
- Android Studio (via Homebrew Cask on macOS, Chocolatey on Windows)
- Android SDK platform-tools, build-tools, and NDK
- A preconfigured emulator (
Pixel_7_API_34) - Sets
ANDROID_HOMEand updates yourPATH
GitHub SSH Setup
rn-forge generates an Ed25519 SSH key, adds it to ssh-agent, and displays your public key with a direct link to github.com/settings/keys so you can paste it in seconds.
Optionally installs and authenticates the GitHub CLI (gh).
Saved Configuration
rn-forge remembers your preferences (package manager, GitHub username, installed tools) using conf, stored in:
- macOS:
~/Library/Preferences/rn-forge-nodejs/ - Windows:
%APPDATA%\rn-forge-nodejs\
Contributing
Pull requests are welcome! See CONTRIBUTING.md for guidelines.
git clone https://github.com/YOUR_USERNAME/rn-forge
cd rn-forge
npm install
node bin/rn-forge.js --helpLicense
MIT © rn-forge contributors
