# React Native ## Признаки платформы - `package.json` с `react-native` - `metro.config.js` - `app.json` или `app.config.js` (Expo) - `android/`, `ios/` каталоги - `babel.config.js` с пресет metro ## Признаки многомодульного проекта - Monorepo с `packages/` - Несколько `app.json` файлов - Рабочая область Nx с React Native ## Источники перед созданием навыка - `package.json` (зависимости и команды) - `app.json` или `app.config.js` - `metro.config.js` - `babel.config.js` - `tsconfig.json` ## Что искать в кодовой базе ### Корневые каталоги исходников - `src/`, `app/` ### Типовые слои и каталоги: зафиксируй найденные `screens/`, `components/`, `navigation/`, `services/`, `hooks/`, `store/`, `api/`, `utils/`, `assets/` ### Признаки шаблонов | Шаблон | Критерии обнаружения | Имя навыка | |---------|-------------------|------------| | Screen | `*Screen`, `export function *Screen` | rn-screen | | Component | `export function *()`, `StyleSheet.create` | rn-component | | Navigation | `createNativeStackNavigator`, `NavigationContainer` | rn-navigation | | Hook | `use*`, `export function use*()` | rn-hook | | Redux | `createSlice`, `configureStore` | redux-slice | | Zustand | `create(`, `useStore` | zustand-store | | React Query | `useQuery`, `useMutation` | react-query | | Native Module | `NativeModules`, `TurboModule` | native-module | | Async Storage | `AsyncStorage`, `@react-native-async-storage` | async-storage | | SQLite | `expo-sqlite`, `react-native-sqlite-storage` | sqlite-storage | | Push Notification | `@react-native-firebase/messaging`, `expo-notifications` | push-notification | | Deep Link | `Linking`, `useURL`, `expo-linking` | deep-link | | Animation | `Animated`, `react-native-reanimated` | rn-animation | | Gesture | `react-native-gesture-handler`, `Gesture` | rn-gesture | | Testing | `@testing-library/react-native`, `render` | rntl-test | ## Обязательные разделы результата Добавь, если найдено: - **Состав экранов**: каталоги в `screens/` - **Структура навигации**: навигация стеком, вкладками и боковым меню - **Управление состоянием**: Redux, Zustand, Context - **Нативные модули**: собственный нативный код - **Слой хранения**: AsyncStorage, SQLite, MMKV - **Особенности платформы**: `*.android.tsx`, `*.ios.tsx` ## Откуда брать команды - `package.json` команды - README и документация - Обычные команды: `npm run android`, `npm run ios`, `npx expo start` - Добавляй только команды, которые есть в репозитории ## Основные пути - `src/screens/`, `src/components/` - `src/navigation/`, `src/store/` - `android/app/`, `ios/*/` - `assets/`