Skip to content

Releases: zygiu-zygis/basecoat-ui-mcp

v1.8.0 - Poka-Yoke Schemas, Native SVG Chart Engine, Field Primitives, Sidebar 01-16 Suite

Choose a tag to compare

@zygiu-zygis zygiu-zygis released this 14 Oct 19:41

Basecoat UI MCP v1.8.0 Release Notes

Offline Model Context Protocol (MCP) server for Basecoat UI & shadcn/ui design patterns without bundling or requiring React.


Highlights of v1.8.0

  • Poka-Yoke Schema Hardening & Dual Tool Aliasing:

    • Implemented parameter tolerance across all tools: id, componentId, and name are resolved interchangeably.
    • Made environment strictly optional across all tools, defaulting to html (supporting html, astro, react, vue, and svelte).
    • Allowed empty object {} calls on all list/summary tools (get_design_rules, get_component_details, list_blocks, list_charts, get_component_syntax, enforce_rules, compose_stack), returning top-level catalog indexes instead of throwing JSON-RPC -32602.
    • Registered dual symmetrical aliases: list_charts ↔ basecoat_list_charts, get_chart_blueprint ↔ basecoat_get_chart_blueprint, get_page_architect ↔ basecoat_page_architect, enforce_rules ↔ basecoat_rules_enforcer, get_creative_direction ↔ basecoat_creative_director, get_component_syntax ↔ basecoat_component_syntax, inspect_quality ↔ basecoat_quality_inspector, compose_stack ↔ basecoat_compose_stack, setup_config ↔ basecoat_setup_config, get_design_rules, list_blocks.
  • Zero-Dependency Native SVG Bezier Chart Engine (get_chart_blueprint):

    • Native SVG Bezier engine enabled by default (engine: 'svg') producing smooth dual cubic Bezier curves (M... C...) with <linearGradient id="fillDesktop"> and <linearGradient id="fillMobile">.
    • Responsive container with dynamic ResizeObserver script preventing wide-viewport distortion.
    • Linear grid lines (stroke-border/50), X-axis month labels, tabular-nums numeric scale, crosshair hover tracking (stroke-muted-foreground stroke-dashed), and screen-reader accessible hidden fallback table (<table class="sr-only">).
    • Preserved full compatibility with engine: 'apexcharts'.
  • Field & FieldGroup Primitive Architecture:

    • Added canonical field and field-group primitives into src/registry/components.json and new src/data/catalog/components-catalog.json (62 total curated components).
    • Semantic anatomy: FieldGroup → FieldSet → FieldLegend → Field → FieldLabel → Control → FieldDescription → FieldError.
    • Supported orientations: vertical, horizontal (2-column settings), and inline (checkbox/switch/radio), with dual-invalid contract (data-invalid="true" + aria-invalid="true").
    • Expanded technical rules to 33 rules in src/data/catalog/implementation-rules.json with AST linter enforcement (FRM-02, FRM-03, FRM-04).
  • Sidebar 01-16 Suite & Stack Composer:

    • 1:1 structural parity with shadcn new-york-v4 dashboard-01 (max-w-7xl, lg:grid-cols-7, area-interactive overview chart, and recent sales feed).
    • Full semantic landmark audit on all 16 navigation layouts (sidebar-01..16 in src/macros/authoring/blocks/ and shell stacks).
    • Enhanced compose_stack supporting modular content stacks (kpi-4-col, area-chart-overview, data-table-full-crud, recent-sales-feed, detail-drawer) as both slot records and auto-mapped arrays.
  • MCP Resources & Skill Vault Sync:

    • Exposing basecoat://skills/core, basecoat://skills/dashboard, basecoat://skills/charts, and dynamic paths basecoat://skills/files/*.
    • Total 96 Markdown documentation files across the 3-Pillar Skill Vault.
    • Updated plugins and configurations for Cursor (.cursor-plugin/plugin.json) and Claude Code (.claude-plugin/plugin.json).

Authoritative Catalog Counts

