Open source · MIT

Give your design system
a memory

dsk stores your product's tokens, components, usage rules, flows, and screens as structured data beside your code — readable by humans and by AI coding assistants over MCP.

$ git clone https://github.com/rabindranath1311/dsk
localhost:4321
The dsk visualizer showing the design tokens view
The built-in visualizer — tokens, components, patterns, IA, flows, and screens over one store.
the toolkit

One core, three faces

Everything is a projection over the same store — a human-readable file repo or SQLite. Build it from the terminal, see it in the browser, hand it to an agent.

01 · BUILD

The dsk CLI

Tokens, components, patterns, guidelines — authored from the terminal, exported as tokens.css, design.md, AGENTS.md.

zsh — dsk
$ dsk init --name "Acme"
Initialized "Acme"
$ dsk token set color.brand.primary "#1F6FEB"
saved · 8 tokens
$ dsk export
tokens.css · design.md · AGENTS.md
02 · SEE

The visualizer dsk serve

A React app + JSON API in one process — token swatches, component cards with use-when rules, draggable IA maps and user flows.

localhost:4321
Design tokens view in the dsk visualizer
03 · USE

The agent surface MCP

Claude Code plugs in over MCP to search components by intent, check the rules, lint proposed UI — and author new entries.

Claude Code — MCP
▸ search_components intent:"confirm"
Button · ConfirmDialog
▸ get_component name:"Button"
← use-when · variants · a11y · tokens
▸ lint_screen name:"Settings"
passes 12 guidelines
get started

Quickstart

Requires Node.js 20+. Clone, seed with the example design system, and serve.

# get it
git clone https://github.com/rabindranath1311/dsk
cd dsk && npm install

# create a design system and load the example seed
npm run dsk -- init --name "Acme"
npm run dsk -- import examples/seed.acme.json

# build the visualizer once, then serve
npm run build:web
npm run serve            # → http://localhost:4321
for agents

Built for AI coding assistants

Components carry explicit use-when / don't-use-when rules, intents, do/don't lists, and accessibility notes — so an agent picks the right component and obeys the system.

localhost:4321
A component card with usage rules in the dsk visualizer
# connect Claude Code over MCP
npm run dsk -- mcp-config   # writes .mcp.json (HTTP → localhost:4321/mcp)
npm run serve               # keep the server running
the store

What's in the memory

Six kinds of design knowledge, versioned beside your code.

KindWhat it captures
TokensDTCG design tokens (color, space, radius, type…) with aliases
ComponentsAtomic-design level, intents, variants, use-when / don't-use-when, do/don't, a11y, tokens used
Patterns & guidelinesRecurring solutions and the cross-cutting rules that govern components
IA & flowsApp maps and user flows as draggable node graphs
ScreensPurpose, states, and the components each screen uses
Docs & assetsPRDs, brand refs, research, icons — the grounding agents read