CURSOR RULESExpo & React Native Cursor Rules (.mdc) | Modern Mobile Architecture
Generate Expo Router and React Native Cursor rules enforcing file-based routing, New Architecture (Fabric/TurboModules), and safe native layouts. Modern React Native uses Expo Router v3/v4 with file-based layout groups (app/(tabs)), typed routes, and React Native New Architecture (Fabric/TurboModules). LLMs constantly generate obsolete React Navigation Stack wrappers, deprecated AsyncStorage imports, and un-safe-area layout overflows.
.cursor/rules/expo.mdcWhat this file changes for React Native & Expo Router
Modern React Native uses Expo Router v3/v4 with file-based layout groups (app/(tabs)), typed routes, and React Native New Architecture (Fabric/TurboModules). LLMs constantly generate obsolete React Navigation Stack wrappers, deprecated AsyncStorage imports, and un-safe-area layout overflows.
React Native & Expo Router: code to avoid and code to write instead
// Discouraged: Missing safe-area insets, slow standard Image component, obsolete navigation prop
export default function BadProfile({ navigation }: any) {
return (
<div style={{ marginTop: 50 }}>
<img src="avatar.png" />
<button onClick={() => navigation.navigate("Home")}>Go</button>
</div>
);
}import { View, Text, StyleSheet } from "react-native";
import { Image } from "expo-image";
import { useSafeAreaInsets } from "react-native-safe-area-context";
export default function ProfileScreen() {
const insets = useSafeAreaInsets();
return (
<View style={[styles.container, { paddingTop: insets.top, paddingBottom: insets.bottom }]}>
<Image
source={{ uri: "https://example.com/avatar.png" }}
style={styles.avatar}
contentFit="cover"
transition={200}
/>
<Text style={styles.title}>User Profile</Text>
</View>
);
}
const styles = StyleSheet.create({
container: { flex: 1, backgroundColor: "#fff", paddingHorizontal: 16 },
avatar: { width: 80, height: 80, borderRadius: 40 },
title: { fontSize: 20, fontWeight: "600", marginTop: 12 },
});How to Install React Native & Expo Router Cursor Rules (.mdc) via Terminal
Step 1: Open Project Directory & Verify Target Placement
Open your terminal and navigate to your project root folder where the .cursor/rules/expo.mdc file will reside. Ensure the file is placed at the exact path below relative to your project root so the AI engine automatically loads it:
Step 2: Fetch Rule File via Terminal Command
Run curl, PowerShell, or wget to stream the rule directly from the DevScratchpad raw API endpoint and write it to .cursor/rules/expo.mdc:
Terminal One-Liner Install
Run directly in your project root to stream and write this rule file with one command.
mkdir -p ".cursor/rules" && curl -fsSL "https://www.devscratchpad.tech/api/raw/cursor-rules/react-native-expo" -o ".cursor/rules/expo.mdc"Step 3: Check that Cursor uses it
Cursor picks up rules in .cursor/rules/ automatically. This one attaches when files matching its globs are in the request, or when you @-mention it.
Cursor rules generator: .cursor/rules/*.mdc for your stack
Cursor Rules (.mdc): how it works, where the file goes, and every Cursor Rules preset.
Tools for React Native & Expo Router work
Browser-based utilities to test, format and inspect the code your AI tool writes. Nothing you paste is uploaded.
JSON to TypeScript Interfaces
Instantly infer TypeScript interfaces from a JSON payload.
JSON to Zod Schema
Infer Zod validation schemas directly from JSON payloads.
SVG to JSX Converter
Convert raw SVG markup into a React JSX component.
JWT Decoder & Inspector
Decode JSON Web Tokens locally. Inspect header and claims, and verify HS256 signatures with your secret.
Live Repository & Schema Ingestion
Inspect any public or private GitHub repository, or paste SQL DDL and Prisma models directly in AI Skill Studio to auto-generate authentic rules. Zero server transmission.
Migrating from Legacy .cursorrules or CLAUDE.md?
Use the free, in-browser converter to turn one long rules file into Cursor .mdc, Claude SKILL.md or Windsurf rules.
Technical FAQ: React Native & Expo Router AI Rulebooks
Does this support Expo Router v3 and v4?
Yes, it enforces typed routes, layout groups (tabs), and useLocalSearchParams.
Why use expo-image over React Native Image?
expo-image provides hardware decoding, progressive loading, blurhash previews, and superior memory caching on iOS and Android.