Metric Count Details
Curated Components 62 All 57 shadcn/ui primitives + Basecoat extensions (field, field-group, theme-switcher, etc.)
Macro Blocks & Aliases 84 Layouts covering sidebar-01..16, dashboard-01..07, auth flows, tasks, mail, billing
Composable Component Stacks 45 Across 7 categories with slot hydration into canonical shells
Theme-Aware Charts 56 Zero-dep SVG Bezier + ApexCharts blueprints across 7 categories & 5 frameworks
Multi-Block Page Recipes 11 End-to-end multi-page layout graphs
Skill Vault Documentation 96 Structured markdown files under skills/ exposed via basecoat://skills/*
Implementation Rules 33 Strict AST and accessibility rules enforced by rules_enforcer & quality_inspector

Verification & Test Suite

  • 293 automated tests across 26 test suites passing with zero failures.
  • 27 catalog integrity assertions verified via npm run test:integrity.
  • Verified 0 KB runtime network requests, bounded < 2 KB packets.

Full Changelog: v1.7.0...v1.8.0

v1.7.0

Choose a tag to compare

@zygiu-zygis zygiu-zygis released this 07 Oct 19:37

1.7.0 - 2026-10-07

  • Deterministic Dashboard Generation: Hardened the macro graph definitions (dashboard-main, dashboard-workspace, workspace-dashboard.json) for pixel-perfect Shadcn New York v4 dashboard-01 parity.
  • Layout Neutrality: Introduced topbar-shell and topbar-nav macros to support non-sidebar dashboard generation out-of-the-box.
  • Documentation & Agent Guidance: Added Macro-Driven Dashboard Generation guide to README.md to instruct any connected LLM (Cursor, Claude, Windsurf) on utilizing search_macro_blocks for predictable, deterministic layouts.
  • Validator Enhancements: Extended micro-spacing rhythm leniency (isMicroChromeContext) to apply equitably to both <nav> and <header> regions, removing legacy strictness that previously biased LLMs towards sidebars.
  • Rhythm Rules Leniency: Synchronized compiler.ts and validate.ts rhythm assertions to allow the 8 (2rem) step, which is prevalent in modern Shadcn v4 padding and margins.
  • Card Styling Fix: Resolved the .card double-border defect. Basecoat's Vega style pack natively styles .card with ring-1 ring-foreground/10. Eliminated explicit border classes to prevent stacking.
  • Icons & Assets Standards: Enforced exclusive use of inline SVG (Phosphor/Lucide format with size-4 / size-6, currentColor) and eliminated external React icon packages or emojis.
  • Dark Mode Flash Elimination: Standardized on canonical Basecoat themeMode localStorage key with the inline head script to eliminate flash of unstyled theme, strictly prohibiting mixed @media (prefers-color-scheme) with .dark class strategies.

1.6.3 - 2026-10-05

  • Documentation & Registry Hygiene: Removed broken/deprecated MCP Registry badge and external registry endpoint references from README and release runbooks, keeping clean authoritative npm and GitHub metadata.
  • Release Parity Evidence: Added a local-only pre/post-release evidence routine that records package identity, capability, install, transport, ownership, approval, and external-surface verification state without performing network requests or publication.

1.6.2 - 2026-10-05

  • Authentic Theme Switcher SVGs: Upgraded theme-switcher component markup in the registry from text placeholders ("L"/"D") to authentic Lucide Sun and Moon SVGs (lucide-sun, lucide-moon) with size-8, size-4, and aria-hidden="true", strictly fitting within the MCP 1999-byte budget (1816 bytes) while matching upstream basecoatui.com.
  • Basecoat Style Packs (Presets): Documented all 8 official Basecoat style families (Vega, Nova, Maia, Lyra, Mira, Luma, Sera, Rhea) in basecoat://design/theming and basecoat://integration/frameworks. Added the Header Control Cluster pattern (Style Variant Select + Theme Switcher) for effortless site design and theme switching.
  • Cursor Designer Agent Update: Updated templates/cursor/basecoat-designer.mdc to guide autonomous agents in selecting official style packs and placing paired header controls.
  • Test Coverage Expansion: Added tests/style-presets-and-composition.test.ts covering style packs contracts, theme-switcher accessibility and byte bounds, full website compositions (headers, sidebar dashboard shells), and theme strategy conflict detection (200 tests passing).

1.6.1 - 2026-10-05

  • MCP Robustness: Relaxed get_macro_block validation to allow id as an alias for idOrRef and default section to manifest, preventing agent errors when omitting parameters.
  • Design Contract: Clarified in basecoat://design/theming that the system supports multiple shadcn/ui color palettes while keeping neutral as the default.

