Skip to content

Performance

The docs site is itself the kit’s biggest consumer — every page loads the full CSS bundle, the behaviors, and live component demos — so its Lighthouse scores are a practical health check for the kit’s runtime cost, not just for the site.

A scheduled GitHub Actions workflow (perf.yml) runs Lighthouse 12 weekly (and on demand via workflow_dispatch) against five representative pages of the deployed site:

PageWhy it’s in the set
LandingFirst impression; live showcase below the hero.
ButtonA typical component page (Demo tabs, API tables).
Kitchen sinkEvery component rendered at once — the stress page.
BlocksComposed sections, the heaviest realistic markup.
Theme builderThe most JavaScript-heavy page (runs the token build in-browser).

The run fails when any category drops below 90 on any page — nothing merges through it (it is not a PR gate); a red run is the regression signal. Reports are uploaded as workflow artifacts for 30 days, and each run writes a score table into its job summary.

Baseline (2026-06-12, Lighthouse 12, mobile emulation)

Section titled “Baseline (2026-06-12, Lighthouse 12, mobile emulation)”
PagePerfA11yBest practicesSEOLCPCLSTBT
Landing96100961002.2 s00 ms
Button98100961002.0 s00 ms
Kitchen sink9894961002.0 s00 ms
Blocks97100961002.2 s00 ms
Theme builder989396922.1 s00 ms

Zero layout shift and zero blocking time across the board reflect the kit’s design: CSS-first components, no client framework, behaviors that install listeners and get out of the way. The two sub-100 accessibility scores (kitchen sink, theme builder) and the theme builder’s SEO score are tracked as docs-site follow-ups — they concern those pages’ chrome, not the components.

Terminal window
npx lighthouse@12 \
https://hypermedia-components.ichimura-12c.workers.dev/hypermedia-components/ \
--only-categories=performance,accessibility,best-practices,seo \
--chrome-flags="--headless=new"

For the kit’s payload cost (what your pages pay, independent of this site), see Bundle size.