Design tokens for Code Sherpas. Framework-agnostic. DTCG + Style Dictionary v4 + OKLCH.
This package defines the atomic values of Code Sherpas's visual system: colors, spacing, radius, typography, shadows, z-index, duration, and easing. They are consumable from any frontend (React, Vue, Svelte, React Native) and from backends (transactional emails, PDFs, reports).
It contains no components. React components live in @code-sherpas/pharos-react and consume this package as a peer dependency.
pnpm add @code-sherpas/pharos-tokens
# or npm / yarnImport the CSS tokens at your app's entry point:
@import '@code-sherpas/pharos-tokens/css';This exposes --pharos-* on :root. Use them directly or via Tailwind arbitrary values:
.button-primary {
background: var(--pharos-color-primary-600);
color: white;
}<div class="bg-[var(--pharos-color-neutral-900)] text-white p-[var(--pharos-spacing-4)]">…</div>import { tokens } from '@code-sherpas/pharos-tokens';
const darkSurface = tokens.color.neutral['900'];
const cardRadius = tokens.radius['2xl'];Full autocomplete thanks to typeof tokens.
import { PharosColorPrimary600, PharosRadius2xl } from '@code-sherpas/pharos-tokens/tokens.js';For your own transforms (iOS, Android, Figma, etc.):
import colorDtcg from '@code-sherpas/pharos-tokens/dtcg/color';
// DTCG object with $value, $type, $descriptionSee RULES.md — published with the package.
| Family | Example path | Description |
|---|---|---|
| Base | color.base.{white,black} |
Pure white and black. |
| Neutrals | color.neutral.{50..950} |
Grayscale, slightly navy-tinted in the darker steps. |
| Primary | color.primary.{50..900} |
Sea blue, scale 50-900. 600 is the base hue. |
| Semantic | color.semantic.{success,error,warning,info}.{fg,bg,on} |
Success/error/warning/info. fg + on pairs pass WCAG AA. |
| Spacing | spacing.{0..24} |
Tailwind-compatible scale in rem. |
| Radius | radius.{none,sm,md,lg,xl,2xl,3xl,full} |
Corner rounding. |
| Typography | font.{family,weight,size,lineHeight,letterSpacing}.* |
Typography. Body default = size.sm (14px). |
| Shadow | shadow.{sm,md,lg,xl} |
Elevation. |
| Z-index | z.{0,header,above-header,modal-overlay,modal,drawer-overlay,drawer,dropdown,tooltip} |
Semantic, not literal. |
| Duration | duration.{fast,normal,slow} |
Transitions. |
| Easing | easing.{in,out,in-out} |
Cubic-bezier curves. |
pnpm install- Modify or add tokens in
src/*.tokens.json(DTCG format). pnpm build— verify that Style Dictionary compiles.pnpm test— WCAG + DTCG validations must pass.pnpm changeset— declare the type of change (patch / minor / major).- Open a PR.
CI validates WCAG 2.1 AA contrast on every color/on-color pair. A PR cannot be merged if it breaks contrast.
MIT. See LICENSE.