1.6.0 - 2026-10-05

  • Theming resource: New basecoat://design/theming (token contract, class-based dark mode with one resolver via window.basecoat.theme / themeMode, no-flash head bootstrap, --input control borders, autofill reset, Latin Extended font check). Resolves common production pitfalls including dark-token leakage, duplicate theme resolvers, heavy control borders, and autofill tinting.
  • Validator: validate_composition adds theme-strategy-mixed (media query + .dark class) and theme-storage-key (custom localStorage key diverging from themeMode) warnings.
  • Discoverability: Server instructions now trigger on any basecoat-css / shadcn-look project and describe an existing-UI audit/restyle path, not only greenfield macro design.
  • Validator precision: theme rules accept backtick quotes, ignore unrelated localStorage keys (e.g. sidebar state) and lookalike classes such as .dark-mode.
  • Agent template: templates/cursor/basecoat-designer.mdc covers the audit/restyle path and theme rules.
  • Release hygiene: 1.5.0 never reached npm or the MCP Registry (server.json stuck at 1.4.0 with a description over the registry's 100-character limit). Tests now read the version from package.json; release runbook fixed (broken markdown, missing server.json/MCP Registry steps, nonexistent gh discussion command).
  • Packaging: the git-ignored local probe tests/fixtures/offline-dashboard/ (incl. a 276 kB lockfile) no longer ships in the npm tarball (482 kB → 412 kB); guarded by a package-contract test.
  • Repository: README badges and npx quick start, SECURITY.md, issue/PR templates, tmp/ ignored.

1.5.0 - 2026-10-04

  • Framework Flexibility: Decoupled the MCP documentation and heuristics from Astro. Renamed src/design/astro.ts to src/design/integration.ts and replaced basecoat://integration/astro with a framework-agnostic basecoat://integration/frameworks endpoint (supporting Next.js, Express, HTML, Astro, etc.).
  • Strict UI Validation (Emojis & CDNs): Hardened validate_composition to explicitly reject emojis (\p{Extended_Pictographic}) and external CDN references for scripts or stylesheets, enforcing neutral UI and inline SVG usage (e.g. Phosphor Icons).
  • Template Safety: Prevented syntax bugs in templates by wrapping client scripts in HTML comments, stopping raw \n pollution in <head> elements during generation.
  • New Macros: Added data-bulk-actions (with responsive flex-wrap) and product-detail-layout to support complex dashboards and detail views.
  • Strict Palette Rules: Updated design rhythm rules (basecoat-designer.mdc) to strictly forbid aggressive color choices in favor of a neutral zinc/slate palette, mimicking shadcn/ui.

1.4.0 - 2026-09-30

  • Expanded macro block registry with 14 new and updated block blueprints covering core shadcn UI blocks in Basecoat UI (Astro & Tailwind CSS 4):
    • Auth Blocks: auth-sign-in (enhanced with GitHub/Google OAuth, divider, signup link, FSM binding), auth-sign-up (name, email, password, terms, OAuth), auth-split-screen (split-screen auth frame with left form slot and right branded hero media).
    • Sidebar Variations: sidebar-inset-shell (inset app shell with header and content canvas slots), sidebar-collapsible-icon (icon rail navigation with badge slots), sidebar-mobile-flyout (mobile drawer/flyout with backdrop and close trigger).
    • Application & Workspace Blocks: settings-workspace (profile/billing/notifications tabs and field cards), detail-drawer-panel (slide-over inspection drawer), data-table-detail-layout (data workspace hosting filters, table, pager, and slide-over detail drawer).
    • Marketing & Content Blocks: pricing-tiers (3-tier pricing table with Starter, Pro with badge, Enterprise), newsletter-waitlist (marketing waitlist/newsletter banner), empty-state (dashed border placeholder with CTA slot), error-boundary (404/500 error display with action buttons).
    • Form Blocks: form-section (multi-column form card with validation states, helper copy, grid layout, fieldsets).
  • Added 4 new multi-page and multi-block macro recipes in src/macros/authoring/recipes/:
    • auth-split-flow: split-screen auth frame hosting auth-sign-in and auth-sign-up.
    • workspace-settings: inset app shell, sidebar navigation, header, and settings workspace tabs.
    • workspace-detail: data table layout with slide-over record inspection drawer.
    • marketing-pricing: pricing tiers with waitlist/newsletter banner.
    • Updated auth-flow with bidirectional routing between sign-in and sign-up.
  • Expanded semantic FSM recipes in src/semantics/fixtures.ts:
    • Added navigation FSM recipe (expanded, collapsed, mobile-open, mobile-closing).
    • Added auth-flow FSM recipe (idle, submitting, authenticated, error, recovery-requested, reset-required).
    • Added tabs FSM recipe (active, switching, inactive).
    • Preserved dialog and collapsible-navigation recipes (5 recipes, 6 aliases).
  • Enforced landmark composition invariants across all blocks: shells main: 0, primaryHeading: 0, headers main: 0, primaryHeading: 1, canvases main: 1, primaryHeading: 0.
  • Enforced strict rhythm spacing steps (0, 2, 4, 6, 12, auto) and Emmet string length limit (LIMITS.emmetMax = 1200) across all blueprints.
  • Resolved all 6 findings from the 2026-09-30 evaluation report:
    • Budget & Pagination: search_macro_blocks returns compact hit identifiers (ref, id, role, family) with search indexing retained across descriptions and tags, delivering 15+ results per page under the strict MAX_DETAIL_BYTES = 1999 protocol budget. pageRecords gains an optional maxBytes budget override.
    • Layout Rhythm Family: Added the layout family to DEFAULT_RHYTHM_PROFILE in src/semantics/fixtures.ts (container-max-w, container-prose-max-w, aspect-video-ratio) and layouts alias in src/semantics/tools.ts, eliminating the NOT_FOUND error on get_rhythm_rules({ profile: "default", family: "layout" }).
    • Recipe Alias Resolution: getBlock now explicitly identifies recipe aliases and throws `EXPECTED_BLOCK_GOT_RECI...
Read more

v1.6.4 - SDK compatibility

Choose a tag to compare

@zygiu-zygis zygiu-zygis released this 06 Oct 22:56

1.6.4 - 2026-10-07 - Upgraded @modelcontextprotocol/sdk to 1.32.1


  • Added raw offline stdio coverage for omitted optional and required arguments.
  • Verified package, transport, semantic, block, and release parity contracts.

v1.6.3 - Documentation & Registry Hygiene

Choose a tag to compare

@zygiu-zygis zygiu-zygis released this 05 Oct 14:52
  • Removed broken/deprecated MCP Registry badge and external registry endpoint references from README and release runbooks, keeping clean authoritative npm and GitHub metadata.

v1.6.2 - Authentic Theme Switcher SVGs, 8 Style Packs, and Composition Testing

Choose a tag to compare

@zygiu-zygis zygiu-zygis released this 05 Oct 00:08

Highlights in v1.6.2

  • Authentic Theme Switcher SVGs: Upgraded theme-switcher component markup in the registry from text placeholders ("L"/"D") to authentic Lucide Sun and Moon SVGs (lucide-sun, lucide-moon) with size-8, size-4, and aria-hidden="true", strictly fitting within the MCP 1999-byte budget (1816 bytes) while matching upstream basecoatui.com.
  • Basecoat Style Packs (Presets): Documented all 8 official Basecoat style families (Vega, Nova, Maia, Lyra, Mira, Luma, Sera, Rhea) in basecoat://design/theming and basecoat://integration/frameworks. Added the Header Control Cluster pattern (Style Variant Select + Theme Switcher) for effortless site design and theme switching.
  • Cursor Designer Agent Update: Updated templates/cursor/basecoat-designer.mdc to guide autonomous agents in selecting official style packs and placing paired header controls.
  • Test Coverage Expansion: Added tests/style-presets-and-composition.test.ts covering style packs contracts, theme-switcher accessibility and byte bounds, full website compositions (headers, sidebar dashboard shells), and theme strategy conflict detection (200 tests passing).

v1.6.1 - MCP Robustness & Color Palettes

Choose a tag to compare

@zygiu-zygis zygiu-zygis released this 04 Oct 22:20
  • MCP Robustness: Relaxed get_macro_block validation to allow id as an alias for idOrRef and default section to manifest, preventing agent errors when omitting parameters.
  • Design Contract: Clarified in basecoat://design/theming that the system supports multiple shadcn/ui color palettes while keeping neutral as the default.