Prerequisites
Use the Stylesheet
Use a browser that supports CSS custom properties, :where(), and
:focus-visible. You do not need Node.js or Hugo to load the built CSS.
The library’s browser tests target Chromium, Firefox, and WebKit.
Build the Library
Use Node.js 22.14 or newer and npm. Node.js 24 is the development default in
.nvmrc. Install development dependencies from the committed npm lockfile:
npm ci --ignore-scripts
The project disables automatic lifecycle scripts in .npmrc. Explicit
npm run commands still work.
Build the Documentation
Use Hugo 0.167.0. On Linux x64 or arm64, install the pinned binary locally:
npm run docs:setup
This downloads the official Hugo release, verifies its SHA-256 against
docs/hugo-lock.json, and extracts the binary into .cache/hugo/. It does not
install a system package. Initial setup needs network access and tar; later
builds use the cached binary.
On macOS and Windows, install the same version from the
official Hugo installation guide. The runner
checks HUGO_BIN, then the repository cache, then Hugo on PATH. Set HUGO_BIN
to another executable path if needed. Documentation needs no Python environment.
Run Checks
Install pre-commit 4.6.2 and run npm run hooks:install to enable commit and push
checks. To run browser tests, download the browsers and their operating system
dependencies:
npx --no-install playwright install --with-deps chromium firefox webkit
Documentation browser tests use Chromium. The Source Reference lists the check commands.