- 🎨 What are 'design tokens'
- 🚀 Getting started
- 🧩 Extending design tokens
- 🔄 Tokens Studio integration
- 📚 Additional resources
- 📦 Publishing
“A Style Dictionary uses design tokens to define styles once and use those styles on any platform or language. It provides a single place to create and edit your styles, and exports these tokens to all the places you need.”
— Amazon
Design tokens are the single source of truth for your product’s visual style, they capture design decisions such as:
- 🎨 Colours (primary, secondary, background, border)
- 🔠 Typography (font families, weights, sizes, line heights)
- 📐 Spacing (margins, paddings, gaps)
- 🧱 Components (border radius, shadows, z-index)
These tokens are used to ensure consistency across multiple platforms and UI libraries (web, iOS, Android, emails, PDFs, etc.) without duplicating style logic in each codebase.
This repository implements design tokens using Amazon’s Style Dictionary, which compiles token definitions (stored in platform-agnostic JSON files) into platform-specific formats such as:
- ✅ SCSS variables
- ✅ CSS custom properties (
--tokens) - ✅ JavaScript constants
- ✅ JSON files for use in Figma, Storybook, or frontend frameworks
- 🔁 Consistency: One change updates all platforms
- 🧩 Scalability: Add themes without rewriting UI
- 🤝 Collaboration: Designers and developers share a common language
- 🛡️ Governance: Enforce brand guidelines automatically
This package serves as the Queensland Government’s baseline design token system, and is intended to be:
- ✅ Extended per department/project
- ✅ Versioned and built into pipelines
- ✅ Source-controlled for audit and collaboration
npm install
npm run buildnpm run testnpm run ciYou can fork this repository and create your own theme by extending the design tokens.
- Fork this repo
- Switch to the example branch for guidance:
git checkout custom-tokens-and-themes-exampleYour forked files will remain untouched when pulling updates from the upstream repo.
To register a custom theme, update the following:
./$metadata.json./$themes.json
📌 See the custom-tokens-and-themes-example branch for examples.
Run the following to validate:
npm run build
npm run test
npm run build:package✅ You should see no errors.
Using Tokens Studio to update tokens directly from Figma is supported.
⚠️ Sometimes Tokens Studio may overwrite or add$metadataor$themetokens.
To avoid issues, we preserve.originalcopies of expected formats for easy reversion.
- 📘 Token Studio Official Documentation
- 📘 Style Dictionary Documentation
- 🔧 Style Dictionary Transforms for Tokens Studio
There are two publish subsystems:
- To npmjs.com
- To the GitHub repository package registry
Ensure you are authenticated correctly before publishing.