New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

vibeview

Package Overview
Dependencies
Maintainers
1
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vibeview

VibeView CLI -- run your app on cloud iOS simulators, Android emulators, Apple TV, Android TV and Roku devices: a React Native dev loop, device control for you or your coding agent (CLI or MCP), and tests from CI

Source
npmnpm
Version
0.63.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

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.

# 1. Upload a React Native debug build once
vibeview upload-app ./app-debug.apk

# 2. Start Metro in your project, then:
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 →

Roku channels

vibeview dev --platform roku

Streams your Roku channel on a cloud Roku. The first run asks for the command that packages your channel into a zip and the path of that zip (saved to vibeview.json). Press r to re-package, upload and reload the channel into the session you are watching, or pass --watch to reload automatically after you save.

Debug from VS Code

vibeview dev --roku-debug

Run it in your channel project to debug the channel on a VibeView Roku with the BrightScript Language extension for VS Code: breakpoints, stepping, variables and crash stops. It adds a VibeView: debug on Roku configuration to the project's .vscode/launch.json, copying your existing BrightScript configuration's build settings (including packageTask), starts the Roku session and keeps it running. The session waits with nothing running until you start debugging that configuration in VS Code, which packages and installs the channel. Ports 8060, 80, 9801, 9803 and 9805 must be free on your computer.

Debugging from VS Code docs →

Cloud Builds

Build your React Native app on VibeView's build fleet — no Mac, no CI pipeline, no local toolchain:

vibeview build --cloud                  # development build (loads JS from Metro)
vibeview build --cloud --profile preview  # Release build that runs without Metro
vibeview build --cloud --production     # signed release build (.ipa / .aab)

Each command builds a named profile from vibeview.json (development, preview, production, or one of your own; the profiles shape needs CLI 0.51.0 or later):

{
  "platforms": {
    "ios": {
      "build": {
        "profiles": {
          "development": { "command": "...", "artifact": "..." },
          "preview": { "command": "...", "artifact": "..." },
          "production": { "command": "...", "artifact": "...", "autoIncrement": true }
        }
      }
    }
  }
}

A missing profile is asked for once and saved; a React Native or Expo setup that accepts the suggested command also saves preview. A simulator or emulator 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:

# Apple: connect your team once with an App Store Connect API key,
# then VibeView creates the certificate + provisioning profile for you
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>

# ...or upload an exported certificate + profile yourself
vibeview credentials add --platform ios --file cert.p12 --profile app.mobileprovision

# Android: upload a keystore — or have VibeView generate one (no Java needed)
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 "..."        # secret by default, injected into builds
vibeview env set API_URL "https://staging.example.com" --plain --profile preview  # only preview builds
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 on a platform's production profile 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                  # → TestFlight
vibeview submit --platform android --track internal       # → a Play track

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            # what's on screen, with refs like @e5
vibeview tap @e5            # act — the response says what changed
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

# Upload the build under test (zipped simulator .app for iOS, .apk for Android)
vibeview upload-app ./MyApp.zip

# Run a single test or a whole group
vibeview run-test <test-id> --output json
vibeview run-suite <suite-id> --output junit

# Run several groups with an aggregated exit code
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

CommandPurpose
vibeview login / logout / whoamiAuthenticate via browser, sign out, show who you are
vibeview devLive development on a cloud device (--platform roku for Roku channels, --roku-debug to debug one from VS Code)
vibeview buildBuild your app — locally, or on the build fleet with --cloud (--profile <name> picks the build; --production for a signed release)
vibeview builds list/logs/download/cancel/delete-artifactManage cloud builds and their artifacts
vibeview versions list/setServer-side build-number counters for autoIncrement production builds
vibeview credentials add/generate/list/rm/downloadApp-signing credentials for production builds (generate covers iOS, tvOS, and Android)
vibeview credentials asc-key add/list/rmConnect an Apple team via App Store Connect API key
vibeview credentials play-key add/list/rmStore a Google Play service-account key for Play submissions
vibeview submitUpload a production build to TestFlight or a Google Play track
vibeview env list/set/rm/pullBuild variables and secrets injected into cloud builds
vibeview webhooks add/list/rm/testNotify your systems when builds finish (signed payloads)
vibeview dev-status / dev-stopCheck on, or stop, a backgrounded dev session
vibeview stop <session-id>Stop any session by id (API, sandbox, collaboration link)
vibeview agent-setupMake VibeView discoverable to your coding agent (skill + MCP)
vibeview mcpRun the MCP server so an agent can drive the device
vibeview ui-treeThe current screen's elements, each with a ref to act on
vibeview logsRecent app logs from the device (console output, errors, crashes)
vibeview screenshotCapture the screen to a PNG
vibeview tap / type / scroll / pressDrive the device
vibeview scroll-to / drag / alert / findSearch, precise gestures, iOS system alerts
vibeview upload-app <file>Upload a build (zipped simulator .app, or .apk)
vibeview list-appsList your apps
vibeview list-builds <app>List an app's uploaded builds (ids for dev --build <id>, run-test --build)
vibeview list-devicesList available device types
vibeview list-suitesList groups (the CLI calls them suites)
vibeview create-test [name]Create a test case
vibeview import-maestro <path>Import Maestro flows (file, .zip or folder) as tests; --dry-run previews
vibeview run-test <test-id>Run a single test
vibeview run-suite <suite-id>Run a test group
vibeview run-suitesRun multiple groups

Run any command with --help for its options.

Documentation

Full guides at vibeview.io/docs — CLI reference, Live Development, CI testing.

Keywords

ios-simulator

FAQs

Package last updated on 27 Oct 2026

Related posts