VibeView CLI
Command-line interface for VibeView — cloud iOS simulators and Android emulators in your browser. Upload builds, run AI-powered tests from CI, and develop your React Native app live on a cloud device.
Install
npm install -g vibeview
Requires Node.js 20 or later.
Log in
vibeview login
Opens your browser to authenticate. In CI, set a VIBEVIEW_API_TOKEN environment variable instead (create one in VibeView under Settings → API Tokens).
Live Development
Edit code locally, see it live on a streamed cloud device — including iOS development without a Mac.
vibeview upload-app ./app-debug.apk
vibeview dev
vibeview dev starts a cloud device session, installs your latest debug build, connects it to your local Metro bundler, and opens the live stream in your browser. Save a file and Fast Refresh updates the device in about a second. Supports --platform ios | android | tvos | androidtv; your choices are remembered per platform in a vibeview.json in the project.
Live Development docs →
Cloud Builds (beta)
Build your React Native app on VibeView's build fleet — no Mac, no CI
pipeline, no local toolchain:
vibeview build --cloud
vibeview build --cloud --production
A regular cloud build lands in your app's Build History, ready to run on a
cloud device. Add --production for a signed release build on iOS,
tvOS, Android, or Android TV, using signing credentials you store once:
vibeview credentials asc-key add --key-id <K> --issuer-id <I> --file AuthKey_<K>.p8
vibeview credentials generate --platform ios --name release --app <app-id>
vibeview credentials add --platform ios --file cert.p12 --profile app.mobileprovision
vibeview credentials generate --platform android --name release
Uploaded credentials are stored encrypted and never readable back;
credentials VibeView generated can be re-downloaded by org admins with
vibeview credentials download <name> (every download is audited).
Build-time secrets work the same way:
vibeview env set NPM_TOKEN "..."
vibeview webhooks add --url https://ci.example.com/hooks/vibeview
Webhooks POST a signed payload to your endpoint whenever a build finishes.
Manage running builds with vibeview builds list | logs | download | cancel.
Set "autoIncrement": true in a platform's build block and every
production build gets a server-assigned build number, injected into the
build as VIBEVIEW_BUILD_NUMBER (inspect or seed the counters with
vibeview versions list/set).
Expo managed projects work out of the box — the default build command runs
npx expo prebuild in the cloud, so no ios/ or android/ directory is
needed.
When a production build succeeds, ship it straight to the stores — no
Xcode, no Play Console upload page:
vibeview submit --platform tvos --latest
vibeview submit --platform android --track internal
TestFlight uploads use your stored App Store Connect key; Play uploads need
a Google Play service account key stored once with
vibeview credentials play-key add --file service-account.json. Choose a
Play track, upload as a draft, or start a staged rollout — and store your
defaults in vibeview.json so vibeview submit alone does the right
thing.
Cloud Builds docs → ·
App Signing → ·
Store Submission → ·
Build Webhooks →
Let your AI agent drive the device
The same session can be driven by a coding agent, so it can verify its own
changes instead of handing you code to test by hand: it reads the screen,
taps, types, and checks the result.
vibeview ui-tree
vibeview tap @e5
vibeview screenshot --out ./check.png
One command makes it discoverable to your agent — it installs the bundled
vibeview-agent skill where Claude Code finds it automatically and offers
to register the MCP server:
vibeview agent-setup
Every command works over MCP too, for agents without shell access:
claude mcp add vibeview -- vibeview mcp
Other MCP clients (Cursor, Claude Desktop, VS Code Copilot) run command
vibeview with args ["mcp"]. The package also ships the skill at
skills/vibeview-agent/SKILL.md describing the whole workflow.
Agent control docs →
Testing from CI
vibeview upload-app ./MyApp.zip
vibeview run-test <test-id> --output json
vibeview run-suite <suite-id> --output junit
vibeview run-suites --tag smoke
Output formats: human, json, and junit for any CI system. The exit code reflects pass/fail, and runs can be pinned to a specific build.
CI testing docs →
All commands
vibeview login / logout / whoami | Authenticate via browser, sign out, show who you are |
vibeview dev | Live development on a cloud device |
vibeview build | Build your app — locally, or on the build fleet with --cloud (add --production for a signed release) |
vibeview builds list/logs/download/cancel/delete-artifact | Manage cloud builds and their artifacts |
vibeview versions list/set | Server-side build-number counters for autoIncrement production builds |
vibeview credentials add/generate/list/rm/download | App-signing credentials for production builds (generate covers iOS, tvOS, and Android) |
vibeview credentials asc-key add/list/rm | Connect an Apple team via App Store Connect API key |
vibeview credentials play-key add/list/rm | Store a Google Play service-account key for Play submissions |
vibeview submit | Upload a production build to TestFlight or a Google Play track |
vibeview env list/set/rm/pull | Build variables and secrets injected into cloud builds |
vibeview webhooks add/list/rm/test | Notify your systems when builds finish (signed payloads) |
vibeview dev-status / dev-stop | Check on, or stop, a backgrounded dev session |
vibeview stop <session-id> | Stop any session by id (API, sandbox, collaboration link) |
vibeview agent-setup | Make VibeView discoverable to your coding agent (skill + MCP) |
vibeview mcp | Run the MCP server so an agent can drive the device |
vibeview ui-tree | The current screen's elements, each with a ref to act on |
vibeview logs | Recent app logs from the device (console output, errors, crashes) |
vibeview screenshot | Capture the screen to a PNG |
vibeview tap / type / scroll / press | Drive the device |
vibeview scroll-to / drag / alert / find | Search, precise gestures, iOS system alerts |
vibeview upload-app <file> | Upload a build (zipped simulator .app, or .apk) |
vibeview list-apps | List your apps |
vibeview list-builds <app> | List an app's uploaded builds (ids for dev --build <id>, run-test --build) |
vibeview list-devices | List available device types |
vibeview list-suites | List test suites |
vibeview create-test [name] | Create a test case |
vibeview run-test <test-id> | Run a single test |
vibeview run-suite <suite-id> | Run a test suite |
vibeview run-suites | Run multiple suites |
Run any command with --help for its options.
Documentation
Full guides at vibeview.io/docs — CLI reference, Live Development, CI testing.