Build
Use in code
HeyGoal is one HTML file with vanilla JS. The system ships as plain CSS and one small script, so there is no build step.
- Load the fonts and the stylesheet
assets/css/fonts.css(Bricolage Grotesque and Inter, local files) andassets/css/heygoal.css— the generated token block plus every component and pattern rule. In the single-file app, paste their contents into the page's<style>. - Set the theme and motion on <html>
data-wd-theme="dark"or"light"(dark is the default) anddata-motion="full"or"reduced". Never usedata-themein the app — the claude.ai host writes it. - Write the app's markupComponents are class names:
.btn,.icon-btn,.pill,.seg,.input,.check,.me,.nav… Open any preview on the Components page and copy its markup. - Color only through tokens
var(--surface),var(--text),var(--accent-text). If a value has no token, add it totokens.w3c.json, runnode tools/build-tokens.mjsin the source folder and paste the new block. - IconsLoad
assets/js/heygoal-icons.js;HG_ICONS.ico('plus')returns an inline SVG incurrentColor. Sizes 16, 20 or 24 only (.ico.sm,.ico,.ico.lg).
Minimal page
<!DOCTYPE html>
<html lang="en" data-wd-theme="dark" data-motion="full">
<head>
<link rel="stylesheet" href="assets/css/fonts.css">
<link rel="stylesheet" href="assets/css/heygoal.css">
<script src="assets/js/heygoal-icons.js"></script>
</head>
<body style="background:var(--bg);color:var(--text);font:var(--type-body)">
<button class="btn primary" id="add"></button>
<script>
document.getElementById('add').innerHTML =
HG_ICONS.ico('plus').replace('class="ico"', 'class="ico sm"') + 'Add task';
</script>
</body>
</html>
Switching the accent
Settings writes one line; the text, ring and on-accent colors follow automatically and stay AA for all 18 swatches:
document.documentElement.style.setProperty('--accent', 'var(--coral)');
1.19.0 names still work
--muted-2, --r, --pill, --display, --font, --ease, --t-fast, --t, --t-slow, --logo-ink, --logo-blue, --topbar and --topbar-blur resolve through aliases for two minor versions. --muted-2 and --r-lg are deprecated.
HeyGoal design system 0.6.0 · generated from tokens.json and the component CSS in
design-system\HeyGoal design system · works offline, open any page in a browser.