Automate the web.
Know what will work.

Write readable browser flows once. Run them with Puppeteer, Playwright, or Selenium — with Baseline compatibility intelligence built in.

Ready to run

flow.bsYAML
1browser:
2  framework: playwright
3
4steps:
5  - goto: https://example.com
6  - screenshot: home.png
7  - baseline_scan:
8      year: 2024
https://example.com
Example Domain

A sample page for a readable automation flow.

Baseline scan: 2024All checked features meet the target.
  • dialog.showModalBaseline 2020
  • fetchBaseline 2017
  • URLPatternBaseline 2023

One script.
Multiple engines.

Choose Puppeteer, Playwright, or Selenium without rewriting the flow.

# checkout.bs browser:
  framework: playwright
steps:
  - goto: /checkout
  - click: "#pay"
  - assert: "Complete"
Puppeteer
Playwright
Selenium

Compatibility,
in the loop.

BaseScript scans the page as it runs, flags features outside your Baseline target, and keeps the result next to the step that found it.

  1. 01Write the flow
  2. 02Run the browser
  3. 03Review Baseline
flow.bs
1 - goto: /app
2 - click: "#open-modal"
3 - assert: dialog
4     .toBeVisible()
5 - script: |
6     await fetch('/api')
7 - baseline_scan:
8     year: 2024
Baseline results
!
dialog.showModalBaseline 2020
fetchBaseline 2017
URLPatternBaseline 2023

The readable route to reliable automation.

Write the flow in YAML, watch it run in a real browser, and see compatibility issues before they reach users.

$ basescript run flow.bs


compiled for Playwright

browser flow complete

Baseline scan attached