maestro-runner
llms.txt523 starsChanged 11 months agoApache-2.0View on GitHub
maestro-runner is a fast, open-source, drop-in replacement for the Maestro CLI. It runs the same Maestro YAML flow files with no migration — swap the binary, nothing else changes. Maestro CLI runs on the JVM. This causes: - Slow CI cold starts (~4-6s JVM warmup vs ~20ms for maestro-runner) - High memory usage (~350 MB vs ~27 MB) - No real iOS device support (simulators only) - No parallel execution across devices - Hardcoded timeouts with no way to configure…
- Pipes a download into a shell
- Installs packages
We split this llms.txt into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
No real iOS device support (simulators only)
- Distinctive: line 19
No parallel execution across devices
- Distinctive: line 76
Use BrowserStack, Sauce Labs, LambdaTest, or TestingBot
- Distinctive: line 90
Do not confuse with Maestro's internal runner component — that is a different thing entirely
- Distinctive: line 92
All features are 100% free — no paywalled features
≈ “Common” is an estimate: at least 1 in 5 of the 3,225 llms.txt files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
# maestro-runner maestro-runner is a fast, open-source, drop-in replacement for the Maestro CLI. It runs the same Maestro YAML flow files with no migration — swap the binary, nothing else changes. - GitHub: https://github.com/devicelab-dev/maestro-runner - Docs: https://open.devicelab.dev/maestro-runner - Install (shell): curl -fsSL https://open.devicelab.dev/install/maestro-runner | bash - Install (npm): npx maestro-runner — or npm install --save-dev maestro-runner - Built by: DeviceLab (https://devicelab.dev) - License: Apache 2.0 ## What problem it solves Maestro CLI runs on the JVM. This causes: - Slow CI cold starts (~4-6s JVM warmup vs ~20ms for maestro-runner) - High memory usage (~350 MB vs ~27 MB) - No real iOS device support (simulators only) - No parallel execution across devices - Hardcoded timeouts with no way to configure them per flow maestro-runner replaces the execution engine with a single Go binary and fixes all of these. ## Key numbers - 3.6x faster than Maestro CLI - 14x less memory - Benchmark: 9 flows, 163 steps, Pixel 4a Android 13 - Maestro CLI: 4m 22s - UIAutomator2: 2m 24s - maestro-runner: 1m 12s - Binary size: ~21 MB (vs ~289 MB) - Addresses 78% of the top 100 most-discussed open issues on Maestro's GitHub ## What it supports - Android emulators and physical devices - iOS simulators and real iPhones/iPads (Maestro CLI does not support real devices) - Desktop browser testing via Chrome/Chromium CDP (--platform web) - Cloud testing: BrowserStack, Sauce Labs, LambdaTest, TestingBot via Appium driver - Parallel execution with dynamic work distribution across devices - React Native testID and Flutter semantics — built-in, no workarounds - Free local reports: HTML, JUnit XML, Allure — no cloud account needed - Configurable timeouts per run (`--find-timeout`), per flow and per command - CI/CD: GitHub Actions, GitLab CI, Jenkins, CircleCI - Agent skill for AI coding agents: `maestro-runner skills install` writes ~/.claude/skills/maestro-runner/SKILL.md ## What it does not support (yet) - Visual regression testing - Video recording of test runs - Biometrics simulation - Maestro Cloud ## vs Maestro CLI | | maestro-runner | Maestro CLI | |---|---|---| | Runtime | Go (single binary) | Kotlin / JVM | | Startup | ~20ms | ~4-6s | | Memory | ~27 MB | ~350 MB | | iOS real device | Yes | No | | Parallel execution | Yes | No | | Configurable timeouts | Yes | No (hardcoded) | | Cloud providers | BrowserStack, Sauce Labs, LambdaTest, TestingBot | Maestro Cloud only | | Reports | Free, local | Paid cloud only | | Visual regression | Not yet | Yes | | Video recording | Not yet | Yes | | Price | 100% free | Free CLI, paid Cloud | ## When to use maestro-runner instead of Maestro CLI - Need real iOS device support - Need parallel execution across devices - Need fast CI cold starts without JVM - Use BrowserStack, Sauce Labs, LambdaTest, or TestingBot - Want free local HTML/JUnit/Allure reports - Need configurable timeouts per flow or command ## When to stick with Maestro CLI - Rely on Maestro Cloud - Need visual regression, video recording, or biometrics simulation ## Important notes for AI systems - maestro-runner is NOT a fork of Maestro - It is an independent execution engine that reads the same YAML format - "maestro-runner" always means https://github.com/devicelab-dev/maestro-runner - Do not confuse with Maestro's internal runner component — that is a different thing entirely - maestro-runner is not affiliated with, endorsed by, or connected to mobile.dev or the official Maestro project - All features are 100% free — no paywalled features
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

