Skip to content
Brand & UX guide
Resources

Downloads and contributing

The files behind this guide, how it stays equal to the app, and how to change it.

#Downloads

FileWhat it is
tokens/tokens.cssThe full design system as CSS custom properties: color, type, space, shape, elevation, motion. Pulls in the color file
tokens/colors.cssJust the color roles, light and dark
tokens/colors.jsonRoles with light and dark hex, jobs, and the stated accessibility measurements
copy/ui-strings.mdLocked customer UI strings
logo/Mark, wordmark, and lockups as SVG. See Logo for each file
png/Logo PNGs at several sizes, plus palette, type, and cover sheets

#Use the tokens in a project

Import and use

#Uses roles, not hex

Both themes work with no extra code.

Code
<div class="card" style="max-width:22rem">
  <h2 class="card-title">Uses roles, not hex</h2>
  <p class="card-desc">Both themes work with no extra code.</p>
  <button type="button" class="btn btn-primary">Continue</button>
</div>

Import tokens/tokens.css, then write CSS against var(--color-surface), var(--space-4), var(--radius). Dark mode follows the OS, or set data-theme on <html>.

#How this guide stays equal to the app

ThingMechanism
Component CSSThe app’s base.css, components.css, and layout.css are vendored verbatim in site/vendor/app/. Every specimen uses them
Colors and typeSwatches, contrast, and scales are generated from tokens/ at build time
IconsExtracted from the app’s Icon.tsx by npm run sync
Driftnpm run check fails if the app’s color roles differ from tokens/, if a contrast pairing drops below 4.5:1, if a specimen uses a banned word, or if any link is broken

#Changing the guide

  1. Brand first. Change the tokens, strings, or logo in this repo, then update the app. If they ever disagree, the product is the bug.
  2. Refresh from the app when components change: npm run sync -- /path/to/app.
  3. Edit a page in site/src/pages/. Use <demo> for any specimen, so its code is printed from the same markup.
  4. Preview with npm run dev, then run npm run check.
  5. Use the PR template and attach light, dark, and phone screenshots of any visual change.

#Running and deploying

TaskCommand
Preview with live rebuildnpm run dev → http://localhost:8080
Build and verifynpm run check
Build the containerdocker build -t weekwright-guide .
Run itdocker run --rm -p 8080:8080 weekwright-guide

The image is nginx serving static files on port 8080 as a non-root user, with a /healthz endpoint. See DEPLOY.md in the repository for details.

Weekwright brand & UX guide v1.0.0 Components rendered from app @ bd6c1f4 · build d2e1ef8