Was macht Codex Phone Lab?
Verwende dieses Skill, um eine Produktanfrage in eine React Native/Expo-App umzuwandeln, die der Benutzer mit Expo Go auf einem physischen Telefon öffnen kann. Optimiere auf eine schnelle „Aufforderung → App → Telefon“-Schleife, bevor du Simulator, native Builds, TestFlight oder App-Store-Vertrieb in Betracht ziehst.
Betriebsmodell
Bevorzuge diesen Pfad, es sei denn, der Benutzer benötigt explizit native iOS/Android-Module:
- Überprüfe die lokalen Voraussetzungen mit
scripts/doctor.sh. - Falls kein mobiles Projekt existiert, erstelle eine Expo-App mit
scripts/new-expo-app.sh <app-name>. Dies verwendet standardmäßigexpo-template-default@sdk-54, damit es in der aktuellen, von diesem Workflow verwendeten Expo Go-Version geöffnet werden kann. - Erstelle schnell den ersten nutzbaren Bildschirm; erstelle keine Landing Page.
- Starte die Telefonvorschau mit
scripts/start-phone-preview.sh [lan|tunnel|local]. - Lasse den Entwicklungsserver während der Bearbeitung laufen. Verwende Metro/Expo-Logs, um Laufzeitfehler zu beheben.
- Sage dem Benutzer, er solle Expo Go installieren, den QR-Code scannen und das Telefon für den LAN-Modus im selben Netzwerk halten.
- Iteriere mit kleinen sichtbaren Änderungen: bearbeiten, Logs beobachten, neu laden, beheben.
Projekterkennung
Bevor du eine neue App erstellst, überprüfe das aktuelle Verzeichnis:
package.jsonmitexpo-Abhängigkeit: behandle als bestehende Expo-App.app.json,app.config.*,app/oderexpo-router: behandle als Expo-App, auch wenn Abhängigkeiten installiert werden müssen.ios/undandroid/ohne Expo: frage nur, ob der Benutzer eine Expo-Migration wünscht; ansonsten behalte den bestehenden Stack bei.- Leeres Verzeichnis: erstelle eine neue Expo-App mit der SDK-54-Vorlage.
Telefonvorschau
Verwende Expo Go für die erste „Wow“-Demo, da es den App Store/TestFlight-Aufwand vermeidet.
Verwende standardmäßig SDK 54. Das aktuelle Expo Go in diesem Workflow lehnt SDK-55-Projekte mit „Projekt ist mit dieser Version von Expo Go inkompatibel“ ab. Überschreibe nur, wenn bekannt ist, dass das Expo Go des Benutzers ein neueres SDK unterstützt:
CODEX_PHONE_LAB_EXPO_TEMPLATE=expo-template-default@sdk-55 <skill-verzeichnis>/scripts/new-expo-app.sh meine-app
Ausführen:
<skill-verzeichnis>/scripts/start-phone-preview.sh lan
Verwende tunnel, wenn das Telefon nicht im selben WLAN ist oder der LAN-Modus keine Verbindung herstellen kann. Der Tunnel-Modus kann Expo auffordern, eine Tunneling-Abhängigkeit zu installieren.
Der Arbeitsablauf für den Benutzer:
- Installiere Expo Go auf dem Telefon.
- Führe den Vorschau-Befehl aus.
- Scanne den QR-Code mit Expo Go oder der Telefonkamera.
- Lasse das Terminal geöffnet; Änderungen an der App werden live aktualisiert.
Anleitung zum App-Bau
Lasse den ersten Bildschirm wie eine echte App wirken:
- Verwende Safe Areas und mobile Layouts.
- Baue echte Interaktionen: Formulare, Listen, Navigation, Schalter, Timer, Mock-Daten oder Zustand.
- Füge Lade-, Leer- und Fehlerzustände hinzu, wenn der Workflow sie impliziert.
- Halte die Typografie kompakt genug für Mobilgeräte.
- Vermeide Web-Landing-Page-Muster, überdimensionierte Hero-Sektionen, verschachtelte Karten und erklärenden Text in der App.
- Bevorzuge Expo Router für Apps mit mehreren Bildschirmen, wenn die Vorlage ihn bereits enthält.
Vertriebsentscheidung
Wähle den leichtesten Weg, der dem Ziel des Benutzers entspricht:
- Schneller Prototyp auf dem Telefon des Benutzers: Expo Go QR.
- App mit benutzerdefinierten nativen Modulen: Expo-Entwicklungs-Build.
- Beta-Tester auf dem iPhone: TestFlight über EAS/Apple-Entwicklerkonto.
- Öffentliche Veröffentlichung: App Store / Play Store-Einreichung.
Impliziere nicht, dass Expo Go eine Produktionsverteilung ist. Es ist eine Live-Entwicklungsvorschau.
Referenzen
Lies references/expo-phone-workflow.md, wenn du zwischen Expo Go, Entwicklungs-Builds, TestFlight und App-Store-Veröffentlichung entscheiden musst.