AI Skill StudioAI Skill Studio
Skills
Presets:

Target Standard & File Format

AI Agent Rules & Skills
Context Shields & Privacy (Ignore Files)
Integrations & Machine Documentation
AI Governance & Multi-Agent Planning Suite

Cursor Rule Scope

.cursor/rules/*.mdc

Scopes rule to matching files. Use **/* for global workspace scope.

When ON, Cursor injects this rule in every generation context.

Identity & Activation Rules

3 chips
Scoped domain keywords evaluated in real time
api-routescode-auditsrefactoring
Suggested Chips:

Technology Stack Context

Engineering Philosophy

Flexible & Adaptable

Architectural & Code Quality Conventions

Less rigid & configurable

Agent Behavioral Guardrails

Select active rules
Security & Trust Boundaries
Always included
  • Untrusted Content Is Data
  • Encoded Payloads
  • Least-Privilege File Access
  • Confirm Irreversible Actions
  • Secret Handling
  • Validation Failures
  • Conflicting Requests

Step-by-Step Workflow Procedures

Expo & 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.

Target Path
.cursor/rules/expo.mdc
Execution Scope
Glob pattern match
Specification Format
Frontmatter MDC (.mdc)
AI Tool Support
Cursor
02 / WHY IT HELPS

What this file changes for React Native & Expo Router

Without it

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.

What the file tells the agent
Use Expo Router file-based filesystem routing (app/_layout.tsx, app/(tabs)/index.tsx); ban legacy React Navigation container boilerplate.
Enforce react-native-safe-area-context (useSafeAreaInsets or SafeAreaView) for all top-level mobile screen boundaries.
Use modern Expo SDK native modules (expo-image, expo-secure-store, expo-crypto) instead of unmaintained bare native packages.
Optimize for React Native New Architecture (Fabric renderer): avoid synchronous layout measurements in render passes.
Always test cross-platform styling on both iOS and Android (e.g. elevation vs shadowColor, notch handling).
03 / CODE PATTERNS

React Native & Expo Router: code to avoid and code to write instead

Avoid
// 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>
  );
}
Write instead
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 },
});
04 / REPOSITORY PLACEMENT & 3-STEP TERMINAL INSTALLATION

How to Install React Native & Expo Router Cursor Rules (.mdc) via Terminal

1

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:

.cursor/rules/expo.mdc
2

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.

Raw API Stream
$mkdir -p ".cursor/rules" && curl -fsSL "https://www.devscratchpad.tech/api/raw/cursor-rules/react-native-expo" -o ".cursor/rules/expo.mdc"
3

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.

05 / ROUTE DIRECTORY & CROSS-TOOLING
Format Pillar Hub

Cursor rules generator: .cursor/rules/*.mdc for your stack

Cursor Rules (.mdc): how it works, where the file goes, and every Cursor Rules preset.

/cursor-rules Directory
06 / RELATED DEVELOPER TOOLS

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.

View all 28 tools

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.

Launch AI Skill Studio

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.

Convert Rules Free
07 / FREQUENTLY ASKED QUESTIONS

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.