Skip to main content
revyl dev is Revyl’s local-first verification loop. It keeps your app in a live, testable state so you can change code, verify behavior, and iterate quickly without rebuilding every time. This page explains the workflow at a high level. For provider setup details, see Hot Reload. For direct device-session control patterns, see Device Automation.

What revyl dev does

At a high level, revyl dev:
  1. Starts your local development server for the active hot reload provider
  2. Exposes that server through a secure tunnel
  3. Resolves and installs a development client build on a cloud device
  4. Prefers the latest build whose metadata branch matches your current git branch
  5. Opens the dev client via deep link so it connects to your local server
  6. Keeps the session running while you code and verify
This gives you a fast inner loop: edit code locally, then immediately verify behavior on a real remote device session. When no branch-matching build exists, Revyl falls back to the latest available build and prints a warning.

Common workflows

1) Manual feature verification

Use this when you want a live device loop while implementing a feature or bug fix.
# Defaults to iOS
revyl dev

# Explicit platform
revyl dev --platform android

2) Fast targeted checks while coding

Use this to run a specific test in dev mode with hot reload defaults.
revyl dev test run login-flow
This is useful for repeated “change -> verify -> fix” cycles on one flow.

3) New branch -> upload -> run revyl dev

Use this when you created a new branch and want the dev loop to use that branch’s latest build.
git checkout -b feature/new-login
revyl build upload --platform ios-dev   # or android-dev
revyl dev --platform ios
Use --build-version-id to pin a specific build:
revyl dev --build-version-id <build-id>

4) Direct artifact upload (no local build command)

Use this when the artifact already exists on disk and you want to upload it directly.
  1. Point .revyl/config.yaml build.platforms.<key>.output at your artifact path.
  2. Upload with --skip-build.
  3. Start the dev loop.
build:
  platforms:
    ios-dev:
      app_id: "<your-app-id>"
      output: "./dist/MyApp.ipa" # or .apk
git checkout -b feature/new-login
revyl build upload --platform ios-dev --skip-build
revyl dev --platform ios
Optional explicit version label:
revyl build upload --platform ios-dev --skip-build --version feature-new-login-20260227-153000
When --version is omitted, revyl build upload uses <branch-slug>-<timestamp> by default.

5) Create or refine tests in the same loop

Use these when building new coverage while implementing features.
revyl dev test create checkout-flow --platform ios
revyl dev test open checkout-flow

Using revyl dev with coding agents

revyl dev works best when the agent follows an explicit device loop:
  1. screenshot first
  2. Briefly describe what is visible
  3. Take one best action (device_tap, device_type, device_swipe, etc.)
  4. screenshot again to verify the result
  5. Repeat until the goal is complete
This keeps verification grounded in actual UI state and avoids blind action sequences.

Prompt template for agents

Use this to enforce good ergonomics:
Use Revyl MCP tools only.
Goal: <describe goal>.
For each step: take a screenshot, state what you see in one short line, take one best action, then take another screenshot to verify.
If the result is unexpected, re-observe before taking another action.
At the end, summarize: final screen, actions taken, and any bugs found.

Re-anchor prompt when the agent drifts

If the agent starts taking blind actions, use:
Pause actions. Re-anchor now:
1) take screenshot,
2) describe current state,
3) choose one action with reason,
4) take screenshot to verify.
Then continue.

From ad hoc verification to reusable tests

Once the ad hoc run is stable, convert it into a test:
revyl test create bypass-login --platform ios
revyl test open bypass-login
revyl test push bypass-login
revyl test run bypass-login
For a full workflow, see Agent Journey: Ad Hoc to Test.

When to use each command

GoalCommand
Start a persistent local verification sessionrevyl dev
Run one test with dev defaultsrevyl dev test run <name-or-id>
Create/edit tests in dev contextrevyl dev test create <name>, revyl dev test open <name>
Direct device actions without hot reloadrevyl device ...
Standard test execution without dev looprevyl test run <name-or-id>

Provider support

revyl dev is designed as a provider-based workflow so multiple app stacks can share the same developer experience. As of February 19, 2026, Expo is the first supported provider. Additional providers are planned.

Quick start

revyl auth login
revyl init
revyl init --hotreload
revyl dev

Next steps