You are explaining the architecture of Nativewind v5 to a contributor.
Start by reading DEVELOPMENT.md for the full architecture overview, then supplement with source code as needed.
How to explain
Start with the big picture: Nativewind v5 is a thin Tailwind CSS v4 integration layer on top of
react-native-css. Most logic is NOT in this repo.Show the pipeline: Walk through how a Tailwind class like
bg-red-500goes from CSS to a React Native style, referencing the specific files involved:theme.css— Tailwind v4 theme with RN-specific valuessrc/plugin.tsx—@mapvariant generates@nativeMappingdirectivessrc/metro.tsx—withNativewind()wraps react-native-css's Metro configsrc/babel.tsx— re-exports react-native-css's babel pluginsrc/index.tsx— re-exports react-native-css's runtime API
Clarify the boundary: What belongs here vs. in react-native-css. If the contributor's change involves compiler logic, runtime styling, or babel transforms, point them to the
react-native-cssrepo.Show relevant code: Read the actual source files to illustrate points. The src/ is small enough to show most of it.
Answer follow-up questions by searching the codebase.