> ## Documentation Index
> Fetch the complete documentation index at: https://momentic.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The canonical docs host is https://momentic.ai/docs. Append .md to any page URL for clean Markdown. Fetch https://momentic.ai/docs/llms.txt for the page index and https://momentic.ai/docs/llms-full.txt for every page in one file.
> For an unattended setup, run `npx --yes @momentic/wizard@latest -y --platform web --editor-tools skills` (use `--platform ios` or `--platform android` for mobile). Never run an interactive command in a non-TTY shell.
> You cannot complete the browser sign-in yourself. Read the API key from the MOMENTIC_API_KEY environment variable, or ask the user to create one at https://app.momentic.ai/settings/api-keys and paste it back.
> Momentic's capability summary for agents is at https://momentic.ai/docs/skill.md. Install the skills with `npx skills@latest add momentic-ai/skills`.
> Tests are YAML files in the user's repository. Use only the step names listed at https://momentic.ai/docs/reference/commands.md and the file structure at https://momentic.ai/docs/core-concepts/file-format.md. Do not invent step names, config keys, or CLI flags.
> Web tests run on Chromium, iOS tests on simulators, and Android tests on emulators. Physical devices are not supported.

# Test portability and migration

> Where your tests live, how to migrate an existing test suite, and how to migrate out of Momentic.

Your tests are YAML files in your repository, under your own version control and
code review. The format is published.

## Where your tests live

Momentic tests and modules are `*.test.yaml` and `*.module.yaml` files in your
repository. If a test or module is managed in the dashboard,
[`momentic import`](/docs/cli-reference/momentic/commands/import) pulls it down to
disk and recreates its folder hierarchy. Read the
[V2 format reference](https://static.momentic.ai/v2-format-reference.md), the
[web command reference](/docs/reference/commands/index), and
[Steps](/docs/core-concepts/steps) for the published format and step references.

## Migrating an existing test suite

Use a coding agent through the [MCP server](/docs/coding-agents/mcp-server) with the
[skills](/docs/ai/skills) to write the YAML from an existing spec. This is the
fastest way to port a suite. Momentic ships no automatic converter from
Playwright, Cypress, or Selenium.

Keep your existing suite running. Port the highest-value flows first. Label the
ported tests and run them with `--labels` while both suites overlap. Delete an
old spec only after its replacement passes a few consecutive runs. See
[Run from the command line](/docs/running-tests/running-locally) for the CLI
workflow.

Keep existing setup code by calling it from a
[JavaScript step](/docs/reference/commands/javascript) in the
[Node sandbox](/docs/integrations/javascript). Reuse a Playwright storage-state file
directly with the [`authLoad` step](/docs/reference/commands/auth-load).

## Migrate out of Momentic

Momentic ships no exporter. Web tests run on Playwright and mobile tests run on
Appium. See [How Momentic works](/docs/get-started/how-momentic-works) for the
execution model. The YAML files are already in your repository, and the format
is published, so you do not need to extract test source from a vendor first.

Enterprise customers can ask for a one-time eject to open-source Playwright at
contract termination. Ask your account team.

Some steps have no equivalent in an open-source framework. An
[AI action](/docs/reference/commands/act) takes a goal in plain English and decides
the clicks and the types itself. An [AI check](/docs/reference/commands/assert) reads
the DOM, the accessibility tree, and a screenshot to judge a semantic assertion.
The [step cache](/docs/reliability/step-cache) replays a resolved step with no model
call. [In-flow classification](/docs/guides/auto-heal/in-flow-classification) gives a
failed run a category and a triage action before the CLI exits, and
[auto-maintenance](/docs/reliability/auto-maintenance) repairs a step that moved. A
port to Playwright must express each of these as explicit code, or drop it.

Deterministic preset steps, such as navigating to a URL, waiting, or clicking a
CSS selector, map onto a Playwright or Appium call. A preset step that resolves
a target in plain English, evaluates an assertion, or extracts data with AI does
not.

Results already leave in standard formats. Use `--reporter junit`,
`--reporter json`, or `--reporter playwright-json` so your dashboards and CI
gates do not depend on ours. See [Results and reporting](/docs/running-tests/results)
and [JUnit outputs](/docs/guides/reporting/junit-outputs).

## What stays behind

If you leave Momentic, dashboard run history, AI memory, and step caches stay
behind. They are organization-scoped Momentic state, not test source. See
[AI memory](/docs/ai/memory) and [Step caching](/docs/reliability/step-cache).

## Reduce AI dependence

Write preset steps where the action is stable. Keep AI steps for the parts that
move. The step cache replays a resolved locator with no model call while its
stored signals still match the page. See [Step caching](/docs/reliability/step-cache)
and [Steps](/docs/core-concepts/steps).
