Documentation as a team product
You can leave Storybook “out of the box,” but for a DS it helps to brand it as the team’s product: logo, manager colors, section order — and publish static files to a URL everyone uses.
Theming the Manager UI
Via @storybook/theming and .storybook/manager.js:
import { addons } from '@storybook/manager-api';
import { create } from '@storybook/theming/create';
addons.setConfig({
theme: create({
base: 'light',
brandTitle: 'Skill Maps DS',
brandUrl: '/',
brandImage: './ds-logo.svg',
colorPrimary: '#0B6E4F',
colorSecondary: '#0B6E4F',
appBg: '#F7F7F5',
appBorderRadius: 8,
}),
});
Do not confuse manager theme (Storybook chrome) with preview theme (how the component itself looks). Preview is themed with product tokens in preview.js.
Navigation and IA
- Group:
Foundations(color, type, spacing),Components,Patterns. - In
parameters.options.storySortset order so Button is not lost under “Example/…”.
options: {
storySort: {
order: ['Foundations', 'Components', ['Button', 'Input', 'Card'], 'Patterns'],
},
},
Building static output
npm run build-storybook
By default the artifact is in storybook-static/. It is a normal static site (HTML/JS/CSS).
Deploy: basic options
- Netlify / Vercel / GitHub Pages — publish the
storybook-staticfolder. - Chromatic — hosting + visual regression from the same build.
- Internal nginx — if the DS is private.
Example idea for Netlify: a separate site or branch deploy, publish = storybook-static, build command npm run build-storybook. Restrict access if the library is internal (Netlify password, SSO, VPN).
CI
Minimum:
- on PR —
build-storybook(catch broken imports); - optionally — publish a preview URL;
- later — Chromatic / Playwright screenshots (testing module).
Versioning the docs
For a published npm package it helps to:
- show the package version in brandTitle (
Skill Maps DS v1.4.0); - keep previous major docs (v1 / v2) if the API diverged a lot.
Checklist: “safe to share the link”
- Tokens and fonts are wired; UI does not “jump.”
- Foundations + key Components are present.
- A11y addon is enabled.
- Custom brand does not hurt sidebar readability.
build-storybookis green in CI.- The URL is known to the team (package README + company portal).
Practice
- Configure manager theme with the DS name.
- Sort the stories tree.
- Build
storybook-staticand deploy to a preview environment. - Put the link in the design system README.
Docs without a URL are a diary in a drawer. Docs with a URL and a current build are a working product tool.