CommunityCodierung & Entwicklunggithub.com

react-native-brownfield-migration

Implementiert eine akzeptierte inkrementelle Brownfield-Migration von nativen iOS/Android-Apps zu React Native oder Expo unter Verwendung von @callstack/react-native-brownfield.

Was ist react-native-brownfield-migration?

Dieses Skill beschreibt einen schrittweisen, bewährten Workflow für die inkrementelle Integration von React Native in bestehende native iOS- oder Android-Apps mit dem Paket `@callstack/react-native-brownfield`. Es unterstützt sowohl den Expo- als auch den Bare-React-Native-Pfad und führt durch die gesamte Migration: von der initialen Einrichtung, über die Paketierung von React Native als `XCFramework` (iOS) oder `AAR` (Android), bis zur schrittweisen Integration einzelner RN-Oberflächen in die Host-App. Der Skill setzt voraus, dass die Entscheidung für den Brownfield-Ansatz bereits gefallen ist – die vorherige Entscheidungsfindung erfolgt mit dem Skill `assess-react-native-migration`. Er enthält genaue Anweisungen zur Pfadauswahl (Expo vs. Bare), zur Nutzung der CLI, zum Schreiben stabiler Konfigurationen in `brownfield.config.*` und zur Validierung jedes Schritts. Zusätzlich werden Sicherheitsrichtlinien (Agent Guardrails) definiert, etwa die Verwendung von Platzhaltern aus den Dokumenten, das Ausführen von `npx brownfield <command> --help` vor dem Vertrauen auf Flag-Tabellen und die Isolierung der Host-Apps von direkten React-Native-APIs (Fassaden-Ansatz). Die Referenz wird durch eine Reihe von detaillierten Markdown-Dokumenten (z. B. für Expo, Bare, CLI, Runtime-API) ergänzt, die je nach Aufgabe ausgewählt werden. Außerdem wird die Verwendung von `agent-device` für die Laufzeitverifikation empfohlen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/callstackincubator/agent-skills/tree/main/skills/react-native-brownfield-migration

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Migration zu React Native

Verwende dieses Skill nur, nachdem die Entscheidung für den Brownfield-Migrationsansatz gefallen ist. Wenn der Benutzer noch zwischen Brownfield, Greenfield, einem checkpoint-basierten Pfad, einem Aufschub oder keiner Migration wählt, verwende zuerst assess-react-native-migration.

Überblick

Vorschreibender Workflow für die inkrementelle Einführung von React Native in bestehenden nativen Apps unter Verwendung von @callstack/react-native-brownfield, von der initialen Einrichtung bis zur schrittweisen Host-Integration.

  • Expo-Pfad
  • Bare-React-Native-Pfad

Verwende pro Aufgabe einen Pfad, es sei denn, der Benutzer fragt explizit nach Migration oder Vergleich.

Migrationsstrategie

Verwende diese Strategie für die Planung und Durchführung der Brownfield-Migration:

  1. Beurteile den App-Zustand und wähle den Expo- oder Bare-Pfad aus.
  2. Führe die initiale Einrichtung mit @callstack/react-native-brownfield durch.
  3. Paketiere RN-Artefakte (XCFramework/AAR) aus der RN-Quell-App.
  4. Integriere eine RN-Oberfläche in die Host-App und validiere den Start/Laufzeit.
  5. Wiederhole die Integration pro Feature/Bildschirm für eine schrittweise Auslieferung.

Agent-Begrenzungen (Global)

Wende diese Regeln auf alle Referenzdateien an:

  1. Wähle zuerst einen Pfad (Expo oder Bare) und vermische keine Schritte.
  2. Verwende Platzhalter aus den Docs (<framework_target_name>, <android_module_name>, <registered_module_name>) und ersetze sie durch Projektdateien.
  3. Validiere jeden Paketierungsbefehl, bevor du zur Host-Integration übergehst.
  4. Führe npx brownfield <command> --help aus, bevor du dich auf eine Flag-Tabelle in diesen Referenzen verlässt; die Hilfeausgabe hat Vorrang.
  5. Schreibe stabile Projekteinstellungen einmal in brownfield.config.*, anstatt Flags zu wiederholen – siehe cli-and-config.md.
  6. Bevorzuge die offiziellen Docs für lange Plattform-Ausschnitte und CLI-Optionsdetails.
  7. Halte Host-Apps nach Möglichkeit von direkten React Native APIs fern (Fassaden-Ansatz).
  8. Verwende für Start-/Laufzeitverifikation agent-device, um die Host-App zu öffnen, zur RN-Oberfläche zu navigieren, Snapshots/Screenshots zu machen und Gerätebeweise zu sammeln. Falls es fehlt und die Verifikation es benötigt, installiere es über den genehmigten/vertrauenswürdigen Pfad der Umgebung oder bitte den Benutzer, es zu installieren oder zu aktivieren.

