← ClaudeAtlas

rn-fundamentalslisted

Use at the start of any React Native or Expo task to lock in foundational choices: Expo managed workflow as default, latest Expo SDK with New Architecture ON, TypeScript, npm. Triggers on: "starting a new RN/Expo project", "what is the right architecture for an Expo app", "managed vs bare workflow", questions about Fabric/Hermes/JSI/New Architecture, "differences between RN and React web". Also triggers as a precondition when any other rn-* skill is selected and project setup is unclear. Not for: styling (rn-styling), navigation (rn-expo-router), data (rn-data-fetching).
lukedj78/dev-flow · ★ 6 · Web & Frontend · score 78
Install: claude install-skill lukedj78/dev-flow
# rn-fundamentals — foundational rules for React Native + Expo This skill is the prerequisite read for any RN/Expo work. It sets the four non-negotiables and points you to deeper concept material when needed. ## The 4 non-negotiables 1. **Expo managed workflow** is the default. Bare workflow / `react-native init` only if there is a documented native dependency Expo cannot wrap. 2. **Latest stable Expo SDK** — `57.0.16` on 2026-08-26 (`npm view expo dist-tags`); `[VERIFY]` at bootstrap time, quarterly cadence. **New Architecture is on and not optional** from SDK 55 onward — do *not* set `newArchEnabled`: it is ignored, and **confirmed absent from `@expo/config-types@57.0.2`'s `ExpoConfig` schema** (zero occurrences), so it is not merely discouraged — there is no key to set. Hermes is the engine. 3. **TypeScript** is mandatory. `tsconfig.json` extends **`expo/tsconfig.base`** — confirmed shipping at the root of `expo@57.0.16`, and it sets `moduleResolution: "bundler"` (which is why relative imports here need no `.js` extension). ⚠️ **`blank-typescript` is our choice, not the CLI's default.** From `create-expo-app@4.0.0`'s own help: *"NPM template to use: default, blank, blank-typescript, tabs, bare-minimum. **Default: default**"* — and `default` is the one it labels *"recommended for most app developers"*. Pass `-t blank-typescript` explicitly or you get something else. 4. **npm** is the package manager. ⚠️ This is a **house rule**, not the CLI's preference: `create-expo-