Skip to main content
Cypress specs chain commands on cy. Momentic tests are YAML steps that a runner executes with built-in waiting and AI assertion. The porting unit is the user flow, not the command chain. A coding agent with the MCP server and coding agent skills ports a spec file in one pass.

Before and after

A representative Cypress spec:
checkout.cy.js
The same test in Momentic:
checkout.test.yaml

API mapping

Fixture and plugin mapping

What does not map

  • The command queue and cy object. Steps are data, not a chained API. Anything you built on cy.wrap, subjects, or custom queue manipulation needs a javascript step.
  • cy.spy/cy.stub on window functions. There is no step for spying on app internals. mock covers network interception; reach for javascript with environment: browser for the rest.
  • cypress-real-events and raw Chrome DevTools Protocol (CDP). Momentic abstracts the driver. Device trust and CDP-specific tricks have no direct equivalent.
  • Time-travel snapshots UI. The local editor and run viewer show the same evidence (video, per-step screenshots, DOM state) but it is not a scrubbable command log.

Incremental strategy

  1. Install momentic next to Cypress in the same repo: npm install -D momentic plus a minimal momentic.config.yaml. The two tools do not share files or ports.
  2. Port cy.session/login first as a module or authLoad file; every other port depends on it.
  3. Port the specs that hurt the most to maintain: the ones with the most selector churn. Label them migrated and run them with --labels migrated.
  4. Run both suites in CI. Keep Cypress gating until the Momentic suite covers the same critical paths.
  5. Retire specs one at a time after several consecutive passing Momentic runs. Remove @cypress/* dependencies and the cypress folder last.

Porting at scale with a coding agent

Point your coding agent at the spec files and the momentic-test skill. A prompt that works well: