bharath2020/migration-navigation-expo

Analyse la façon dont un dépôt Expo ou React Native existant gère la navigation et planifie une migration incrémentale vers la navigation Expo SDK 58, Expo Router (React Navigation et react-native-screens) et/ou @expo/ui (SwiftUI, Jetpack Compose), derrière un feature flag ou sans, avec une sortie propre. Inclut un catalogue de patterns de navigation avec statut vérifié et lacunes connues.

Qu'est-ce que migration-navigation-expo ?

Cette compétence est conçue pour les développeurs travaillant avec des applications Expo ou React Native qui doivent migrer leur système de navigation vers une version plus récente et plus native, notamment Expo SDK 58. Elle offre trois fonctionnalités principales : analyser comment la navigation est actuellement implémentée dans un dépôt, planifier une migration vers Expo Router (basé sur React Navigation avec react-native-screens) ou @expo/ui (SwiftUI sur iOS, Jetpack Compose sur Android), et consulter un catalogue de patterns de navigation (stacks, onglets, sidebar, feuilles, modaux, etc.) avec statut vérifié et lacunes documentées. L'outil s'exécute via un script Node.js qui lit le dépôt cible sans le modifier, puis génère des rapports d’analyse et des plans de migration détaillés, incluant la possibilité d’utiliser un feature flag pour une transition progressive. Il prend également en charge le scénario où une application utilise React Navigation sans Expo Router et souhaite plus d’éléments natifs et des deep links stables. Cette compétence est utile pour toute demande d'évaluation ou de planification de la navigation dans un projet Expo ou React Native, ainsi que pour choisir ou implémenter des patterns de navigation spécifiques.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bharath2020/expo-navigation-migration-skill/tree/HEAD/expo-navigation-migration

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Migration de la navigation Expo (SDK 58)

Trois tâches. Choisissez selon la demande ; un plan de migration nécessite les trois dans l'ordre.

DemandeAction
"Comment la navigation est-elle gérée dans ce dépôt ?"Analyser
"Planifier la migration", "Pouvons-nous flaguer cela ?", "React Navigation ou @expo/ui ?"Analyser, puis Planifier
"Nous sommes sur React Navigation et voulons plus d'éléments natifs et une bibliothèque stable pour la navigation et les deep links"Analyser, puis Planifier, avec le scénario React Navigation existant
"Comment construire une sidebar / feuille / mise en page Duo ?", "Est-ce que X fonctionne ?"Consulter le catalogue

Noms cibles utilisés tout au long :

  • React Navigation signifie Expo Router sur react-native-screens. Depuis SDK 56, expo-router ne dépend plus de @react-navigation/* et forke les parties sur lesquelles il s'appuie. SDK 58 a supprimé la majeure partie de cette API forkée.
  • Plain React Navigation signifie @react-navigation/* 7.x sans Expo Router.
  • @expo/ui signifie SwiftUI sur iOS et Jetpack Compose sur Android.

Lisez uniquement le dépôt cible. Cette compétence planifie ; elle ne modifie aucun code d'application sauf demande explicite de l'utilisateur.

Expo change à chaque SDK. Les faits d'API ici ont été vérifiés le 2026-11-02 par rapport à SDK 58. Récupérez https://docs.expo.dev/versions/v58.0.0/ pour toute API que vous êtes sur le point d'utiliser et que le catalogue ne montre pas comme vérifiée.

Analyser

  1. Exécutez node <skill>/scripts/inventory-navigation.mjs <racine-du-depot>. Il lit uniquement et affiche des signaux avec les emplacements path:line. Lorsqu'un signal montre truncated au-dessus de zéro, réexécutez avec --max-locations 200.
  2. Suivez references/analysis.md. Remplissez templates/analysis-report.md.

Fait lorsque chaque ligne du rapport a une valeur avec des preuves, ou indique ce qui a été cherché et non trouvé, et que chaque signal d'inventaire est confirmé ou écarté en lisant son code.

Planifier

Suivez references/migration-planning.md. Il fait référence à :

Remplissez templates/migration-plan.md. Le plan couvre toujours le basculement flagué, le basculement sans flag, les étapes ordonnées dont chacune est livrée et vérifiée seule, et une sortie propre qui supprime tout flag et ce que le plan a remplacé. Il nomme une recommandation avec des raisons issues de ce dépôt. Cette recommandation peut être de conserver le responsable actuel de la navigation ; lorsque seul le SDK bouge, le plan indique qu'il n'y a rien à flaguer et pourquoi.

Consulter un pattern

references/pattern-catalog.md liste chaque scénario et son fichier. Chaque fichier donne du code provenant d'un prototype fonctionnel pour les deux cibles sur iOS et Android, le statut par plateforme, les pièges et les notes de migration. Citez les mots de statut tels qu'écrits : verified signifie testé sur un simulateur ou émulateur, et aucun matériel physique n'a été utilisé.

templates/ contient les fichiers réutilisables : les modules locaux pour les sections de sidebar, le placement de la sidebar et la visibilité de la barre de navigation, la couche d'aide à la navigation, et les composants de charnière et de panneau divisé. Les modules locaux nécessitent une build de développement.

Skills associés