CLI · Fork of Maestro

v2.6.1

Bravo

Maestro, with support for every platform.

A fork of Maestro that expands platform support beyond mobile and web — adding tvOS, LightningJS, and soon Amazon's VegaOS. Drive UIs across all of them with the same Maestro CLI and YAML flows you already write.

Install

curl -fsSL "https://houwert.dev/bravo/get" | bash

Installs the latest Bravo build from houwert.dev. Bravo is a drop-in Maestro — the same maestro CLI and YAML flows, with support for tvOS, LightningJS, and soon VegaOS built in.

Highlights
📺

Apple TV support

A first-class tvOS driver, device handling, and end-to-end flows — drive Apple TV apps with the same Maestro YAML you already write.

🕹️

D-pad navigation

The web driver maps REMOTE_DPAD keycodes — arrows and center — to key inputs, so remote-control navigation in browser-based TV apps just works.

🌐

Web flows from a URL

Point the web driver at a target with a URL-shaped appId — no separate url: field required. Existing url: flows keep working unchanged.

🎯

Reuse your Android TV tests

The web driver matches on data-testid, so the same id-based selectors you already use for Android TV flows carry over to tvOS and WebTV apps — write the suite once, run it everywhere.

🧩

Stays in sync with Maestro

A clean stack of feature commits rebased onto upstream Maestro, so you get the new platform support on top of everything Maestro already does.

📦

One-line install

Releases land on DouweBos/Bravo and are distributed through houwert.dev, so a single curl command gets you the full multi-platform build.

  1. v2.6.1

    Highlights

    • Restore the bundled Maestro Studio: `maestro studio` launches the local web Studio again instead of only printing a desktop-app download link
    • iOS: fix cross-process sheets and improve hierarchy walk performance
    • Fix stale iframe handling in `fetchCrossOriginIframeContent`
    • Update some CLI hints to display app.maestro.dev, not a legacy URL
  2. v2.6.0

    Highlights

    • Add Maestro Viewer - a desktop visualizer for live hierarchy and commands
    • Remove bundled Maestro Studio from the CLI in favor of the Maestro Studio desktop app
    • Remove the deprecated Rhino JS engine
    • Enable parallel iOS simulator execution with per-device session tracking
    • Added iOS XCTest logs to debug output directory
    • Improve YAML parsing error outputs
    • Improved rendering of relative paths when using `runScript` commands
    • Improved rendering of the source of failing commands
  3. v2.5.1

    Highlights

    • Fix `NoSuchMethodError` on Ktor server startup (login, studio, and cloud commands)
    • Fix emulator discovery on Windows, restoring `start-device` functionality
    • Improve Windows developer experience
    • Improve device info help in `maestro cloud --help`
    • Fix detection of successful emulator installation in `start-device`
    • Improve CLI help for the `start-device` command
    • Fail-fast on iOS transport failure instead of rethrowing raw `SocketTimeoutException`