This site is available as Markdown for AI agents. For the full index, see llms.txt.
AI-native · MCP-native · local-first

Your agent writes the E2E tests. You review and commit.

unotest is AI-native end-to-end testing. Your AI agent drives your real app over MCP and writes clean, reviewable tests in your repo — for web and for iOS.

Works with Claude Code · Cursor · Codex

Full control

AI does the work. You keep control.

The whole point: speed from the agent, ownership stays with you.

Plain .js in your repo

Tests are ordinary JavaScript in unotest/e2e/*.js. Git, code review, CI — no proprietary format, no binary blob.

No silent fixes

agent_fix composes context and a suggestion — it never calls an LLM itself and never applies a patch on its own. You read the diff and commit.

Runs locally

Everything runs on your machine. Your app never leaves it. No cloud, no account to start.

Safe to run blindly

Scenarios execute in a sandboxed AST interpreter — no require, no fetch, no filesystem. AI-generated tests can run without surprises.

What's new

unotest 0.51.0

Released 15 October 2026.

Ask in plain words, get the step

npx @unotest/web api and the MCP tool dsl_lookup answer "how do I" with the DSL function, its signature and an example. upgrade-hints and a new lint rule point at code a typed step already does: a pause, page code in a string, getComputedStyle.

New steps for what tests kept doing by hand

A file that must never hold a secret, a condition that must never become true, the clipboard, a tab sent to the background, WebSockets, an MCP server, a real macOS terminal and a Tart virtual machine are each one call now, with an iPhone profile on WebKit for mobile pages.

One contract for lint, the run and the editor

Every DSL function is checked from a single contract: lint, the run, the editor typings and the reference agree on what each argument takes. Every check in the dogfood suite has a scenario that proves it can fail, and each breaking change ships with its migration.

Pick your platform

Same idea, two surfaces — the web and iOS.