Desktop app · macOS (Apple Silicon)
v0.5.0Conductor Studio
Agentic QA, on the same rails.
A desktop workbench for Maestro tests, built on the Conductor CLI. Write flows by hand or hand them to an agent, run them against a live device, and track them as test cases — driving the same devices, the same drivers, and the same commands your coding agent already uses.
Built on Conductor
Studio bundles the Conductor CLI — nothing to install globally, and a stray conductor on your PATH is never used. Your coding agent taps and inspects through the CLI; Studio runs the suite through the same one. A flow an agent wrote in a terminal is a flow Studio can open, run, and file against a test case.
One CLI, two jobs
Studio ships its own copy of Conductor and drives it directly — the same drivers, the same commands, the same devices your coding agent uses. Agentic development and agentic QA against one API, not two stacks that disagree.
The Maestro workbench
Flow tree, editor, and live device in three resizable columns. Run a flow, a folder, or a single step, and watch each command land on the device as it executes.
Agents write the tests
Hand a flow to an agent that can see the view hierarchy, drive the device, and iterate until the test passes — then read the diff before you keep it.
An editor that knows Maestro
Autocomplete across all 45 commands, 27 selector keys, env variables, and subflow paths. Renaming a subflow repoints every caller in the style that call site used.
Tests as test cases
Flows carry the case they cover. Mirror a Qase project — or keep cases purely local — filter them into test plans, and record what actually ran, per project in a monorepo.
A real Mac app
Signed, notarized, light and dark, and auto-updating. Apple Silicon, no global install to keep in sync — the bundled CLI is pinned and upgradable from Settings.
- v0.5.0
Highlights
- Flows own the link to their test case, and Studio stops managing cases.
- v0.4.0
Highlights
- Support several projects in one repo. A monorepo holding a mobile app and a tv app can now mirror a Qase project for each: the Cases toolbar switches between them, and "all projects" merges them into one read-only matrix.
- Pick the Qase project from a list instead of typing its code. Once an API token is entered (or already stored), Studio fetches every project that token can see and offers them as a dropdown; the plain text field remains as the fallback when the token is missing or Qase can't be reached.
Fixes
- Keep mirrored and hand-written cases in separate stores, and put the repo first on disk. A sub-project's cases now live under `~/.conductor/studio/<repo>/<store>/<sub-project>/<local|qase>/`, so everything Studio keeps about a checkout sits in one directory, and switching a sub-project between local and Qase no longer buries what it was authoring. Reports moved to the same layout; existing directories are moved on first read.
- Stop reporting every synced case as updated. A pull counted a case as "updated" whenever a file for it already existed, so syncing twice in a row claimed it had rewritten everything. It now compares what Qase returned against what is on disk, writes only what actually differs, and reports the rest as unchanged — which also stops an identical sync churning every file's mtime.
- Name Studio's GitHub releases `Studio v<version>` so they match the CLI's `CLI v<version>` instead of showing a bare version number.
- v0.3.0
Highlights
- Adopt Qase's model for test cases, and remove test cases from the CLI.