Ship a structural init_design scaffold separate from styling choices #3

Merged
arne merged 6 commits from feat/initial-design-system into main 2026-04-05 09:11:55 +02:00
Owner

The original init_design MCP tool produced a three-file scaffold (one
HTML, one CSS, one markdown spec) that conflated file structure with
visual design choices. Every project that called the tool inherited a
specific palette, typography, and layout system, whether that fit the
project or not. The tool needed to teach conventions — folder layout,
file naming, the separation between styleguide and page previews —
without committing to an aesthetic.

This PR rewrites the scaffold to be structural. The output is a folder
tree under design/ with named sub-folders for specs/, preview/,
components/, and fonts/, a single style.css organized into banner-
commented bands (tokens / reset / elements / forms / components /
prototype chrome), a theme.js placeholder, and README files explaining
each location. No opinionated colors, typography, or component shapes —
just the structure.

Prototype chrome namespace

Styleguide-only UI (breadcrumbs, section wrappers, nav chrome for page
previews) lives under a .prototype-* class namespace so downstream
porting to a real web layer knows what to keep and what to strip. When a
real design system later builds on top of this scaffold, the prototype
chrome can stay in design/ and get omitted from the ported CSS.

Page previews as navigation

The scaffold includes design/preview/index.html as the canonical entry
point for interactive previews, with a .prototype-breadcrumb for
navigating between preview pages. Real dev chrome, not part of any page
being previewed.

Tests

mcp/scaffold_test.go asserts the exact folder layout and file list so
the scaffold contract is pinned against regressions.

The original `init_design` MCP tool produced a three-file scaffold (one HTML, one CSS, one markdown spec) that conflated file structure with visual design choices. Every project that called the tool inherited a specific palette, typography, and layout system, whether that fit the project or not. The tool needed to teach conventions — folder layout, file naming, the separation between styleguide and page previews — without committing to an aesthetic. This PR rewrites the scaffold to be structural. The output is a folder tree under `design/` with named sub-folders for `specs/`, `preview/`, `components/`, and `fonts/`, a single `style.css` organized into banner- commented bands (tokens / reset / elements / forms / components / prototype chrome), a `theme.js` placeholder, and README files explaining each location. No opinionated colors, typography, or component shapes — just the structure. ## Prototype chrome namespace Styleguide-only UI (breadcrumbs, section wrappers, nav chrome for page previews) lives under a `.prototype-*` class namespace so downstream porting to a real web layer knows what to keep and what to strip. When a real design system later builds on top of this scaffold, the prototype chrome can stay in `design/` and get omitted from the ported CSS. ## Page previews as navigation The scaffold includes `design/preview/index.html` as the canonical entry point for interactive previews, with a `.prototype-breadcrumb` for navigating between preview pages. Real dev chrome, not part of any page being previewed. ## Tests `mcp/scaffold_test.go` asserts the exact folder layout and file list so the scaffold contract is pinned against regressions.
arne merged commit c449de3906 into main 2026-04-05 09:11:55 +02:00
arne changed title from feat: rewrite init_design scaffold with structured templates to Ship a structural init_design scaffold separate from styling choices 2026-04-05 22:08:49 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
arne/orbit!3
No description provided.