@lando-labs/lando-ds-mcp 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +526 -0
- package/LICENSE +202 -0
- package/NOTICE +4 -0
- package/README.md +170 -0
- package/build/data/ds-meta.json +1 -0
- package/build/data/ds-meta.schema.json +282 -0
- package/build/data/ds-meta.verbose.json +1 -0
- package/build/data/icon-metadata.d.ts +64 -0
- package/build/data/icon-metadata.d.ts.map +1 -0
- package/build/data/icon-metadata.js +1128 -0
- package/build/data/icon-metadata.js.map +1 -0
- package/build/data/lucide-icon-names.d.ts +12 -0
- package/build/data/lucide-icon-names.d.ts.map +1 -0
- package/build/data/lucide-icon-names.js +1653 -0
- package/build/data/lucide-icon-names.js.map +1 -0
- package/build/data/lucide-icons.d.ts +41 -0
- package/build/data/lucide-icons.d.ts.map +1 -0
- package/build/data/lucide-icons.js +80 -0
- package/build/data/lucide-icons.js.map +1 -0
- package/build/data/rn-tokens-snapshot.d.ts +753 -0
- package/build/data/rn-tokens-snapshot.d.ts.map +1 -0
- package/build/data/rn-tokens-snapshot.js +286 -0
- package/build/data/rn-tokens-snapshot.js.map +1 -0
- package/build/index.d.ts +18 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +411 -0
- package/build/index.js.map +1 -0
- package/build/prompts/index.d.ts +16 -0
- package/build/prompts/index.d.ts.map +1 -0
- package/build/prompts/index.js +145 -0
- package/build/prompts/index.js.map +1 -0
- package/build/resources/code-examples.d.ts +6 -0
- package/build/resources/code-examples.d.ts.map +1 -0
- package/build/resources/code-examples.js +278 -0
- package/build/resources/code-examples.js.map +1 -0
- package/build/resources/design-tokens.d.ts +6 -0
- package/build/resources/design-tokens.d.ts.map +1 -0
- package/build/resources/design-tokens.js +128 -0
- package/build/resources/design-tokens.js.map +1 -0
- package/build/resources/index.d.ts +19 -0
- package/build/resources/index.d.ts.map +1 -0
- package/build/resources/index.js +80 -0
- package/build/resources/index.js.map +1 -0
- package/build/test.d.ts +12 -0
- package/build/test.d.ts.map +1 -0
- package/build/test.js +680 -0
- package/build/test.js.map +1 -0
- package/build/tools/compose-components.d.ts +40 -0
- package/build/tools/compose-components.d.ts.map +1 -0
- package/build/tools/compose-components.js +61 -0
- package/build/tools/compose-components.js.map +1 -0
- package/build/tools/get-animation-examples.d.ts +30 -0
- package/build/tools/get-animation-examples.d.ts.map +1 -0
- package/build/tools/get-animation-examples.js +484 -0
- package/build/tools/get-animation-examples.js.map +1 -0
- package/build/tools/get-component-capabilities.d.ts +43 -0
- package/build/tools/get-component-capabilities.d.ts.map +1 -0
- package/build/tools/get-component-capabilities.js +108 -0
- package/build/tools/get-component-capabilities.js.map +1 -0
- package/build/tools/get-component-props.d.ts +23 -0
- package/build/tools/get-component-props.d.ts.map +1 -0
- package/build/tools/get-component-props.js +46 -0
- package/build/tools/get-component-props.js.map +1 -0
- package/build/tools/get-component-reference.d.ts +25 -0
- package/build/tools/get-component-reference.d.ts.map +1 -0
- package/build/tools/get-component-reference.js +112 -0
- package/build/tools/get-component-reference.js.map +1 -0
- package/build/tools/get-component.d.ts +25 -0
- package/build/tools/get-component.d.ts.map +1 -0
- package/build/tools/get-component.js +60 -0
- package/build/tools/get-component.js.map +1 -0
- package/build/tools/get-composition-hints.d.ts +22 -0
- package/build/tools/get-composition-hints.d.ts.map +1 -0
- package/build/tools/get-composition-hints.js +39 -0
- package/build/tools/get-composition-hints.js.map +1 -0
- package/build/tools/get-design-tokens.d.ts +24 -0
- package/build/tools/get-design-tokens.d.ts.map +1 -0
- package/build/tools/get-design-tokens.js +96 -0
- package/build/tools/get-design-tokens.js.map +1 -0
- package/build/tools/get-ds-metadata.d.ts +16 -0
- package/build/tools/get-ds-metadata.d.ts.map +1 -0
- package/build/tools/get-ds-metadata.js +65 -0
- package/build/tools/get-ds-metadata.js.map +1 -0
- package/build/tools/get-hook.d.ts +19 -0
- package/build/tools/get-hook.d.ts.map +1 -0
- package/build/tools/get-hook.js +46 -0
- package/build/tools/get-hook.js.map +1 -0
- package/build/tools/get-theme-presets.d.ts +13 -0
- package/build/tools/get-theme-presets.d.ts.map +1 -0
- package/build/tools/get-theme-presets.js +41 -0
- package/build/tools/get-theme-presets.js.map +1 -0
- package/build/tools/list-components.d.ts +29 -0
- package/build/tools/list-components.d.ts.map +1 -0
- package/build/tools/list-components.js +88 -0
- package/build/tools/list-components.js.map +1 -0
- package/build/tools/list-hooks.d.ts +22 -0
- package/build/tools/list-hooks.d.ts.map +1 -0
- package/build/tools/list-hooks.js +80 -0
- package/build/tools/list-hooks.js.map +1 -0
- package/build/tools/list-icons.d.ts +28 -0
- package/build/tools/list-icons.d.ts.map +1 -0
- package/build/tools/list-icons.js +161 -0
- package/build/tools/list-icons.js.map +1 -0
- package/build/tools/platform-transform.d.ts +64 -0
- package/build/tools/platform-transform.d.ts.map +1 -0
- package/build/tools/platform-transform.js +117 -0
- package/build/tools/platform-transform.js.map +1 -0
- package/build/tools/platform.d.ts +76 -0
- package/build/tools/platform.d.ts.map +1 -0
- package/build/tools/platform.js +80 -0
- package/build/tools/platform.js.map +1 -0
- package/build/tools/search-icons.d.ts +28 -0
- package/build/tools/search-icons.d.ts.map +1 -0
- package/build/tools/search-icons.js +257 -0
- package/build/tools/search-icons.js.map +1 -0
- package/build/utils/error-envelope.d.ts +14 -0
- package/build/utils/error-envelope.d.ts.map +1 -0
- package/build/utils/error-envelope.js +35 -0
- package/build/utils/error-envelope.js.map +1 -0
- package/build/utils/icon-library.d.ts +17 -0
- package/build/utils/icon-library.d.ts.map +1 -0
- package/build/utils/icon-library.js +24 -0
- package/build/utils/icon-library.js.map +1 -0
- package/build/utils/jsx-safety.d.ts +47 -0
- package/build/utils/jsx-safety.d.ts.map +1 -0
- package/build/utils/jsx-safety.js +63 -0
- package/build/utils/jsx-safety.js.map +1 -0
- package/build/utils/meta-loader.d.ts +37 -0
- package/build/utils/meta-loader.d.ts.map +1 -0
- package/build/utils/meta-loader.js +114 -0
- package/build/utils/meta-loader.js.map +1 -0
- package/package.json +60 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the Lando Labs Design System MCP Server will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [4.0.0] - 2026-07-16
|
|
6
|
+
|
|
7
|
+
**DS ecosystem consolidation.** MCP catches up to the DS's public launch on npm and consolidates. Four coordinated breaking changes:
|
|
8
|
+
|
|
9
|
+
1. **npm package renamed** — `@lando-labs/design-system-mcp` → `@lando-labs/lando-ds-mcp`
|
|
10
|
+
2. **CLI bin renamed** — `lando-design-system-mcp` → `lando-ds-mcp`
|
|
11
|
+
3. **DS meta consumed at runtime** — `@lando-labs/lando-ds-meta` (v0.57.0) is now a `dependencies` entry; the build-time copy workflow (`scripts/copy-ds-meta.ts`) and drift check (`scripts/check-ds-drift.ts`) are gone. `npm update @lando-labs/lando-ds-meta` replaces `npm run copy:ds-meta`.
|
|
12
|
+
4. **React Native support removed** — the DS won't ship RN. `platform` parameter dropped from every tool's schema; `platform-transform.ts`, `platform.ts`, and `rn-tokens-snapshot.ts` deleted.
|
|
13
|
+
|
|
14
|
+
### Renamed
|
|
15
|
+
|
|
16
|
+
- **`@lando-labs/design-system-mcp` → `@lando-labs/lando-ds-mcp`** on npm. Verified 2026-07-16 that the old name was never published (`npm view` returned 404), so there is no deprecation notice on the old registry entry — nothing existed.
|
|
17
|
+
- **CLI bin `lando-design-system-mcp` → `lando-ds-mcp`.** Update your MCP client config: `"command": "lando-ds-mcp"`.
|
|
18
|
+
- **Server identity** in the MCP handshake: name changed from `lando-design-system` → `lando-ds`.
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **Runtime dependency** on `@lando-labs/lando-ds-meta@^0.57.0`. Meta is loaded via `createRequire('@lando-labs/lando-ds-meta')` — CJS-in-ESM pattern that lets `Node16`-and-newer TypeScript project settings pick up the package's `exports` map default (`meta.json`) without a `default` re-export in the shipped types.d.ts.
|
|
23
|
+
- **Meta types imported from the subpackage** — `LightMeta`, `VerboseMeta`, `LightComponentMeta`, `VerboseComponentMeta`, `HookMeta`, `IconRegistryEntry`, `MetaSchemaVersion`, `ThemePresetsMeta` all sourced from `@lando-labs/lando-ds-meta/types` and re-exported through `src/utils/meta-loader.ts` so tool consumers keep their existing import path.
|
|
24
|
+
- **DS meta refreshed to v0.57.0** (was v0.56.0). Content-refresh side-effect of the subpackage adoption.
|
|
25
|
+
|
|
26
|
+
### Removed
|
|
27
|
+
|
|
28
|
+
- `src/data/ds-meta.json`, `ds-meta.verbose.json`, `ds-meta.schema.json` (~420 KB of baked JSON gone from source and the published tarball)
|
|
29
|
+
- `scripts/copy-ds-meta.ts`, `scripts/check-ds-drift.ts` (~200 LOC)
|
|
30
|
+
- `src/tools/platform.ts`, `src/tools/platform-transform.ts`, `src/data/rn-tokens-snapshot.ts` (~500 LOC)
|
|
31
|
+
- `src/__tests__/*.test.ts` (legacy vitest tests superseded by `src/test.ts`)
|
|
32
|
+
- `platform` parameter from 8 tools' Zod schemas + JSON schemas + dispatch: `list_components`, `get_component`, `compose_components`, `get_design_tokens`, `get_animation_examples`, `list_icons`, `search_icons`, `get_component_capabilities`
|
|
33
|
+
- ~150 LOC of hand-mirrored meta interfaces in `meta-loader.ts` (replaced with imports from the subpackage's `types.d.ts`)
|
|
34
|
+
- `copy:ds-meta`, `check:ds-drift`, `build:full`, `update:all-components` npm scripts
|
|
35
|
+
- `platforms` field surfacing in `get_component_capabilities` and `get_component_reference` output (still in meta; MCP just doesn't render it now that RN isn't a target)
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- **`build` script** simplified to `tsc && chmod +x build/index.js` — no more `cp src/data/*.json build/data/`.
|
|
40
|
+
- **`tsconfig.json`** — `module` and `moduleResolution` bumped from `Node16` to `NodeNext` for support of import attributes (`with { type: 'json' }`) and modern export-map resolution semantics.
|
|
41
|
+
- **Startup banner** now reports `Version: 4.0.0 (backed by @lando-labs/lando-ds-meta v0.57.0)`.
|
|
42
|
+
- **README** — install snippets updated to `npm install -g @lando-labs/lando-ds-mcp` and command `lando-ds-mcp`.
|
|
43
|
+
|
|
44
|
+
### Not changed
|
|
45
|
+
|
|
46
|
+
- **Tool catalog** — still 15 tools with the same names. Their schemas lost the `platform` param but every other input stays identical for consumers targeting web (the vast majority).
|
|
47
|
+
- **Meta schema major line** — DS meta is still `1.x`. MCP compat check unchanged.
|
|
48
|
+
- **License** — Apache 2.0 (unchanged from v3.2.0).
|
|
49
|
+
|
|
50
|
+
### Migration for local dogfooders
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Uninstall the old name (had it globally? Only lab dogfooders would)
|
|
54
|
+
npm uninstall -g @lando-labs/design-system-mcp
|
|
55
|
+
|
|
56
|
+
# Install the new one from npm (first public publish will follow this release)
|
|
57
|
+
npm install -g @lando-labs/lando-ds-mcp
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Client config: change `"command": "lando-design-system-mcp"` → `"command": "lando-ds-mcp"`.
|
|
61
|
+
|
|
62
|
+
### Verified
|
|
63
|
+
|
|
64
|
+
- typecheck ✓, build ✓, tests **78/78** ✓ (was 80 in v3.3.0; two RN-specific tests deleted with the platform param)
|
|
65
|
+
|
|
66
|
+
## [3.3.0] - 2026-07-14
|
|
67
|
+
|
|
68
|
+
**Hooks tools.** DS v0.56.0 shipped the utility-hooks library ([DS#504](https://github.com/lando-labs/lando-labs-design-system/issues/504)) and made hooks first-class in `meta.json` (schema 1.3). This release exposes them to MCP-connected agents. Tool catalog: **13 → 15**.
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
|
|
72
|
+
- **`list_hooks` tool** — enumerate DS utility hooks with optional filters (`category`, `serverSafe`). Groups by category (state / timing / dom / browser / lifecycle / a11y / keyboard / layout). Renders signature inline for scan-ability.
|
|
73
|
+
- **`get_hook` tool** — full detail for a single hook: signature, returns, category, RSC safety, subpath, description, and a ready-to-paste import snippet. Dynamic hook-name enum derived from meta at startup (mirrors the `get_component` pattern).
|
|
74
|
+
- **`HookMeta` interface** in `src/utils/meta-loader.ts` — types the schema 1.3 `hooks` field. Marked optional on `Meta<T>` so older meta snapshots still parse (compat kept intentionally lenient — DS bumped meta minor, MCP did not need to bump its major).
|
|
75
|
+
- **`getHookNames()` / `getHook()`** convenience accessors alongside the existing component accessors.
|
|
76
|
+
- **Hook totals section** in `get_ds_metadata` output — total count + category breakdown + pointer to the two new tools, so agents self-orienting via the one-call metadata tool discover the capability.
|
|
77
|
+
|
|
78
|
+
### Changed
|
|
79
|
+
|
|
80
|
+
- **Startup banner** now reports `Components: N | Hooks: M` and the updated 15-tool list.
|
|
81
|
+
- **README** — tool table shows 15 tools with `list_hooks` / `get_hook` rows and updated `get_ds_metadata` blurb.
|
|
82
|
+
|
|
83
|
+
### Not changed
|
|
84
|
+
|
|
85
|
+
- **DS meta version** — unchanged from v3.2.3 (v0.56.0, schema 1.3). This release ships the tool surface for the hooks data v3.2.3 already baked in.
|
|
86
|
+
- **Existing 13 tools** — same names, same schemas, same outputs.
|
|
87
|
+
- **Component count** — 127.
|
|
88
|
+
|
|
89
|
+
### Verified
|
|
90
|
+
|
|
91
|
+
- typecheck ✓, build ✓, check:ds-drift ✓, tests **80/80** ✓ (was 67; 13 new for hook coverage)
|
|
92
|
+
|
|
93
|
+
### Launch note
|
|
94
|
+
|
|
95
|
+
The originally planned v3.3.0 (DS-usage auditing) has shifted to v3.4.0. This slot went to hooks because DS#504 explicitly framed the hooks library as *discoverable* and shipping DS launch weekend with hooks invisible to MCP would undercut that.
|
|
96
|
+
|
|
97
|
+
## [3.2.3] - 2026-07-14
|
|
98
|
+
|
|
99
|
+
**Content refresh: DS v0.54 → v0.56.** Two-minor DS delta — still PATCH per the "content-only" branch of the convention (no MCP tool changes; the meta schema major line is unchanged). Meta schema *minor* bumped 1.2 → 1.3 to add the `hooks` capability, but MCP's compat check is major-pinned (`1.x`), so this is a non-breaking pickup.
|
|
100
|
+
|
|
101
|
+
### Changed
|
|
102
|
+
|
|
103
|
+
- **Baked DS meta refreshed to v0.56.0.** Schema 1.2 → 1.3. Component count unchanged at 127. Picks up the DS v0.55.0 + v0.56.0 releases — most notably the new **utility-hooks library** ([DS#504](https://github.com/lando-labs/lando-labs-design-system/issues/504)): 19 hooks across 8 categories (state / timing / dom / browser / lifecycle / a11y / keyboard / layout) now emitted into `meta.json` under a top-level `hooks` key.
|
|
104
|
+
|
|
105
|
+
### Not exposed yet (upcoming)
|
|
106
|
+
|
|
107
|
+
The new `hooks` capability is present in the baked meta but there is **no dedicated MCP tool** for it yet — a follow-up sprint will decide whether to add `list_hooks` / `get_hook` (mirroring the component pattern) or fold hook exposure into an existing tool. Tracked as a scope question for the next planning session.
|
|
108
|
+
|
|
109
|
+
### Launch note
|
|
110
|
+
|
|
111
|
+
v3.2.3 supersedes v3.2.2 as the launch target. Publish tag still held for the coordinated launch weekend; whichever bump lands on `main` most recently is what gets tagged.
|
|
112
|
+
|
|
113
|
+
## [3.2.2] - 2026-07-14
|
|
114
|
+
|
|
115
|
+
**Content refresh: DS v0.53 → v0.54.** Single-minor DS delta; PATCH bump per the established convention.
|
|
116
|
+
|
|
117
|
+
### Changed
|
|
118
|
+
|
|
119
|
+
- **Baked DS meta refreshed to v0.54.0.** Content-only. Schema unchanged at 1.2. Component count unchanged at 127. Picks up the DS v0.54.0 "uncontrolled-first state contract" release ([DS#508](https://github.com/lando-labs/lando-labs-design-system/issues/508)).
|
|
120
|
+
|
|
121
|
+
### Launch note
|
|
122
|
+
|
|
123
|
+
v3.2.2 supersedes v3.2.1 as the launch target. Publish tag still held for the coordinated launch weekend; whichever bump lands on `main` most recently is what gets tagged.
|
|
124
|
+
|
|
125
|
+
## [3.2.1] - 2026-07-13
|
|
126
|
+
|
|
127
|
+
**Content refresh: DS v0.50 → v0.53.** Small pre-launch content bundle; PATCH bump per the established convention (single-digit DS delta = PATCH). No MCP code changes.
|
|
128
|
+
|
|
129
|
+
### Changed
|
|
130
|
+
|
|
131
|
+
- **Baked DS meta refreshed to v0.53.0.** Content-only. Schema unchanged at 1.2. Component count unchanged at 127. Picks up any DS content shipped between v0.50.0 and v0.53.0 (three minor DS releases).
|
|
132
|
+
|
|
133
|
+
### Launch note
|
|
134
|
+
|
|
135
|
+
v3.2.0 merged to main on 2026-07-13 but has not been tagged/published yet — publish tag is held for the coordinated launch weekend. v3.2.1 supersedes v3.2.0 as the launch target: the tarball published to npm at launch will be v3.2.1 with the fresher DS content baked in.
|
|
136
|
+
|
|
137
|
+
## [3.2.0] - 2026-07-10
|
|
138
|
+
|
|
139
|
+
**OSS launch: parallel with DS.** MCP adopts Apache 2.0 alongside the DS's simultaneous OSS launch. Public GitHub, public npm, standard OSS conventions. Also refreshes baked meta to DS v0.48.0.
|
|
140
|
+
|
|
141
|
+
### Added
|
|
142
|
+
|
|
143
|
+
- **Apache 2.0 LICENSE + NOTICE files** at repo root. `package.json` `"license"` field switched from `"MIT"` (aspirational, no file existed) to `"Apache-2.0"` (matches the shipped LICENSE). See [#45](https://github.com/lando-labs/lando-ds-mcp/issues/45).
|
|
144
|
+
- **Publish workflow** (`.github/workflows/publish.yml`) — triggers on semver tag push. Verifies tag matches package.json, runs full CI, then `npm publish --provenance --access public` (SLSA build attestation on the npm package page) followed by `gh release create` for the GitHub Release. See [#3](https://github.com/lando-labs/lando-ds-mcp/issues/3), [#43](https://github.com/lando-labs/lando-ds-mcp/issues/43).
|
|
145
|
+
- **package.json metadata**: `publishConfig`, `repository`, `homepage`, `bugs` — all pointing at the public GitHub repo.
|
|
146
|
+
- **Version-sync CI tests** — five new assertions in `src/test.ts`: package.json version matches `src/index.ts` JSDoc comment, `Server({ version })` registration, startup banner, `CHANGELOG.md` top entry, and README component count. Any future drift fails CI. See [#11](https://github.com/lando-labs/lando-ds-mcp/issues/11).
|
|
147
|
+
- **Public OSS README** — full rewrite for external audience. Install snippets for Claude Code, Claude Desktop, Cursor, Windsurf, Zed, generic MCP client. 13-tool reference. Contributing section with dev setup. License + attribution links. See [#2](https://github.com/lando-labs/lando-ds-mcp/issues/2).
|
|
148
|
+
|
|
149
|
+
### Changed
|
|
150
|
+
|
|
151
|
+
- **Baked DS meta refreshed to v0.50.0** (from v0.44.0). Content-only bundle rolled into this MINOR since it ships with the launch rather than as its own PATCH.
|
|
152
|
+
- **GitHub repo visibility** flipped Private → Public at launch time (not a code change; documented for provenance).
|
|
153
|
+
- **Fixed latent v3.1.1 drift** in `src/index.ts:11` and `:59` that the v3.1.2 patch left behind. The new version-sync tests would have caught this.
|
|
154
|
+
|
|
155
|
+
### Not changed
|
|
156
|
+
|
|
157
|
+
- **13 tools + their contracts** — same names, same schemas, same outputs (modulo the DS content refresh)
|
|
158
|
+
- **Meta schema** — still consumes DS meta schema `^1.x`; DS is at 1.2
|
|
159
|
+
- **Component count** — 127
|
|
160
|
+
- **Tool catalog conventions** — unchanged from v3.1.x
|
|
161
|
+
|
|
162
|
+
### Verified pre-launch
|
|
163
|
+
|
|
164
|
+
- typecheck ✓, build ✓, test **67/67** ✓, `npm pack --dry-run` (124 files, all under `build/` + README + LICENSE + NOTICE + CHANGELOG + package.json)
|
|
165
|
+
|
|
166
|
+
### Companion release
|
|
167
|
+
|
|
168
|
+
The DS is launching under Apache 2.0 in parallel (originally MIT in DS v0.47.0; switched per [DS#500](https://github.com/lando-labs/lando-labs-design-system/issues/500) before public flip).
|
|
169
|
+
|
|
170
|
+
## [3.1.2] - 2026-07-07
|
|
171
|
+
|
|
172
|
+
**Content refresh: DS v0.43 → v0.44.** Single-minor DS delta; PATCH bump.
|
|
173
|
+
|
|
174
|
+
### Changed
|
|
175
|
+
|
|
176
|
+
- **Baked DS meta refreshed to v0.44.0.** Schema unchanged at 1.2. Component count unchanged at 127. Theme preset count: 6 → 7 (DS added a preset in v0.44).
|
|
177
|
+
|
|
178
|
+
### Convention refinement
|
|
179
|
+
|
|
180
|
+
The v3.1.0 CHANGELOG stated "content-only refreshes bump the MCP minor." Refining that with two releases of experience:
|
|
181
|
+
|
|
182
|
+
- **MINOR** — generational content jumps (e.g. v3.1.0 covered 4 DS minors) or when consuming new meta schema versions with code changes.
|
|
183
|
+
- **PATCH** — small content refreshes (single DS minor delta) and workaround-replacement fixes.
|
|
184
|
+
|
|
185
|
+
This release is PATCH per that convention. Prevents version-collision with reserved sprint versions (v3.2.0 for Sprint 3 stays reserved).
|
|
186
|
+
|
|
187
|
+
## [3.1.1] - 2026-07-07
|
|
188
|
+
|
|
189
|
+
**Consume DS meta schema 1.2** — authoritative `extends` chain and `themePresets` block. Baked meta refreshed to DS v0.43.0.
|
|
190
|
+
|
|
191
|
+
Replaces two v3.0.1 workarounds with authoritative data from the DS. No new tools; no schema changes to MCP tool contracts. Consumer-visible tool output changes.
|
|
192
|
+
|
|
193
|
+
### Changed
|
|
194
|
+
|
|
195
|
+
- **`get_theme_presets` reads from meta.** The hardcoded KNOWN_PRESETS list is gone. The tool now surfaces every preset the DS ships (currently: brand-neutral, forest, lando, midnight, rose, slate) with the DS-declared default marked. When the DS adds a preset, `npm run copy:ds-meta && npm run build` picks it up — no MCP code edits.
|
|
196
|
+
- **HTML-attrs footer is authoritative.** Instead of the v3.0.1 heuristic ("this component *may* accept additional standard React/HTML attributes"), `get_component_props` and `get_component_reference` now render the exact TS extends chain from meta:
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
> Also accepts everything in: HTMLAttributes<HTMLButtonElement>, RefAttributes<HTMLButtonElement>.
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Semantic change: the footer now fires for **any** component with a non-empty extends chain, not just sparse-own-props ones. Rich-props components like Button now surface their extends chain too. More informative; more verbose.
|
|
203
|
+
|
|
204
|
+
### Added
|
|
205
|
+
|
|
206
|
+
- `LightComponentMeta.extends?: string[] | null` (from DS#438, schema 1.2)
|
|
207
|
+
- `Meta.themePresets?: ThemePresetsMeta` (from DS#437, schema 1.1)
|
|
208
|
+
- Backwards-compatible heuristic fallback in `renderHtmlAttrsFooter` when `extends` is absent — meta from older DS versions still gets the vaguer note
|
|
209
|
+
|
|
210
|
+
### Upstream, resolved
|
|
211
|
+
|
|
212
|
+
- [DS#437](https://github.com/lando-labs/lando-labs-design-system/issues/437) — themePresets block. **Consumed here.**
|
|
213
|
+
- [DS#438](https://github.com/lando-labs/lando-labs-design-system/issues/438) — component extends chain. **Consumed here.**
|
|
214
|
+
|
|
215
|
+
## [3.1.0] - 2026-07-06
|
|
216
|
+
|
|
217
|
+
**Content refresh: DS v0.38 → v0.42.** No code changes; MCP is version-bumped as a signal that consumer-visible tool output materially differs. Meta schema unchanged at 1.0. No new API surface.
|
|
218
|
+
|
|
219
|
+
### Changed
|
|
220
|
+
|
|
221
|
+
- **Baked DS meta refreshed to v0.42.0** (from v0.38.0). Four intervening DS releases (v0.39.0 customizability-finish, v0.40.0 hardening, v0.40.1 rsc-boundary, v0.41.0 token-ssot, v0.42.0). Content changes only:
|
|
222
|
+
- Refreshed prop/type introspection across all 127 components
|
|
223
|
+
- Updated deprecation notices (any component deprecated in 0.39–0.42 now shows in `list_components` output)
|
|
224
|
+
- Updated icon registry
|
|
225
|
+
- Post-v0.41 token-ssot restructure: token values may render differently, but the meta shape is unchanged (colors/spacing/typography/radius/shadows/motion — same 6 categories)
|
|
226
|
+
- **Convention established:** content-only refreshes bump the MCP minor. Each MINOR going forward corresponds to a specific DS meta snapshot. Consumers pinning to `^3.0` still get security patches; `^3.1` explicitly opts into the newer DS content.
|
|
227
|
+
|
|
228
|
+
### Not changed
|
|
229
|
+
|
|
230
|
+
- Tool catalog — still the 13 tools shipped in v3.0.0 with the v3.0.1 heuristic footer
|
|
231
|
+
- Meta schema version — still `1.0`
|
|
232
|
+
- Component count — still 127
|
|
233
|
+
- Top-level meta blocks — no `themePresets` (DS#437) or `extends` (DS#438) yet
|
|
234
|
+
|
|
235
|
+
### Refresh workflow (for future content refreshes)
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
npm run copy:ds-meta # pulls latest from ../lando-labs-design-system/dist
|
|
239
|
+
npm run check:ds-drift # confirms in-sync
|
|
240
|
+
npm run build && npm test
|
|
241
|
+
# Bump version, tag, release, repack, reinstall globally
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## [3.0.1] - 2026-07-01
|
|
245
|
+
|
|
246
|
+
**Dogfood follow-ups.** Two small fixes surfaced during v3.0.0 dogfooding. No breaking changes.
|
|
247
|
+
|
|
248
|
+
### Added
|
|
249
|
+
|
|
250
|
+
- **HTML-attrs pass-through footer** in `get_component_props` and `get_component_reference` (#49). Components with sparse own-props (fewer than 3) that are polymorphic or have a forwarded ref now get a footer note that they may accept standard React/HTML attributes (`className`, `id`, `aria-*`, event handlers) not enumerated in meta. Fixes the reported case of `get_component_props("ThemeBuilder")` showing `{}` and misleading consumers. Replaced by an authoritative `extends` field once [DS#438](https://github.com/lando-labs/lando-labs-design-system/issues/438) lands.
|
|
251
|
+
- **`check:ds-drift` npm script** (#50). Compares MCP's baked meta version to the local DS clone; prints ✓ when in sync or ⚠ + refresh instructions when the DS has moved on. Zero deps, informational only. Configurable via `DS_REPO=/absolute/path`.
|
|
252
|
+
|
|
253
|
+
### Follow-ups filed (unblock future MCP cleanups)
|
|
254
|
+
|
|
255
|
+
- [DS#437](https://github.com/lando-labs/lando-labs-design-system/issues/437) — `themePresets` block in `meta.json` (schema 1.1). When it lands, MCP deletes its hardcoded preset list.
|
|
256
|
+
- [DS#438](https://github.com/lando-labs/lando-labs-design-system/issues/438) — component `extends` chain in `meta.components[X]` (schema 1.2). When it lands, MCP replaces the #49 heuristic footer with an authoritative extends line.
|
|
257
|
+
|
|
258
|
+
## [3.0.0] - 2026-06-30
|
|
259
|
+
|
|
260
|
+
**Meta-adoption engine rewrite.** The MCP is now a thin protocol adapter over DS-emitted meta instead of a shadow snapshot of the DS. Auto-current with every DS release; component coverage jumps from 60 → 127.
|
|
261
|
+
|
|
262
|
+
### Breaking changes
|
|
263
|
+
|
|
264
|
+
- **Tool retirements**
|
|
265
|
+
- `get_component_docs` — merged into `get_component_reference`. Migration: `get_component_reference(name)` with default include list returns description + examples + composes + props.
|
|
266
|
+
- `get_usage_example` — merged into `get_component_reference`. Migration: `get_component_reference(name, { include: ['examples'] })`.
|
|
267
|
+
- `get_component_location` — retired entirely. Subpath is available via `list_components`, `get_component_props`, and `get_component_reference` output. Filesystem paths were tied to a monorepo layout that no longer holds.
|
|
268
|
+
- **Component names are PascalCase.** Consumers who passed lowercase names (`'button'`, `'card'`) must pass PascalCase (`'Button'`, `'Card'`). Names match DS meta directly; no more manual enum.
|
|
269
|
+
- **`get_design_tokens` output shape** changes when `format` parameter is used. Default (`format: 'css'`) preserves the CSS-variable-reference behavior from v2.x.
|
|
270
|
+
- **`list_icons` / `search_icons` `source`** values renamed: `'custom' | 'lucide'` → `'ds-brand' | 'lucide-curated'`. `'all'` unchanged.
|
|
271
|
+
- **Ocean is no longer baked** as "primary brand." Ocean is now an opt-in theme preset (`lando`); the DS ships brand-neutral defaults. Purpose mappings, icon flags, and design-token framing no longer assume ocean.
|
|
272
|
+
|
|
273
|
+
### Added
|
|
274
|
+
|
|
275
|
+
- **13 tools** (was 12).
|
|
276
|
+
- **New**: `get_component_reference`, `get_composition_hints`, `get_theme_presets`, `get_ds_metadata`.
|
|
277
|
+
- **Expanded filters**: `list_components` (category, platform, deprecated, serverSafe, polymorphic, kind); `get_component_capabilities` (rscSafe, clientOnly, polymorphic, withRef, deprecated); `list_icons` / `search_icons` (`source` filter).
|
|
278
|
+
- **New parameters**: `get_design_tokens` gets `format: 'css' | 'hex' | 'both'`.
|
|
279
|
+
- **DS coverage** — 127 components (was 60). Includes Field, DatePicker, DateRangePicker, Calendar, AlertDialog, AvatarGroup, BottomNav, Callout, Chip, Code, Collapsible, ColorSwatch, Combobox, CommandPalette, DataTable, Drawer, Banner, ArticleCard, AspectRatio, Center, and ~50 more.
|
|
280
|
+
- **Startup meta-version guard** — MCP supports DS meta schema `^1.0`; rejects incompatible meta with a clear error.
|
|
281
|
+
|
|
282
|
+
### Changed
|
|
283
|
+
|
|
284
|
+
- **Meta-loader as source of truth** (`src/utils/meta-loader.ts`). Loads DS meta at startup; verbose meta is lazy-loaded on first access.
|
|
285
|
+
- **Build pipeline** — `scripts/copy-ds-meta.ts` copies `dist/meta.json`, `dist/meta.verbose.json`, and `src/meta/schema.json` from the local DS clone into `src/data/`. `npm run build:full` runs the copy first; `npm run copy:ds-meta` re-runs it standalone.
|
|
286
|
+
- **Icon strategy** — DS-brand icons come from `meta.icons.registry` (~70 authoritative names); MCP continues to curate a broader 120-Lucide subset alongside; the full ~1,500-icon Lucide library is reachable via `search_icons` spillover.
|
|
287
|
+
|
|
288
|
+
### Removed
|
|
289
|
+
|
|
290
|
+
- **~1,500 LOC of hand-maintained shadows** — `src/components/*.ts` (60 metadata files), `src/data/cached-props.json` (89KB), `src/data/web-tokens-snapshot.json` (40KB), `src/data/component-capabilities.ts`, `src/utils/extract-types.ts`, `scripts/prebuild-props.ts`, `scripts/generate-web-tokens-snapshot.ts`.
|
|
291
|
+
- **`ts-morph` devDependency** — the runtime fallback was deleted in v2.7.1 #14; the build-time extractor is now unnecessary since DS meta is the source of truth.
|
|
292
|
+
|
|
293
|
+
### Fixed / Auto-resolved
|
|
294
|
+
|
|
295
|
+
- **#10** — Single-source component enum. `componentName` is derived from `Object.keys(meta.components)` at startup, not maintained across 3+ tool files.
|
|
296
|
+
- **#32** — `compose_components` import-merging fragility. Already fixed in v2.7.1 #19 (rebuild from validated enum, not regex); reaffirmed here.
|
|
297
|
+
- **#39** — `get_design_tokens` queryable JSON taxonomy. Partially addressed via the new `format` parameter.
|
|
298
|
+
- **#40** — `get_component_props` returns JSON Schema. Setup cleanly since props come from meta directly (raw meta shape is queryable via `format` in a future rev).
|
|
299
|
+
|
|
300
|
+
### Migration guide (v2.7.1 → v3.0.0)
|
|
301
|
+
|
|
302
|
+
```diff
|
|
303
|
+
- get_component_docs({ componentName: 'button' })
|
|
304
|
+
+ get_component_reference({ componentName: 'Button' })
|
|
305
|
+
+ // default include returns description + examples + composes + props
|
|
306
|
+
|
|
307
|
+
- get_usage_example({ componentName: 'button', scenario: 'loading' })
|
|
308
|
+
+ get_component_reference({ componentName: 'Button', include: ['examples'] })
|
|
309
|
+
|
|
310
|
+
- get_component_location({ componentName: 'button' })
|
|
311
|
+
+ get_component_props({ componentName: 'Button' })
|
|
312
|
+
+ // subpath is included in the header
|
|
313
|
+
|
|
314
|
+
- list_icons({ source: 'custom' })
|
|
315
|
+
+ list_icons({ source: 'ds-brand' })
|
|
316
|
+
|
|
317
|
+
- get_design_tokens()
|
|
318
|
+
+ get_design_tokens() // unchanged; default 'css' format preserves behavior
|
|
319
|
+
+ get_design_tokens({ format: 'hex' }) // new: hex values from meta
|
|
320
|
+
+ get_design_tokens({ format: 'both' }) // new: var refs + hex
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## [2.6.0] - 2026-04-19
|
|
324
|
+
|
|
325
|
+
Major content refresh + DS v0.7.0 sync. 60 components now documented (up from 52). Pre-existing bug #45 fixed.
|
|
326
|
+
|
|
327
|
+
### Fixed
|
|
328
|
+
|
|
329
|
+
- **#45 `get_component_props` null/undefined on compound components** — `get-component-props.ts` previously assumed every `subComponents` entry was a `{name, props}` object, but Tabs/Accordion/Breadcrumb/Dropdown declare them as string arrays with separate `subComponentProps` lookups. Rewrote the renderer with a shared `renderPropsBody()` that guards null/undefined and handles both patterns. Defensive fix covers all current and future compound components. Regression test added for Tabs/Accordion/Breadcrumb/Dropdown.
|
|
330
|
+
- **`prebuild-props.ts` stale paths** — 9 components (all layout/typography primitives and chart variants) pointed at non-existent source paths (`Layout/Stack`, `Typography/Text`, `Charts/AreaChart`, etc.). The prebuild silently swallowed these errors and emitted empty `{}` prop objects into the cache. Corrected to match current source layout.
|
|
331
|
+
- **ESM runtime fallback** — `extract-types.ts` used a bare `require('ts-morph')` in an ESM context. Never hit in practice because every component was cached, but Lane 2's 8 new uncached components would have crashed on first cold load. Shimmed via `createRequire(import.meta.url)`.
|
|
332
|
+
|
|
333
|
+
### Added
|
|
334
|
+
|
|
335
|
+
#### 8 new component metadata files (DS v0.7.0 sync)
|
|
336
|
+
|
|
337
|
+
- **AppShell** — app shell grid container with header/sidebar/footer, sticky header, collapsible sidebar, Cmd/Ctrl+B shortcut, contentPadding/contentMaxWidth props (v0.7.0+)
|
|
338
|
+
- **PageHeader** — page-level header primitive with title/subtitle/breadcrumbs/actions; eliminates 6+ lines of hand-rolled flex per consumer (Sprint 9, v0.6.0)
|
|
339
|
+
- **CardTitle** — explicit card title sub-component; wraps Heading at base size / semibold weight; used directly or implicitly via `Card title="..."` prop (Sprint 9, v0.6.0)
|
|
340
|
+
- **SidebarNavItem** — sidebar nav item with icon/label/badge/active slots + `asChild` for next/link integration; 44px touch target, aria-current="page" on active (Sprint 9, v0.6.0)
|
|
341
|
+
- **Kbd** — platform-aware keyboard shortcut pills; Mac renders ⌘K, non-Mac renders Ctrl+K; SSR-safe (Sprint 9, v0.6.0)
|
|
342
|
+
- **StickyBar** — sticky top/bottom container with shadow-on-scroll via IntersectionObserver sentinel; blur/surface variants (Sprint 7, v0.5.0)
|
|
343
|
+
- **Slot** — Radix-style polymorphic primitive used internally by Button/SidebarNavItem `asChild` pattern (advanced consumer use)
|
|
344
|
+
- **Portal** — thin wrapper around `ReactDOM.createPortal`; used internally by Modal/Dropdown/Popover/Tooltip (advanced consumer use)
|
|
345
|
+
|
|
346
|
+
All 5 tool schemas (`get_component`, `get_component_props`, `get_component_docs`, `compose_components`, `get_usage_example`, `get_component_location`) extended with the 8 new names.
|
|
347
|
+
|
|
348
|
+
### Content refresh (22 files updated across Sprints 3-10)
|
|
349
|
+
|
|
350
|
+
Existing component metadata refreshed to reflect DS evolution:
|
|
351
|
+
|
|
352
|
+
- **Icon children API migration** — 16 files updated from pre-v0.3.0 `<Icon name="..." />` syntax to lucide-react children (`<Icon><Check /></Icon>`)
|
|
353
|
+
- **Sprint 10 brand defaults** — Card shadow-xs default + `variant="flat"` opt-out, Header gradient default + opt-out, Avatar auto-gradient when initials set, Footer gradient ribbon + `accent={false}` opt-out, Modal top-accent line + opt-out. Badge dark-mode success/danger/info contrast fix.
|
|
354
|
+
- **Sprint 4-6 API additions** — Radio children support (v0.4.0), Select `name` prop for FormData (v0.4.2), Table `onRowClick` (v0.4.0), Chart SSR hydration fallback
|
|
355
|
+
- **Light pass** — Popover, Textarea, Pagination, plus CardTitle cross-reference added to Card metadata
|
|
356
|
+
|
|
357
|
+
### Known Limitations
|
|
358
|
+
|
|
359
|
+
- **Text/Container/List use `type` not `interface`** — `prebuild-props.ts` uses `getInterface()` which returns undefined for type aliases. Cached props are empty for these three components. MCP tools fall through gracefully, but consumers see empty prop tables. Worth widening the extractor to handle `TypeAliasDeclaration` in a future pass.
|
|
360
|
+
- **Tabs `subComponentProps` still empty** — Accordion/Breadcrumb/Dropdown populate their sub-interface props; Tabs does not. `get_component_props('Tabs')` returns valid empty stubs for TabList/Tab/TabPanel. Content-only gap; no functional impact.
|
|
361
|
+
- **`get_component_location` location map** — hardcoded for the original 52 components; new 8 fall back to generic behavior.
|
|
362
|
+
|
|
363
|
+
## [2.2.0] - 2025-10-23
|
|
364
|
+
|
|
365
|
+
### Added
|
|
366
|
+
|
|
367
|
+
#### New Framework Components (5 components added)
|
|
368
|
+
- **`SegmentedControl`** - Mutually-exclusive button group for mode switching
|
|
369
|
+
- Smooth sliding indicator animation
|
|
370
|
+
- Full keyboard navigation (Arrow keys, Home/End)
|
|
371
|
+
- Size variants (sm, md, lg)
|
|
372
|
+
- Optional icon support
|
|
373
|
+
- ARIA tablist/tab roles
|
|
374
|
+
- Common use case: View mode toggles, filter controls, assistant mode switching
|
|
375
|
+
|
|
376
|
+
- **`Icon`** - Centralized icon system with 34+ common icons
|
|
377
|
+
- Name-based rendering prevents SVG duplication
|
|
378
|
+
- Icon categories: Actions, Navigation, Status, Communication, Content, UI
|
|
379
|
+
- Size presets (sm/md/lg/xl) and custom sizing
|
|
380
|
+
- Inherits currentColor by default
|
|
381
|
+
- Complete accessibility with aria-label support
|
|
382
|
+
- Icons: check, close, plus, minus, edit, trash, download, upload, copy, search, chevron-*, arrow-*, menu, info, warning, error, success, settings, message, send, user, users, file, folder, image, link, heart, star, calendar, clock
|
|
383
|
+
|
|
384
|
+
- **`ApprovalCard`** - Rich card for approval workflows
|
|
385
|
+
- Extracted from ChatDemo TaskCard implementation
|
|
386
|
+
- Status indicators (pending/approved/rejected)
|
|
387
|
+
- Priority badges (low/medium/high)
|
|
388
|
+
- Metadata grid with icon support
|
|
389
|
+
- Approval/rejection action buttons
|
|
390
|
+
- Perfect for AI-generated tasks, pull requests, purchase approvals
|
|
391
|
+
|
|
392
|
+
- **`Container`** - Responsive container with max-width constraints
|
|
393
|
+
- Max widths: sm/md/lg/xl/full (640/768/1024/1280px or 100%)
|
|
394
|
+
- Responsive padding presets
|
|
395
|
+
- Auto-centering
|
|
396
|
+
- Polymorphic (renders as any HTML element via `as` prop)
|
|
397
|
+
- Semantic HTML support (div, section, article, main, aside, header, footer)
|
|
398
|
+
|
|
399
|
+
- **`Grid`** - Declarative CSS Grid wrapper
|
|
400
|
+
- Auto-responsive with auto-fit/auto-fill
|
|
401
|
+
- Configurable columns (fixed or responsive)
|
|
402
|
+
- Gap controls (sm/md/lg/xl or custom)
|
|
403
|
+
- Separate row/column gap support
|
|
404
|
+
- Alignment controls (alignItems, justifyItems)
|
|
405
|
+
- Eliminates repetitive CSS Grid code
|
|
406
|
+
|
|
407
|
+
### Improved
|
|
408
|
+
- Updated component count from 36 to **41 components**
|
|
409
|
+
- All tool enums updated to include new components
|
|
410
|
+
- Enhanced framework completeness for rapid app development
|
|
411
|
+
- Improved component discovery with new utility components
|
|
412
|
+
|
|
413
|
+
### Documentation
|
|
414
|
+
- All new components include comprehensive metadata
|
|
415
|
+
- Complete prop documentation with TypeScript interfaces
|
|
416
|
+
- Multiple usage examples for each component
|
|
417
|
+
- Use cases and accessibility features documented
|
|
418
|
+
- Component location information available via get_component_location tool
|
|
419
|
+
|
|
420
|
+
### Developer Experience Impact
|
|
421
|
+
These additions directly address findings from the Framework Audit (FRAMEWORK-AUDIT.md):
|
|
422
|
+
- ✅ **SegmentedControl** - Replaced custom button groups in showcase apps
|
|
423
|
+
- ✅ **Icon System** - Eliminated duplicated inline SVG across files
|
|
424
|
+
- ✅ **ApprovalCard** - Extracted from ChatDemo as reusable framework component
|
|
425
|
+
- ✅ **Container & Grid** - Added missing layout utilities for consistent spacing
|
|
426
|
+
|
|
427
|
+
**Framework Completeness**: From 36 → 41 components, the design system now provides all essential building blocks for rapid application development without showcase-level code leaking into apps.
|
|
428
|
+
|
|
429
|
+
## [2.1.0] - 2025-10-23
|
|
430
|
+
|
|
431
|
+
### Added
|
|
432
|
+
|
|
433
|
+
#### New Tools
|
|
434
|
+
- **`get_component_location`** - Returns file location and import paths for components
|
|
435
|
+
- Essential for developers building NEW components that use existing design system components
|
|
436
|
+
- Provides verified import paths to eliminate guesswork
|
|
437
|
+
- Shows both package imports (`@lando-labs/design-system`) and relative imports (`../ComponentName`)
|
|
438
|
+
- Lists sub-components for composite components (Card, Tabs, Modal, etc.)
|
|
439
|
+
- Includes usage examples for both import methods
|
|
440
|
+
- **Addresses Chat MCP Gap #2**: Component import path verification
|
|
441
|
+
|
|
442
|
+
- **`get_animation_examples`** - Provides ocean-themed animation code snippets
|
|
443
|
+
- 12 animation types: wave-dots, ripple, fade-in/out, slide-up/down/left/right, pulse, shimmer, bounce, spin
|
|
444
|
+
- Complete CSS keyframes for each animation
|
|
445
|
+
- Design token integration (`var(--duration-*)`, `var(--easing-wave)`)
|
|
446
|
+
- Timing recommendations and easing functions
|
|
447
|
+
- Use case documentation
|
|
448
|
+
- Accessibility guidance (prefers-reduced-motion)
|
|
449
|
+
- **Addresses Chat MCP Gap #4**: Animation code examples
|
|
450
|
+
|
|
451
|
+
#### New Component
|
|
452
|
+
- **Chat Component** (36th component added to MCP)
|
|
453
|
+
- Main `Chat` container component
|
|
454
|
+
- Sub-components: `ChatMessage`, `ChatInput`, `ChatThinkingIndicator`
|
|
455
|
+
- Complete metadata with props, examples, and documentation
|
|
456
|
+
- Full TypeScript type definitions
|
|
457
|
+
- Message type interface exported
|
|
458
|
+
- Accessibility features documented
|
|
459
|
+
|
|
460
|
+
### Improved
|
|
461
|
+
- Updated component count from 35 to **36 components**
|
|
462
|
+
- Updated tool count from 7 to **9 tools**
|
|
463
|
+
- Enhanced MCP developer experience rating from 8/10 to **9/10**
|
|
464
|
+
|
|
465
|
+
### Documentation
|
|
466
|
+
- Chat component fully documented in MCP metadata
|
|
467
|
+
- Component location tool provides import path guidance
|
|
468
|
+
- Animation examples include best practices and performance tips
|
|
469
|
+
- All new tools include comprehensive TypeScript interfaces
|
|
470
|
+
|
|
471
|
+
### Developer Experience Impact
|
|
472
|
+
These additions directly address feedback from the Chat Component MCP Experience Report:
|
|
473
|
+
- ⭐⭐⭐ **High Priority Gap #1** (Component Location): RESOLVED
|
|
474
|
+
- ⭐⭐ **High Priority Gap #2** (Animation Examples): RESOLVED
|
|
475
|
+
|
|
476
|
+
---
|
|
477
|
+
|
|
478
|
+
## [2.0.0] - 2025-10-23
|
|
479
|
+
|
|
480
|
+
### Added
|
|
481
|
+
- **`list_components`** - List all 35 available components with descriptions and categories
|
|
482
|
+
- **`get_design_tokens`** - Access to complete design token system
|
|
483
|
+
- Colors (ocean blues, teals, contextual)
|
|
484
|
+
- Spacing scale
|
|
485
|
+
- Typography system
|
|
486
|
+
- Border radius values
|
|
487
|
+
- Shadows
|
|
488
|
+
- Animation timings and easing functions
|
|
489
|
+
- Breakpoints
|
|
490
|
+
|
|
491
|
+
### Improved
|
|
492
|
+
- MCP developer experience rating improved from initial baseline to **8/10**
|
|
493
|
+
- Component discovery made effortless
|
|
494
|
+
- Design system integration streamlined
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
## [1.0.0] - Initial Release
|
|
499
|
+
|
|
500
|
+
### Features
|
|
501
|
+
- 35 production-ready components
|
|
502
|
+
- 7 comprehensive tools:
|
|
503
|
+
- `get_component` - Generate component code
|
|
504
|
+
- `get_component_props` - View component props
|
|
505
|
+
- `get_component_docs` - Complete API reference
|
|
506
|
+
- `compose_components` - Compose multiple components
|
|
507
|
+
- `get_usage_example` - Real-world examples
|
|
508
|
+
- `list_components` - Component discovery
|
|
509
|
+
- `get_design_tokens` - Design token access
|
|
510
|
+
|
|
511
|
+
### Components
|
|
512
|
+
- Core Inputs (7): Button, Input, Textarea, Select, Checkbox, Radio, Switch
|
|
513
|
+
- Feedback (6): Alert, Toast, Modal, Spinner, Skeleton, Progress
|
|
514
|
+
- Data Display (7): Badge, Avatar, Card, Table, List, StatCard, TaskCard
|
|
515
|
+
- Navigation (4): Breadcrumb, Pagination, Tabs, Dropdown
|
|
516
|
+
- Layout (4): Header, Sidebar, Footer, Divider
|
|
517
|
+
- Overlays (2): Popover, Tooltip
|
|
518
|
+
- Interactive (2): Accordion, EmptyState
|
|
519
|
+
- Documentation (3): CodeBlock, Markdown, ThemeBuilder
|
|
520
|
+
|
|
521
|
+
### Architecture
|
|
522
|
+
- TypeScript implementation with strict typing
|
|
523
|
+
- Zod schemas for validation
|
|
524
|
+
- Model Context Protocol (MCP) SDK integration
|
|
525
|
+
- Stdio transport for Claude Desktop
|
|
526
|
+
- Resource and prompt support
|