Your first scenario

Write, validate, compile, and run a .molar.md scenario — locally or from the dashboard.

Your first scenario

Molar scenarios live in .molar.md files: YAML frontmatter plus Markdown steps. The compiler turns them into Playwright .spec.ts artifacts (gitignored).

Quick path from the dashboard

  1. Sign in at app.molar.it.
  2. Ensure your project has an app URL (onboarding or Cartographer settings).
  3. Discover flows via Scouts (/scouts) or approve existing ones under Scenarios (/scenarios).
  4. Pick a scenario → Run.
  5. Open Trace from Runs (/runs) for step-by-step replay.

CLI path

1. Create a scenario

mkdir -p .molar/scenarios

.molar/scenarios/hello.molar.md:

---
spec_version: '1.0'
id: '019301c0-cafe-7000-bea7-000000000001'
slug: hello-homepage
description: Homepage loads and shows the product name
priority: medium
tags: [smoke]
---

# Homepage smoke test

## Steps

1. Navigate to /
2. Assert text "Welcome" is visible
3. Assert no console errors

2. Validate & compile

molar scenarios validate
molar scenarios compile

3. Run

molar run
# or: molar run hello

Note:

Local molar run delegates to the Guard runner. Install it if molar doctor reports it missing (@molar/guard-runner). You can also trigger runs from the dashboard without a local runner.

Watch Live runs at app.molar.it/live, then open Trace from the run.

Using Clones

clones:
  - { kind: stripe, seed: stripe-base }
  - { kind: email }
7. Wait for webhook stripe.checkout.session.completed {timeout: 30s}
8. Assert Email Clone outbox contains 1 email to `${run.user.email}`

See Clones.

Gate PRs with Guard

Install the Molar GitHub App from Settings → Organization. Add a schedule in frontmatter for production checks:

schedule:
  cron: "0 */6 * * *"
  regions: [us-east-1]

See Guard PR gating.

Next steps

GoalDoc
Full DSLScenario compiler · .molar.md config
MCP authoringMCP setup
Product quick startsCartographer · Guard · Clones · Trace