Kanonische Docs

Pfadauswahl-Gate (Muss zuerst ausgeführt werden)

Bevor du eine Referenzdatei auswählst, klassifiziere das Projekt:

  1. Wenn noch keine React Native App existiert, verwende den Expo-Erstellungspfad:
  2. Wenn eine React Native App existiert, überprüfe package.json und app.json:
    • Expo, wenn expo vorhanden ist oder der Expo-Plugin-Workflow angefordert wird.
    • Bare RN, wenn native Ordner und direkter RN-CLI-Workflow ohne Expo-Pfad-Anforderungen verwendet werden.
  3. Falls immer noch unklar, stelle eine einzige Abgrenzungsfrage.
  4. Fahre mit genau einem Pfad fort.

Wann anzuwenden

Referenziere dieses Paket bei:

  • Implementierung einer akzeptierten inkrementellen Migration von rein nativen Apps zu React Native oder Expo
  • Erstellung von Brownfield-Integrationsflüssen für Expo- oder Bare-React-Native-Projekte
  • Durchführung der initialen Einrichtung mit @callstack/react-native-brownfield
  • Generierung von iOS XCFramework-Artefakten aus einer React Native App
  • Generierung und Veröffentlichung von Android AAR-Artefakten aus einer React Native App
  • Integration der generierten Artefakte in Host-iOS/Android-Apps

Kurzreferenz

DateiBeschreibung
quick-start.mdGemeinsamer Preflight und obligatorisches Pfadauswahl-Gate
cli-and-config.mdCLI-Befehle, vollständige Flag-Sets, Konfigurationsdatei, Artefakt-Layout, Codegen-Seiteneffekte
runtime-api.mdHost <-> RN API-Oberfläche (JS, Swift, Kotlin) und Referenz-Apps
expo-create-app.mdGerüst einer neuen Expo-App vor der Expo-Brownfield-Einrichtung
expo-quick-start.mdExpo-Plugin-Setup und Paketierungsbereitschaft
expo-ios-integration.mdExpo iOS Paketierung und Host-Start-Integration
expo-android-integration.mdExpo Android Paketierung, Veröffentlichung und Host-Integration
bare-quick-start.mdBare React Native Basis-Setup
bare-ios-xcframework-generation.mdBare iOS XCFramework-Generierung
bare-android-aar-generation.mdBare Android AAR-Generierung und Veröffentlichung
bare-ios-native-integration.mdBare iOS Host-Integration
bare-android-native-integration.mdBare Android Host-Integration

Problem -> Skill-Zuordnung

ProblemBeginne mit
Zuerst Entscheidung über Migrationspfad benötigtassess-react-native-migration
Entscheidung über Expo- vs. Bare-Pfad benötigtquick-start.md
CLI-Flag, Konfigurationsdatei-Form oder Artefakt-Pfade benötigtcli-and-config.md
Host <-> RN API-Name, Signatur oder funktionierende Beispiel-App benötigtruntime-api.md
Gemeinsamer Zustand zwischen Host und RN oder typisierte RN -> native Navigation benötigtbrownie / brownfield-navigation Skills
Neue Expo-App für Brownfield erstellenexpo-create-app.md
Expo-Brownfield-Setup und Plugin-Verkabelungexpo-quick-start.md
Expo iOS Brownfield-Integrationexpo-ios-integration.md
Expo Android Brownfield-Integrationexpo-android-integration.md
Bare RN Basis-Setupbare-quick-start.md
Bare RN iOS XCFramework-Generierungbare-ios-xcframework-generation.md
Bare RN Android AAR-Generierung/Veröffentlichungbare-android-aar-generation.md
Bare RN iOS Host-Integrationbare-ios-native-integration.md
Bare RN Android Host-Integrationbare-android-native-integration.md

Verwandte Skills

  • Assess React Native Migration vor der Auswahl des Migrationspfads.
  • brownie (gemeinsamer Host <-> RN Zustand) und brownfield-navigation (typisierte RN -> native Navigation) werden aus einem anderen Repository ausgeliefert: rufe sie beim Namen auf, und falle auf die kanonischen Docs zurück, falls sie nicht installiert sind.

Individual skills in this repo

This repo contains 15 individual skills — each has its own dedicated page.

agent-device

Automates interactions for Apple-platform apps (iOS, tvOS, macOS) and Android devices. Use when navigating apps, taking snapshots/screenshots, tapping, typing, scrolling, or extracting UI info across mobile, TV, and desktop targets.

assess-react-native-migration

Assesses whether and how an existing mobile product should migrate to React Native. Use when auditing one or more product repositories for migration readiness, including products whose iOS, Android, and other clients live in separate directories or repositories; choosing brownfield, greenfield, or a checkpoint-based path; defining a representative trial; or preparing a baseline and ROI decision before implementation. When product scope or material evidence is unavailable, grills the stakeholder with exactly one question per turn instead of sending a questionnaire.

callstackincubator/github

GitHub patterns using gh CLI for pull requests, stacked PRs, code review, branching strategies, and repository automation. Use when working with GitHub PRs, merging strategies, or repository management tasks.

callstackincubator/validate-skills

Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command.

create-react-native-library

Scaffolds React Native libraries with create-react-native-library for standalone libraries or local native modules and views. Use when creating or working on React Native libraries or adding native functionality in an existing app.

dogfood

Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", or "test this app" on mobile. Produces a structured report with reproducible evidence: screenshots, optional repro videos, and detailed steps for every issue.

github-actions

GitHub Actions workflow patterns for React Native iOS simulator and Android emulator cloud builds with downloadable artifacts. Use when setting up CI build pipelines or downloading GitHub Actions artifacts via gh CLI and GitHub API.

react-native-best-practices

Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Applies to tasks involving Hermes optimization, JS thread blocking, bridge overhead, FlashList, native modules, or debugging jank and frame drops.

react-native-testing

Write tests using React Native Testing Library (RNTL) v13 and v14 (`@testing-library/react-native`). Use when writing, reviewing, or fixing React Native component tests. Covers: render, screen, queries (getBy/getAllBy/queryBy/findBy), Jest matchers, userEvent, fireEvent, waitFor, and async patterns. Supports v13 (React 18, sync render) and v14 (React 19+, async render). Triggers on: test files for React Native components, RNTL imports, mentions of "testing library", "write tests", "component tests", or "RNTL".

react-native-tv-best-practices

Reviews React Native TV apps for focus/D-pad navigation, 10-foot UI layout, TV playback/DRM integration, low-memory TV performance, and TV accessibility. Use when building, debugging, or reviewing react-native-tvos, Expo TV, Amazon Vega/Kepler, or React Native web TV targets where the issue depends on remote input, TV focus, TV packaging, TV hardware, or TV playback constraints.

react-navigation

Provides React Navigation UI patterns for stacks, tabs, drawers etc. Use when building navigation UIs with React Navigation, configuring headers, bottom sheets or handling safe areas and insets.

upgrading-react-native

Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and Gradle changes, and handling breaking API updates. Use when upgrading React Native, bumping RN version, updating from RN 0.x to 0.y, or migrating Expo SDK alongside a React Native upgrade.

validate-skills

Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command.

vercel-react-native-skills

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

writing-user-docs

House style for user-facing documentation — voice, scope, structure, and what to leave out. Use this skill whenever writing, editing, or reviewing anything a user reads to learn how to use a tool — help center articles, getting-started guides, tutorials, feature docs, README usage sections, in-app help, release notes, or FAQ entries. Trigger it even when the request is phrased plainly — "document this feature", "write docs for X", "explain this to users", "write a README for this library", "turn these notes into a guide" — and even when no style guidelines are mentioned. Also use it to review existing docs for tone, bloat, or leaked implementation detail. Do not use it for internal engineering docs, architecture write-ups, RFCs, or code comments.

Verwandte Skills