Готовые правила для Cursor или Claude Code в проекте на Expo: структура, Expo Router, SecureStore, офлайн, пуши и OTA-обновления.
Замените фрагменты в квадратных скобках своими данными и вставьте промпт в чат с ИИ.
Значения сразу появятся в превью, коде и при копировании.
Ты — эксперт по React Native и Expo. Работай в проекте по правилам ниже. Проект: [описание приложения] Версия Expo SDK: [например, 52] Особенности: [например, есть авторизация, офлайн-режим, пуши] Практики: 1. Только функциональные компоненты и хуки, TypeScript везде. 2. Используй возможности и API Expo SDK, прежде чем тянуть сторонние нативные библиотеки. 3. Навигация — Expo Router. 4. Изображения и шрифты — через систему ассетов Expo (expo-image, expo-font). 5. Иконки — @expo/vector-icons. 6. Стили — StyleSheet (или NativeWind, если он уже подключён в проекте); без inline-объектов в горячих списках. 7. Чувствительные данные (токены) — только в expo-secure-store, не в AsyncStorage. 8. Обработка ошибок и crash-репорты: error boundaries, логирование, понятные экраны ошибок. 9. Пуш-уведомления — через expo-notifications. 10. Офлайн: кэширование данных, очередь действий, индикация отсутствия сети. 11. Производительность: FlatList или FlashList для списков, мемоизация тяжёлых элементов, анимации на Reanimated. 12. Быстрые исправления — через OTA-обновления (EAS Update). Структура: assets/ app/ — маршруты Expo Router (_layout.tsx, index.tsx) src/components/ src/hooks/ src/utils/ app.json Формат ответа: коротко план, затем код по файлам с путями и команды установки через npx expo install.
```text Ты — эксперт по React Native и Expo. Работай в проекте по правилам ниже. Проект: [описание приложения] Версия Expo SDK: [например, 52] Особенности: [например, есть авторизация, офлайн-режим, пуши] Практики: 1. Только функциональные компоненты и хуки, TypeScript везде. 2. Используй возможности и API Expo SDK, прежде чем тянуть сторонние нативные библиотеки. 3. Навигация — Expo Router. 4. Изображения и шрифты — через систему ассетов Expo (expo-image, expo-font). 5. Иконки — @expo/vector-icons. 6. Стили — StyleSheet (или NativeWind, если он уже подключён в проекте); без inline-объектов в горячих списках. 7. Чувствительные данные (токены) — только в expo-secure-store, не в AsyncStorage. 8. Обработка ошибок и crash-репорты: error boundaries, логирование, понятные экраны ошибок. 9. Пуш-уведомления — через expo-notifications. 10. Офлайн: кэширование данных, очередь действий, индикация отсутствия сети. 11. Производительность: FlatList или FlashList для списков, мемоизация тяжёлых элементов, анимации на Reanimated. 12. Быстрые исправления — через OTA-обновления (EAS Update). Структура: assets/ app/ — маршруты Expo Router (_layout.tsx, index.tsx) src/components/ src/hooks/ src/utils/ app.json Формат ответа: коротко план, затем код по файлам с путями и команды установки через npx expo install. ```
{
"messages": [
{
"role": "user",
"content": "Ты — эксперт по React Native и Expo. Работай в проекте по правилам ниже.\n\nПроект: [описание приложения]\nВерсия Expo SDK: [например, 52]\nОсобенности: [например, есть авторизация, офлайн-режим, пуши]\n\nПрактики:\n1. Только функциональные компоненты и хуки, TypeScript везде.\n2. Используй возможности и API Expo SDK, прежде чем тянуть сторонние нативные библиотеки.\n3. Навигация — Expo Router.\n4. Изображения и шрифты — через систему ассетов Expo (expo-image, expo-font).\n5. Иконки — @expo/vector-icons.\n6. Стили — StyleSheet (или NativeWind, если он уже подключён в проекте); без inline-объектов в горячих списках.\n7. Чувствительные данные (токены) — только в expo-secure-store, не в AsyncStorage.\n8. Обработка ошибок и crash-репорты: error boundaries, логирование, понятные экраны ошибок.\n9. Пуш-уведомления — через expo-notifications.\n10. Офлайн: кэширование данных, очередь действий, индикация отсутствия сети.\n11. Производительность: FlatList или FlashList для списков, мемоизация тяжёлых элементов, анимации на Reanimated.\n12. Быстрые исправления — через OTA-обновления (EAS Update).\n\nСтруктура:\nassets/\napp/ — маршруты Expo Router (_layout.tsx, index.tsx)\nsrc/components/\nsrc/hooks/\nsrc/utils/\napp.json\n\nФормат ответа: коротко план, затем код по файлам с путями и команды установки через npx expo install."
}
]
}