getsentry

sentry-react-native-setup

5
0
# Install this skill:
npx skills add getsentry/agent-skills --skill "sentry-react-native-setup"

Install specific skill from multi-skill repository

# Description

Setup Sentry in React Native using the wizard CLI. Use when asked to add Sentry to React Native, install @sentry/react-native, or configure error monitoring for React Native or Expo apps.

# SKILL.md


name: sentry-react-native-setup
description: Setup Sentry in React Native using the wizard CLI. Use when asked to add Sentry to React Native, install @sentry/react-native, or configure error monitoring for React Native or Expo apps.


Sentry React Native Setup

Install and configure Sentry in React Native projects using the official wizard CLI.

Invoke This Skill When

  • User asks to "add Sentry to React Native" or "install Sentry" in a React Native app
  • User wants error monitoring, logging, or tracing in React Native or Expo
  • User mentions "@sentry/react-native" or mobile error tracking
npx @sentry/wizard@latest -i reactNative

What the Wizard Does

Task Description
Install SDK Adds @sentry/react-native package
Metro config Adds @sentry/react-native/metro to metro.config.js
Expo config Adds @sentry/react-native/expo to app.json
Android setup Enables Gradle build step for source maps
iOS setup Wraps Xcode build phase, adds debug symbol upload
Pod install Runs pod install for iOS
Credentials Stores in ios/sentry.properties, android/sentry.properties, .env.local
Init code Configures Sentry in App.tsx or _layout.tsx

Manual Configuration

If not using wizard, add to your app entry point:

import * as Sentry from "@sentry/react-native";

Sentry.init({
  dsn: "YOUR_SENTRY_DSN",
  sendDefaultPii: true,

  // Tracing
  tracesSampleRate: 1.0,

  // Logs
  enableLogs: true,

  // Profiling
  profilesSampleRate: 1.0,

  // Session Replay
  replaysOnErrorSampleRate: 1.0,
  replaysSessionSampleRate: 0.1,
  integrations: [Sentry.mobileReplayIntegration()],
});

Wrap Your App

export default Sentry.wrap(App);

Expo Projects

For Expo, follow the Expo-specific setup:

npx @sentry/wizard@latest -i reactNative

Works for both managed and bare Expo projects.

Configuration Options

Option Description Default
dsn Sentry DSN Required
sendDefaultPii Include user data false
tracesSampleRate % of transactions traced 0
profilesSampleRate % of traces profiled 0
enableLogs Send logs to Sentry false
replaysOnErrorSampleRate % of error sessions replayed 0
replaysSessionSampleRate % of all sessions replayed 0

Files Created/Modified

File Purpose
App.js / _layout.tsx Sentry initialization
metro.config.js Metro bundler config
app.json Expo config (if Expo)
ios/sentry.properties iOS build credentials
android/sentry.properties Android build credentials
.env.local Environment variables

Environment Variables

SENTRY_DSN=https://[email protected]/456
SENTRY_AUTH_TOKEN=sntrys_xxx
SENTRY_ORG=my-org
SENTRY_PROJECT=my-project

Verification

Add test error:

throw new Error("My first Sentry error!");

Or use a test button:

<Button title="Test Sentry" onPress={() => { throw new Error("Test"); }} />

Source Maps

Source maps are automatically uploaded during build when wizard configures:
- Android: Gradle plugin
- iOS: Xcode build phase

Troubleshooting

Issue Solution
Wizard fails Try manual setup, check Node version
iOS build fails Run cd ios && pod install
Source maps not uploading Verify sentry.properties files have auth token
Expo errors Ensure using compatible Expo SDK version
App not wrapped Add export default Sentry.wrap(App)

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.