// the find
react-native-community/cli
The React Native Community CLI — Command line tools to help you build React Native apps
The official CLI for React Native, extracted from the core framework and now maintained by the community with Meta involvement. It handles everything from project initialization to running on simulators, managing native dependencies via autolinking, and diagnosing environment issues. If you're building React Native apps, this is not optional — it's what `npx react-native init` shells out to.
Autolinking is the genuine win here — it eliminated the manual `react-native link` step that caused endless grief, and the implementation in `cli-config-android` and `cli-config-apple` is thorough, parsing Gradle files and pbxproj correctly. The `doctor` command with auto-fix support covers the full Android/iOS toolchain (SDK, NDK, Xcode, JDK, CocoaPods, Ruby) and actually attempts to repair things, not just report them. The monorepo structure with fine-grained packages (`cli-platform-android`, `cli-platform-apple`, `cli-config`, etc.) means downstream consumers can take only what they need. Test coverage is real — unit tests, snapshot tests, and e2e tests with actual fixture files, not just mock everything.
The tight coupling to specific `react-native` versions (the compatibility table maps CLI majors to RN patch ranges) means version mismatches are a constant foot-gun, and the README warning to not update CLI independently signals this is a solved-in-docs-only problem. The e2e test suite is minimal — three test files covering init, config, and default commands — which seems thin for a tool that touches Xcode projects, Gradle files, and native build systems. Windows support exists but lives in a segregated `windows/` subdirectory inside `cli-doctor`, suggesting it's bolted on rather than first-class. Error messages from the native build pipeline (Gradle, xcodebuild) get swallowed into the CLI output with minimal context, making failures hard to diagnose without running the underlying tool directly.