MVDS

ToolActive

An opinionated design system that doesn’t drift.

Why this matters

Design systems are often rich in components but scarce on point of view. As a designer/founder, I want the bare minimum set of components I need to prototype an idea, plus my own zero-to-one design strategy baked in. An MVP, but for design systems.

Hypothesis

Solo founders need an minimally viable design system — an MVDS — that contains core set of components and design principles to put solid foundations into the wet cement of their experiments.

History
  1. Jun 2026Deploy hub: navigate to sample app + Storybook from the root. receipt ↗
  2. Jun 2026Bumped checkout + setup-node to v5 (Node 24 runner). receipt ↗
  3. Jun 2026Added non-blocking Chromatic visual regression on PRs. receipt ↗
  4. Jun 2026Fixed the brittle Button CssCheck oklch assertion (unblocked Chromatic). receipt ↗
  5. Jun 2026Enforced house rules + token test changes for Chromatic. receipt ↗
  6. Jun 2026Added CI gate, MIT license, and Vercel PR previews. receipt ↗
  7. Jun 2026Reverted the Chromatic test edits (h2 size, secondary tint). receipt ↗
  8. Jun 2026Darkened light --success to meet WCAG AA. receipt ↗
  9. Jun 2026Added the Foundations/Color story — canonical palette specimen. receipt ↗
  10. Jun 2026Design-system rigor: token AA gate, color util, sync skill, house rules. receipt ↗
  11. Jun 2026Sanctioned shared primitive-family stories in the house rules. receipt ↗
  12. Jun 2026Added CHANGELOG.md at the repo root. receipt ↗
  13. Jun 2026Hardened the branch/PR workflow and pinned stack versions. receipt ↗
  14. Jun 2026Added the mvds-release-notes skill. receipt ↗
  15. Jun 2026Release-notes skill checks for a changelog before suggesting a path. receipt ↗
  16. Jun 2026Manifest-driven principle-enforcement engine. receipt ↗
  17. Jun 2026Removed the deprecated Badge secondary variant alias. receipt ↗
  18. Jun 2026Defined the principle/component versioning contract (lockstep). receipt ↗
  19. Jun 2026Component manifests + drift guard for the code→Figma component sync. receipt ↗
  20. Jun 2026Recorded the first component sync + tint-convention fix. receipt ↗
  21. Jun 2026Copilot review instructions + the pre-1.0 breaking-change rule. receipt ↗
  22. Jun 2026Shipped MVDS as an installable package (tsup) + added Badge. receipt ↗
  23. Jun 2026Completed the 0.1.0 changelog record before tagging. receipt ↗
  24. Jun 2026Differentiated Badge from Button via tone + the semantic status triad. receipt ↗
  25. Jun 2026Component-sync skill + publish-as-merge-gate docs. receipt ↗
  26. Jun 2026Cut 0.1.0 — reconciled version and closed out the changelog. receipt ↗
  27. Jun 2026Recorded the Figma token sync for the sidebar prune. receipt ↗
  28. Jun 2026Font family became a gated token — switched to Inter. receipt ↗
  29. Jun 2026Pruned unused sidebar tokens. receipt ↗
  30. Jun 2026Aligned the tint description with the derived-tint convention. receipt ↗
  31. Jun 2026Changelog recorded through #29 — component mirror + typography gate. receipt ↗
  32. Jun 2026Manifest dashboard on the landing page. receipt ↗
  33. Jun 2026Recorded the Figma component sync from 8b1401e. receipt ↗
  34. Jun 2026Added elevation + motion tokens; formalized the radius ramp. receipt ↗
  35. Jun 2026Added Select — first consumer of the elevation + motion tokens. receipt ↗
  36. Jun 2026Changelog entry for the derived color scales. receipt ↗
  37. Jun 2026Recorded the Figma typography sync — font-sans variable + style bindings. receipt ↗
  38. Jun 2026Updated the issue templates. receipt ↗
  39. Jun 2026Replaced chart tokens with derived color scales (gray/primary/secondary). receipt ↗
  40. Jun 2026Added the Field scaffold primitive + shadcn Label (MVDS-tuned). receipt ↗
  41. Jun 2026Added the form-controls family — Checkbox, RadioGroup, Switch, Textarea. receipt ↗
  42. Jun 2026Wrote the consumer story: ingestion runbook, theming recipes, packaging hardening. receipt ↗
  43. Jun 2026Figma token sync recorded. receipt ↗
  44. Jun 2026Canonical header layout for the dashboard landing page. receipt ↗
  45. Jun 2026Addressed bhd-headless-notion consumer feedback in the docs. receipt ↗
  46. Jun 2026Restored workflow_dispatch support in the publish workflow. receipt ↗
  47. Jun 2026ManifestDashboard as the Vercel landing page. receipt ↗
  48. Jun 2026Published @beckharrisdesign/mvds to GitHub Packages. receipt ↗
  49. Jun 2026Reordered the Storybook sidebar — primitives first, Forms merged into UI. receipt ↗
  50. Jun 2026Synced 11 new component manifests to MVDS Core in Figma. receipt ↗
  51. Jun 2026Content block primitives (MediaFrame, Blockquote, Callout, Hero) + v0.2.0. receipt ↗
  52. Jun 2026Verification sync — repaired Card size=sm drift. receipt ↗
  53. Jun 2026Added the PackageDocs quick-start section to the landing page. receipt ↗
  54. Jun 2026Spatial layout primitives: Chrome, Section, Layer. receipt ↗
  55. Jul 2026Wired the GitHub Packages registry and session npm auth for MVDS. receipt ↗
  56. Jul 2026Documented valid 8-grid gap values on Stack/Inline/Grid. receipt ↗
  57. Jul 2026Capped Chromatic's Capture Cloud wait with an 8-min step timeout. receipt ↗
  58. Jul 2026Post-merge cleanup hook + Branch & PR workflow step 7. receipt ↗
  59. Jul 2026Post-merge cleanup hook must never touch an active session worktree. receipt ↗
  60. Jul 2026Rebuilt MVDS's own landing shell on its Chrome + Section primitives — the system eating its own cooking. receipt ↗
  61. Jul 2026Mirrored spatial primitives Chrome/Section/Layer into MVDS Core. receipt ↗
  62. Jul 2026Mirrored the experiment-hub GitHub workflow rules (adapted to MVDS). receipt ↗
  63. Jul 2026Recorded the 2026-06-17 variable grouping (Color/Typography/Spacing/Sizing). receipt ↗
  64. Jul 2026Switched npm publish to trusted publishing (OIDC). receipt ↗
  65. Jul 2026Published to public npm instead of GitHub Packages. receipt ↗
  66. Jul 2026The hub moved onto its own design system: Tailwind v4 + native MVDS consumption. receipt ↗