installing-mobile-preview-builds
Install Mobile Preview Build (iOS)
Use this skill to create a fresh local preview iOS build and install it on a connected iPhone.
Inputs
- Optional
$ARGUMENTS: device identifier (UDID or exact device name). - If no argument is provided, auto-select the first paired iPhone from
xcrun devicectl list devices.
Workflow
-
Validate repo and tooling.
- Run from repo root and ensure
apps/mobileexists. - Verify
pnpm,xcrun,xcodebuild, andeas-cliare available. - Verify EAS login:
cd apps/mobile pnpm dlx eas-cli whoami
- Run from repo root and ensure
-
Resolve target device.
- List paired devices:
xcrun devicectl list devices - Choose device in this order:
$ARGUMENTSif provided and matches exactly one device.- Otherwise, first paired iPhone.
- List paired devices:
-
Trigger local
previewiOS build.mkdir -p .context/preview-install cd apps/mobile pnpm dlx eas-cli build -p ios --profile preview --non-interactive --local --output=./build-preview.ipa cd ../.. cp apps/mobile/build-preview.ipa .context/preview-install/folo-preview.ipa -
Install to device locally.
unzip -q -o .context/preview-install/folo-preview.ipa -d .context/preview-install/unpacked APP_PATH=$(find .context/preview-install/unpacked/Payload -maxdepth 1 -name '*.app' -type d | head -n 1) xcrun devicectl device install app --device "<device-id>" "$APP_PATH" -
Try launching app.
xcrun devicectl device process launch --device "<device-id>" is.follow --activate- If launch fails due to locked device, instruct the user to unlock iPhone and open
Folomanually.
- If launch fails due to locked device, instruct the user to unlock iPhone and open
Failure Handling
- If local build fails, report:
- build mode (
local) - failing command
- key error message from command output
- build mode (
- If app config fails with
Assets source directory not found ... /out/rn-web, prebuild assets then retry once:pnpm --filter @follow/rn-micro-web-app build --outDir out/rn-web/html-renderer
Output Format
Always return:
- Build mode (
local) and final status. - Local IPA path.
- Target device identifier.
- Install result (
installedorfailed) and launch result. - Next action for the user if manual action is required.
More from rssnext/folo
update-deps
Update all dependencies across frontend and backend projects. Reads changelogs for breaking changes, checks affected code, runs tests, and provides a summary. Use when updating npm dependencies across the monorepo.
19mobile-self-test
Self-test a mobile feature change or bug fix after implementation in `apps/mobile`. Use this whenever the user asks to verify a mobile change, run simulator acceptance, smoke-test a mobile PR, or provide screenshot proof for a mobile fix. This skill decides between prod vs local API mode, starts the local follow-server when needed, builds a release app, uses Maestro only to bootstrap registration for non-auth work, then switches to screenshot-driven visual validation and returns screenshot evidence.
4desktop-release
Perform a regular desktop release from the dev branch. Gather changes since the last desktop tag, update the changelog, choose the desktop release mode in release-plan.json, bump the version, and prepare the release PR.
3mobile-release
Use when preparing a mobile release from the dev branch and deciding whether changes should ship through the app stores or through the OTA pipeline before creating the release PR to mobile-main.
3mobile-e2e
Run apps/mobile Maestro end-to-end tests in this repo. Use when an agent needs to validate mobile auth flows on iOS Simulator or Android Emulator. Current maintained coverage is register, sign out, and sign in.
3