Proactive Reliability for Mobile Apps
Revyl is an AI-powered testing platform for mobile apps. Define tests in natural language, run them on cloud devices, and catch bugs before your users do. It works with iOS and Android, supports Expo / React Native / Flutter / native builds, and integrates with your CI pipeline and AI coding tools.
curl -fsSL https://revyl.com/install.sh | sh # Shell (macOS / Linux)
brew install RevylAI/tap/revyl # Homebrew (macOS)
pipx install revyl # pipx (cross-platform)
uv tool install revyl # uvCreate a free account at app.revyl.ai, then log in via the CLI:
revyl auth login # Browser-based login (stores credentials locally)Or set an API key directly (generate one from your dashboard):
export REVYL_API_KEY=your-api-keycd your-app
revyl doctor # Check CLI, auth, connectivity
revyl auth login # Browser-based login (if not already authed)
revyl init # Guided wizard: build system, apps
revyl skill install --force # Install recommended agent skills
revyl build upload # Build and upload a dev binary
revyl dev # Launch TUI: live device + hot reloadWhen you're ready to run outside the dev loop:
revyl test run login-flow --build # Build, upload, and run in one step
revyl workflow create smoke-tests --tests login-flow,checkout
revyl workflow run smoke-tests # Run the full workflowYAML-first creation can bootstrap local state without a pre-existing .revyl/config.yaml:
revyl test create login-flow --from-file ./login-flow.yaml
revyl test create --from-session <session-id> login-flow --app <app-id>See Creating Tests for the full authoring workflow, YAML examples, module imports, and troubleshooting.
revyl devstarts your local dev server, tunnels it to a cloud device, and installs the latest build automatically. Use--platform androidor--platform iosto pick a platform (defaults to iOS).
Interactive revyl init asks which AI coding tool you use and installs the
recommended Revyl skills for that tool automatically. Use the bundled install
for the recommended workflow bundle, or install a single skill when the agent
should focus on one intent:
revyl skill list
revyl skill install --force # Install recommended skills
revyl skill install --name revyl-cli-dev-loop --force # Dev loop + device exploration
revyl skill install --name revyl-cli-create --force # Stable YAML test authoring
revyl skill install --name revyl-cli-auth-bypass --force # Auth bypass setup
revyl skill install --name revyl-cli-auth-bypass-expo --force # Expo auth bypass leaf
revyl skill install --name revyl-cli-auth-bypass-react-native --force # React Native leaf
revyl skill install --name revyl-cli-auth-bypass-ios --force # Native iOS leaf
revyl skill install --name revyl-cli-auth-bypass-android --force # Native Android leaf
revyl skill install --name revyl-cli-auth-bypass-flutter --force # Flutter leaf
revyl skill install --cursor --force # Force Cursor if auto-detect is ambiguous
revyl skill install --codex --force # Force Codex if auto-detect is ambiguous
revyl skill install --claude --force # Force Claude Code if auto-detect is ambiguous
revyl skill install --global --force # Install for all projects
revyl skill show --name revyl-cli-dev-loop
revyl skill export --name revyl-cli-create -o SKILL.mdUse revyl-cli-dev-loop when you want the agent to start or attach to a generic
Revyl dev loop, interact with the device, and verify with screenshots or
reports. Use revyl-cli-create when you want the agent to author or refine a
stable Revyl YAML test, validate it, push it, run it, and iterate from reports.
Use revyl-cli-auth-bypass when the agent should set up test-only auth bypass
and choose the platform recipe after inspecting the app. Use
revyl-cli-auth-bypass-* leaf skills only when the app stack is already known
or after the parent skill delegates to the matching recipe.
Example prompts:
Use the revyl-cli-dev-loop skill. Detect the app stack, start or attach to the Revyl dev loop, keep it running after Dev loop ready, and verify with revyl device screenshot before changing strategy.
Use the revyl-cli-create skill. Create a checkout smoke test from this flow, validate it, push it, and run it once.
Use the revyl-cli-auth-bypass skill. Set up test-only auth bypass for this app and verify valid and rejected links on a Revyl device.
| Feature | Command | Docs |
|---|---|---|
| Run tests | revyl test run <name> |
Commands |
| Run workflows | revyl workflow run <name> |
Commands |
| Cloud devices | revyl device start |
Commands |
| Dev loop (Expo) | revyl dev |
Commands |
| Build and upload | revyl build upload |
Commands |
| CI/CD | GitHub Actions | CI/CD |
| Device SDK | pip install revyl[sdk] |
Device SDK |
| Agent skills | revyl skill install |
Skills |
- Command Reference -- full list of every command and flag
- Creating Tests -- YAML-first workflows, modules, and troubleshooting
- Configuration --
.revyl/config.yamlreference - Agent Skills -- embedded skills for device loops and test creation
- Device SDK -- Programmatic device control
- CI/CD -- GitHub Actions integration
- Development -- internal dev workflow, hot reload,
--devmode - Releasing -- version bumping, release pipeline
- Public Docs -- full documentation site
Xcode / Command Line Tools errors during brew upgrade revyl
softwareupdate --all --install --force
sudo xcode-select -s /Library/Developer/CommandLineTools
brew upgrade revylIf softwareupdate does not install Command Line Tools, reinstall them:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --installIf you use full Xcode builds, install the latest Xcode version from the App Store and then run:
sudo xcode-select -s /Applications/Xcode.app/Contents/DeveloperHomebrew directory ownership errors
sudo chown -R "$(whoami)" /opt/homebrew /Users/"$(whoami)"/Library/Caches/Homebrew /Users/"$(whoami)"/Library/Logs/Homebrew
chmod -R u+w /opt/homebrew /Users/"$(whoami)"/Library/Caches/Homebrew /Users/"$(whoami)"/Library/Logs/HomebrewMIT
