MCPcopy Index your code
hub / github.com/RevylAI/revyl-cli

github.com/RevylAI/revyl-cli @v0.1.45

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.45 ↗ · + Follow
6,368 symbols 22,502 edges 342 files 3,652 documented · 57%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Revyl

Revyl

Proactive Reliability for Mobile Apps

Version License: MIT Homebrew PyPI


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.

Install

sh

curl -fsSL https://revyl.com/install.sh | sh

Homebrew (macOS)

brew install RevylAI/tap/revyl

pipx (cross-platform)

pipx install revyl

uv

uv tool install revyl

Authenticate

Create 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-key

Quick Start

cd 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                             # Build and upload a dev binary
revyl dev                               # Launch TUI: live device + hot reload

When 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 workflow

YAML-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 dev starts your local dev server, tunnels it to a cloud device, and installs the latest build automatically. Use --platform android or --platform ios to pick a platform (defaults to iOS).

Agent Skills

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.md

Use 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.

What You Can Do

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 Commands
CI/CD GitHub Actions CI/CD
Device SDK pip install revyl[sdk] Device SDK
Agent skills revyl skill install Skills

Documentation

Troubleshooting

Xcode / Command Line Tools errors during brew upgrade revyl

softwareupdate --all --install --force
sudo xcode-select -s /Library/Developer/CommandLineTools
brew upgrade revyl

If softwareupdate does not install Command Line Tools, reinstall them:

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

If 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/Developer

Homebrew 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/Homebrew

License

MIT

Extension points exported contracts — how you extend this code

TunnelBackend (Interface)
TunnelBackend abstracts the network transport that exposes a local port to cloud devices. [6 implementers]
internal/hotreload/tunnel.go
ResolverClient (Interface)
ResolverClient describes the API surface required for build selection. [2 implementers]
internal/buildselection/resolve.go
WorkerTransport (Interface)
WorkerTransport abstracts how the CLI delivers binary artifacts and install commands to a worker. Today the only impleme [2 …
internal/devpush/transport.go
ArtifactResolver (Interface)
ArtifactResolver resolves app and build metadata needed to provision a device. [2 implementers]
internal/device/start.go
Client (Interface)
Client is the subset of the API client required for workflow reference resolution. [2 implementers]
internal/workflowref/resolver.go
Option (FuncType)
Option configures a Client.
pkg/revyl/client.go
StepIndexer (Interface)
StepIndexer maps step_ids back to their 1-indexed execution_order. Implementations come from the Report (authoritative v
internal/runinspect/walk.go
ServerOption (FuncType)
ServerOption is a functional option for NewServer.
internal/mcp/server.go

Core symbols most depended-on inside this repo

Render
called by 1086
internal/ui/messages.go
PrintInfo
called by 668
internal/ui/messages.go
PrintDim
called by 526
internal/ui/messages.go
Println
called by 485
internal/ui/messages.go
PrintError
called by 399
internal/ui/messages.go
String
called by 364
internal/tui/hub.go
Write
called by 294
internal/tui/hub.go
PrintWarning
called by 259
internal/ui/messages.go

Shape

Function 3,184
Struct 1,571
Method 1,446
TypeAlias 108
Class 23
Interface 20
FuncType 14
Route 2

Languages

Go95%
Python5%
TypeScript1%

Modules by API surface

internal/api/generated.go1,098 symbols
internal/api/client.go370 symbols
internal/mcp/server.go193 symbols
internal/mcp/device_tools.go130 symbols
internal/tui/hub.go109 symbols
cmd/revyl/atlas.go98 symbols
cmd/revyl/init.go96 symbols
internal/hotreload/manager_test.go94 symbols
cmd/revyl/dev.go92 symbols
internal/mcp/device_session.go90 symbols
python/revyl/sdk.py85 symbols
internal/tui/common.go82 symbols

For agents

$ claude mcp add revyl-cli \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact