Skip to content

Make local iOS simulator development reliable - #197

Open
cameronapak wants to merge 4 commits into
mainfrom
chore/reliable-ios-dev
Open

cameronapak wants to merge 4 commits into
mainfrom
chore/reliable-ios-dev

Conversation

@cameronapak

@cameronapak cameronapak commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

What

  • Add one-command iOS launch, clean recovery, and environment diagnostics
  • Isolate Metro ports and caches across worktrees
  • Document the workflow and test its selection, port, and URL behavior in CI

Why

Local upgrades and concurrent checkouts could leave agents connected to the wrong Metro server or stale generated state.

Impact

Developers and agents can run pnpm dev:ios, diagnose with pnpm doctor:ios, and recover with pnpm dev:ios:clean.

Verified

RetriggerConfidence Score: 5/5

The PR appears safe to merge.

Summary

The PR adds a worktree-isolated iOS simulator workflow with launch, clean-recovery, and diagnostic commands.

  • Selects an available iPhone simulator and unused Metro port.
  • Isolates Metro temporary state and connects the development client to the selected server.
  • Adds environment diagnostics, automated tests, CI coverage, and contributor documentation.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[pnpm dev:ios] --> B[Discover available iPhones]
  B --> C[Boot selected simulator]
  C --> D{Clean mode?}
  D -- Yes --> E[Regenerate native iOS project]
  D -- No --> F[Select unused Metro port]
  E --> F
  F --> G[Start worktree-isolated Metro]
  G --> H[Build and install development client]
  H --> I[Open client with selected Metro URL]
  J[pnpm doctor:ios] --> K[Check toolchain, app key, simulators, and Metro ports]
Loading

Reviews (4) · Last reviewed commit: "fix: improve iOS doctor diagnostics"

@cameronapak cameronapak self-assigned this Sep 17, 2026
Comment thread scripts/ios-dev.mjs
Comment thread scripts/ios-dev.mjs Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant