For designers
Design in the Figma kit, a published library with the same tokens as the code. Shown: the Accordion's color tokens, live.
Pick a color. Graphite builds the scales, roles and both themes, checking contrast as it goes.
Accent
Secondary
Neutral
Neutral variant
The real components, built from the Figma kit and painted by the same tokens as this page, so they repaint when the color above changes. Each badge is a contract version: a contract is the component's written spec, and automated checks compare the code against it. Glossary
The engine does the work Figma cannot: it derives, it measures, and it does both themes at once. Automated checks then compare each component to its contract and each token to the Figma kit.
Any hex. It is resolved in OKLab and sampled at fixed tone stops, so the steps read as evenly spaced at any hue.
1 / 6
#5e44aathe one input
The outlined stop is the source. Labels are steps, 900 darkest to 050 lightest.
The builder derives a full theme from any color, holds it to your contrast target as it goes, and hands you CSS variables or JSON tokens at the end.
Designers work from the Figma kit. Developers work from React components. Both read the same tokens.
Design in the Figma kit, a published library with the same tokens as the code. Shown: the Accordion's color tokens, live.
Install each component as source you own, with one command. Shown: the Accordion, installed, styled and used.
Yes, for the theme and the 36 components: they install today with the shadcn CLI, and automated checks compare each one to its contract on every change. The Figma kit is a published library. Graphite is at v0.1.0, so expect changes. There is no npm package.
Yes. The code is MIT licensed and free for personal and commercial use. Built with React 19, Next.js 16 and SCSS modules. The Graphite UI and Simorka Designs names and logos, including the SD System mark in the footer, are not covered by the licence.
No. Graphite’s components, theme file and theme provider do not use Carbon. The Figma kit descends from IBM’s Carbon Design System, and this site’s own chrome still runs on Carbon, mapped to Graphite’s colors through 59 --cds-* variables while it moves off.
That is the only input. Any hex is resolved in OKLab and sampled at fixed tone stops to build the ramps, the roles and both themes. One caveat worth knowing: a source that sits on a status hue collapses the two, so a red brand color resolves primary and danger to nearly the same value.
Automated checks compare each component to its contract, and each token to a saved copy of the Figma kit. Where the kit and a contract disagree, the kit wins and the contract is updated. Refreshing that copy from Figma is a manual step.
Start with the contract, not the code: it lists what the component may use, and the checks compare the code against it. Every change lands through a pull request with the checks passing. The contributing guide on GitHub has the details.