# unotest documentation > AI-native E2E testing for web and iOS. Your AI agent writes the tests — you review and commit. Plain .js scenarios in your repo, a local viewer, an MCP server, full human control. Each link below points to the raw Markdown of a page. For the entire docs in one file, fetch https://docs.unotest.com/llms-full.txt ## Start here - [How it works](https://docs.unotest.com/start/how-it-works.md): The architecture behind unotest — MCP, semantic perception, a sandboxed engine, and local-first execution. - [Install & setup](https://docs.unotest.com/start/install.md): Requirements, browser choices, and wiring your editor to unotest over MCP. - [Introduction](https://docs.unotest.com/start/introduction.md): What unotest is — AI-native E2E testing where your agent writes the tests and you stay in control. - [Quick start — iOS](https://docs.unotest.com/start/quickstart-ios.md): From a built .app to a passing E2E test on the iOS Simulator, written by your agent. - [Quick start — web](https://docs.unotest.com/start/quickstart-web.md): From zero to a passing E2E test in your web app, written by your agent. ## Concepts - [Collections](https://docs.unotest.com/concepts/collections.md): Group scenarios and run them as a set — smoke, regress, and more. - [Debugging & self-healing](https://docs.unotest.com/concepts/debugging.md): One pause-on-failure debugger for both the agent and you — and why fixes are never silent. - [Failure bundles](https://docs.unotest.com/concepts/failure-bundles.md): The evidence captured when a run fails — screenshots, console, semantic DOM, and trace. - [Helpers — flows & mocks](https://docs.unotest.com/concepts/helpers.md): Reusable JavaScript functions for repeated journeys and for seeding data. - [Scenarios & step()](https://docs.unotest.com/concepts/scenarios.md): How a unotest scenario is structured — readable intent on top, precise DSL underneath. - [Stable selectors](https://docs.unotest.com/concepts/selectors.md): The selector priority that keeps tests resilient, and the linter that enforces it. - [Variables & secrets](https://docs.unotest.com/concepts/variables.md): Keep credentials out of code and run the same test across environments. ## Guides - [Auth & cached login](https://docs.unotest.com/guides/auth.md): Reuse a logged-in session instead of signing in at the start of every test. - [Write a test by hand](https://docs.unotest.com/guides/by-hand.md): Author a scenario yourself — the format is just readable JavaScript. - [Run in CI](https://docs.unotest.com/guides/ci.md): Run unotest scenarios and collections in continuous integration. - [Run smoke / regress](https://docs.unotest.com/guides/collections.md): Group scenarios into collections and run them as a set. - [Debug a failing test](https://docs.unotest.com/guides/debug.md): Use the pause-on-failure debugger — in the viewer or with your agent. - [Write your first test](https://docs.unotest.com/guides/first-test.md): Let your agent write and verify a real E2E test, step by step. - [Reuse flows & seed data](https://docs.unotest.com/guides/flows-and-data.md): Factor repeated journeys into flows and put the app into a known state with mocks. - [Multi-tab & iframes](https://docs.unotest.com/guides/multi-context.md): Drive multiple tabs and work inside nested iframes. ## The Viewer - [Step debugger](https://docs.unotest.com/viewer/debugger.md): Gutter breakpoints, pause-on-failure, and live inspection. - [Inspector & artifacts](https://docs.unotest.com/viewer/inspector.md): The failure evidence shown per run — screenshot, semantic DOM, console, trace. - [Overview & launch](https://docs.unotest.com/viewer/overview.md): A local IDE-style viewer for your tests — no cloud, no account. - [Running tests](https://docs.unotest.com/viewer/running.md): Run from the UI and watch results stream live, step by step. - [Shortcuts & themes](https://docs.unotest.com/viewer/shortcuts.md): Keyboard shortcuts and theme switching in the viewer. - [Terminal (AI inside)](https://docs.unotest.com/viewer/terminal.md): A docked terminal with local, Claude and Codex sessions — drive the agent without leaving the viewer. - [Tour](https://docs.unotest.com/viewer/tour.md): The activity bar, document tabs, and inspector panel. ## Reference - [CLI — mobile](https://docs.unotest.com/reference/cli-mobile.md): Every npx @unotest/mobile subcommand (iOS). - [CLI — web](https://docs.unotest.com/reference/cli-web.md): Every npx @unotest/web subcommand, with flags and examples. - [Configuration](https://docs.unotest.com/reference/config.md): Every field in unotest.config.{js,mjs,ts}. - [DSL reference](https://docs.unotest.com/reference/dsl.md): Every function available inside a scenario, grouped — the unotest web vocabulary. - [Linter rules](https://docs.unotest.com/reference/linter.md): The scenario linter rules and their default severities. - [MCP tools](https://docs.unotest.com/reference/mcp-tools.md): Every MCP tool the agent uses, grouped. ## For your AI agent - [Authoring guide](https://docs.unotest.com/agent/authoring.md): The rules an agent should follow when writing unotest scenarios. - [Connect your editor](https://docs.unotest.com/agent/connect.md): Wire Claude Code, Cursor or Codex to the unotest MCP server. - [Machine-readable docs](https://docs.unotest.com/agent/machine.md): Every page as Markdown, plus llms.txt and llms-full.txt for agents. - [Overview](https://docs.unotest.com/agent/overview.md): How an AI agent uses unotest — MCP-native, with a human in the loop. - [Worked example — authoring over MCP](https://docs.unotest.com/agent/worked-example.md): The exact MCP tool-call sequence to explore an app, record a scenario, save it, and verify it runs green. ## Resources - [Changelog](https://docs.unotest.com/resources/changelog.md): Notable changes to unotest. - [Ecosystem & packages](https://docs.unotest.com/resources/ecosystem.md): The packages that make up unotest and how they fit together. - [Troubleshooting](https://docs.unotest.com/resources/troubleshooting.md): Common issues and known limitations.