Dev Loop Guide
revyl dev gives you a live cloud device connected to your local dev server. Change code locally, see it on the device instantly, and convert successful flows into regression tests.
Prerequisites
- Revyl CLI installed and authenticated (
revyl auth login) - An Expo or React Native project with a dev client build
Step 1: Configure hot reload
revyl init --provider expo. This updates .revyl/config.yaml with the hot reload settings.
Expo configuration
React Native (bare) configuration
Step 2: Upload a dev build
Upload a development client build for the branch you’re working on:revyl dev automatically picks the build that matches your current git branch. If no match is found, it falls back to the latest available build.
Step 3: Start the dev loop
- Starts your local dev server (Expo via
npx expo start --dev-client, or Metro vianpx react-native start) - Creates a Cloudflare tunnel to expose it to cloud devices
- Installs the dev client build on a cloud device
- Opens the device session in your browser
Platform and build overrides
Step 4: Run tests in dev mode
While the dev loop is active, run existing tests against your local code:Step 5: Create tests from the dev loop
After verifying a flow manually, convert it to a regression test:Step 6: Promote to regression
Once the test is stable, push and run it outside dev mode:New branch workflow
When you create a new branch and wantrevyl dev to use that branch’s build:
When do you need a new build?
- Expo / React Native: Only when native dependencies change (new native modules, Podfile changes, Gradle dependency changes). JS/TS changes are served live via the tunnel.
- Swift / Kotlin (native): Every code change requires a new build.
Team sharing
All developers push builds to a shared app container (theapp_id in config). Each developer gets their own cloud device session, tunnel, and local server. For JS projects, multiple developers can share the same dev build and still see their own code changes.
What’s Next
- Dev Setup Guide — provider configuration details
- Device Scripting — Python SDK for programmatic device control
- Agent Journeys — AI agent workflows with dev loop