Docs · Getting started

Run Omea against your own repo.

npx @omea/cli run is fully local: no cloud, no login, nothing leaves your machine. It boots your app in a microVM, runs your repo's own @playwright/test suite with coverage instrumented, and streams verdicts as tests complete.

Install

Omea ships as a Rust binary distributed via npm, with per-platform binaries as optionalDependencies — the same pattern esbuild uses. npx @omea/cli only pays Node's startup cost on the very first invocation; the installed command is the native binary, never a JS shim on the run path.

Supported today: macOS arm64 (HVF) and Linux x64 (glibc and musl, KVM).

Run it

npx @omea/cli run [PATH]        # PATH defaults to the current directory

In a repo checkout, that one command:

  1. Detects how the app boots and boots it in a local microVM — dependencies, build, and any services it needs (for example, an in-guest Postgres for a Prisma app) — with zero config and zero edits to your repo.
  2. Runs the repo's own @playwright/test suite against the running app, with the Omea coverage harness injected transparently. No app or test file changes; git status stays clean.
  3. Streams per-test verdicts (pass/fail + duration) as they complete, then prints a coverage summary and the paths to the evidence artifacts.

Flags

FlagMeaning
PATHRepo to test. Defaults to the current directory.
--test-command <CMD>Run CMD in the guest instead of npx playwright test.
--jsonStreams the run as NDJSON (test-started/test-finished/run-finished) so a coding agent can act on it without human interpretation — schema version 2.

Exit codes

Agents branch on these, so boot, test, and environment failures are distinct:

CodeMeaning
0All tests passed.
1The suite ran and one or more tests failed.
2The app failed to boot (install, build, boot, or readiness).
3Environment failure — no recognizable boot recipe, no Playwright suite, or the runner never produced verdicts.

Artifacts

Each run writes evidence next to your repo under .omea/last-run/: coverage.json and coverage.md (see coverage artifacts explained), playwright-results.json, and playwright.log.

Coming soon: npx @omea/cli login and a hosted/cloud sync variant that runs the same loop against your current, uncommitted workspace from our infrastructure. Not shipped yet — today's CLI is local-only and needs no account.

Read next