
Security News
Lovable’s OJ Rewrites Vite’s Dev Server in Rust as AI Lowers the Cost of Forking Open Source
Lovable’s OJ rewrites Vite’s dev server in Rust, reducing memory use and preview times as AI lowers the cost of open source reimplementation.
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.
npm install -g vibeview
Requires Node.js 20 or later.
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).
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.
Build your React Native app on VibeView's build fleet — no Mac, no CI pipeline, no local toolchain:
vibeview build --cloud # simulator/emulator build
vibeview build --cloud --production # signed release build (.ipa / .aab)
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:
# 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 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 # → 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 →
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.
# 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 suite
vibeview run-test <test-id> --output json
vibeview run-suite <suite-id> --output junit
# Run several suites 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.
| Command | Purpose |
|---|---|
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 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-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.
Full guides at vibeview.io/docs — CLI reference, Live Development, CI testing.
FAQs
VibeView CLI -- run mobile tests from CI/CD pipelines
The npm package vibeview receives a total of 305 weekly downloads. As such, vibeview popularity was classified as not popular.
We found that vibeview demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Lovable’s OJ rewrites Vite’s dev server in Rust, reducing memory use and preview times as AI lowers the cost of open source reimplementation.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.