@push-based/user-flow

Runtime performance measurements done right, with Lighthouse user flows.

A CLI and library to organise and run Lighthouse user flows in a scalable way, with CI automation in place. Measure bootstrap and runtime performance with minimum effort.

Terminal
# install, set up and run your first flow
npm i @push-based/user-flow --save-dev
npx user-flow init
npx user-flow collect

Why user-flow

Less code, more measurements

Runtime performance, not just page load

Lighthouse user flows measure navigations, interactions and page states. user-flow organises them so every step shows up in one report.

Zero setup, TypeScript first

Run init, answer three prompts and write flows in .uf.mts files. They are compiled on the fly, so there is no build step to maintain.

Built for CI

Non-interactive mode, Markdown and stdout reports and a ready-made GitHub action put performance numbers on every pull request.

Fast feedback with dry runs

Skip the measurements while you write interactions. A dry run takes seconds instead of a minute; then switch it off for real numbers.

Replay DevTools recordings

Export a flow from the Chrome DevTools Recorder and replay it as is, or enrich its steps with timespans and snapshots.

Scales with UFOs

User flow objects separate selectors, interactions and measurements so large suites stay readable and reusable.

Documentation

Find your way around