@sky.ui/mcp 0.0.1 → 0.0.2
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/README.md +191 -182
- package/data/chart-api-sections.json +4184 -4184
- package/data/reactivity-readme-snapshot.json +1 -1
- package/data/theme-authoring-contract.json +598 -598
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +40 -29
- package/dist/catalog.js.map +1 -1
- package/dist/cem.d.ts +1 -1
- package/dist/cem.d.ts.map +1 -1
- package/dist/cem.js +5 -11
- package/dist/cem.js.map +1 -1
- package/dist/docs-read.js +6 -6
- package/dist/docs.js +4 -4
- package/dist/framework-wrappers.d.ts.map +1 -1
- package/dist/framework-wrappers.js +4 -8
- package/dist/framework-wrappers.js.map +1 -1
- package/dist/mcp-runtime-status.js +2 -2
- package/dist/package-resolve.d.ts +10 -0
- package/dist/package-resolve.d.ts.map +1 -0
- package/dist/package-resolve.js +87 -0
- package/dist/package-resolve.js.map +1 -0
- package/dist/reactivity-info.d.ts.map +1 -1
- package/dist/reactivity-info.js +4 -11
- package/dist/reactivity-info.js.map +1 -1
- package/dist/server.js +4 -4
- package/dist/source-read.d.ts.map +1 -1
- package/dist/source-read.js +6 -10
- package/dist/source-read.js.map +1 -1
- package/dist/utils-suggestion-grounding.d.ts.map +1 -1
- package/dist/utils-suggestion-grounding.js +4 -11
- package/dist/utils-suggestion-grounding.js.map +1 -1
- package/docs/agent-recipe-example-site.md +91 -91
- package/docs/ai-design-mcp-blueprint.md +75 -75
- package/docs/cross-model-mcp-playbook.md +127 -127
- package/docs/example-site-and-mcp-training.md +82 -82
- package/docs/mcp-capability-status.md +51 -51
- package/docs/mcp-tooling-roadmap.md +36 -36
- package/docs/sky-chart-option-api.md +47 -47
- package/docs/starter-prompt.md +17 -17
- package/docs/theme-config-guide.md +178 -178
- package/docs/utils-usage-guide.md +112 -110
- package/docs/vue-wrapper-v-model.md +36 -36
- package/package.json +72 -63
package/dist/server.js
CHANGED
|
@@ -91,7 +91,7 @@ function installationGuide(framework) {
|
|
|
91
91
|
lines.push(' npm install');
|
|
92
92
|
lines.push('');
|
|
93
93
|
lines.push('2) Build needed packages:');
|
|
94
|
-
lines.push(' npm run build:
|
|
94
|
+
lines.push(' npm run build:core');
|
|
95
95
|
if (framework === 'react')
|
|
96
96
|
lines.push(' npm run build:react');
|
|
97
97
|
if (framework === 'vue')
|
|
@@ -301,7 +301,7 @@ export function createSkyUiMcpServer() {
|
|
|
301
301
|
nextOffset: off + slice.length < total ? off + slice.length : null,
|
|
302
302
|
mainVersion: getMainPackageVersion(),
|
|
303
303
|
customElementsManifest: isCemManifestPresent()
|
|
304
|
-
? 'packages/
|
|
304
|
+
? 'packages/core/dist/custom-elements.json (run npm run build:core after clone)'
|
|
305
305
|
: null,
|
|
306
306
|
components: slice.map((c) => ({
|
|
307
307
|
name: c.name,
|
|
@@ -706,7 +706,7 @@ export function createSkyUiMcpServer() {
|
|
|
706
706
|
});
|
|
707
707
|
server.registerResource('sky-ui-custom-elements-manifest', 'sky-ui://manifest/custom-elements.json', {
|
|
708
708
|
title: 'Sky UI Custom Elements Manifest',
|
|
709
|
-
description: 'Merged custom-elements.json from @sky.ui/core and @sky.ui.pro/core (after npm run build:
|
|
709
|
+
description: 'Merged custom-elements.json from @sky.ui/core and @sky.ui.pro/core (after npm run build:core / build:core-pro). Standard schema for web component tooling.',
|
|
710
710
|
mimeType: 'application/json'
|
|
711
711
|
}, async () => {
|
|
712
712
|
const raw = readCustomElementsManifestText();
|
|
@@ -717,7 +717,7 @@ export function createSkyUiMcpServer() {
|
|
|
717
717
|
uri: 'sky-ui://manifest/custom-elements.json',
|
|
718
718
|
mimeType: 'application/json',
|
|
719
719
|
text: JSON.stringify({
|
|
720
|
-
error: 'Manifest not found. From the monorepo root run: npm run build:
|
|
720
|
+
error: 'Manifest not found. From the monorepo root run: npm run build:core'
|
|
721
721
|
})
|
|
722
722
|
}
|
|
723
723
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-read.d.ts","sourceRoot":"","sources":["../src/source-read.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAChF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,gBAAgB,CAgDlB;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,gBAAgB,CAsDlB;
|
|
1
|
+
{"version":3,"file":"source-read.d.ts","sourceRoot":"","sources":["../src/source-read.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAChF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,gBAAgB,CAgDlB;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,gBAAgB,CAsDlB;AAqBD,wBAAgB,yBAAyB,CAAC,QAAQ,SAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsC9I;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,CAE1D"}
|
package/dist/source-read.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
3
3
|
import { dirname, extname, join, relative, resolve } from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { resolvePackageSpec } from './package-resolve.js';
|
|
5
5
|
import { loadSkyComponentsCached, packagesDir, resolveComponentEntry, resolveMainPackageRoot, resolveMainRootForEntry } from './catalog.js';
|
|
6
6
|
const SKY_NAME = /^sky-[a-z0-9-]+$/;
|
|
7
7
|
function isPathInsideDir(root, candidate) {
|
|
@@ -157,19 +157,15 @@ function resolveThemeProviderCandidates(mainRoot) {
|
|
|
157
157
|
mainRoot ? join(mainRoot, 'src', 'sky-theme-provider', 'sky-theme-provider.ts') : '',
|
|
158
158
|
mainRoot ? join(mainRoot, 'dist', 'sky-theme-provider', 'sky-theme-provider.js') : '',
|
|
159
159
|
mainRoot ? join(mainRoot, 'dist', 'sky-theme-provider', 'index.js') : '',
|
|
160
|
-
join(packagesDir(), '
|
|
161
|
-
join(packagesDir(), '
|
|
162
|
-
join(packagesDir(), '
|
|
160
|
+
join(packagesDir(), 'core', 'src', 'sky-theme-provider', 'sky-theme-provider.ts'),
|
|
161
|
+
join(packagesDir(), 'core', 'dist', 'sky-theme-provider', 'sky-theme-provider.js'),
|
|
162
|
+
join(packagesDir(), 'core', 'dist', 'sky-theme-provider', 'index.js')
|
|
163
163
|
].filter(Boolean);
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const resolvedEntry = req.resolve('@sky.ui/core/sky-theme-provider');
|
|
164
|
+
const resolvedEntry = resolvePackageSpec('@sky.ui/core/sky-theme-provider');
|
|
165
|
+
if (resolvedEntry) {
|
|
167
166
|
candidates.push(resolvedEntry);
|
|
168
167
|
candidates.push(join(dirname(resolvedEntry), 'sky-theme-provider.js'));
|
|
169
168
|
}
|
|
170
|
-
catch {
|
|
171
|
-
// optional in monorepo mode where local package resolution is used.
|
|
172
|
-
}
|
|
173
169
|
return [...new Set(candidates)];
|
|
174
170
|
}
|
|
175
171
|
export function extractThemeVariableNames(maxNames = 200) {
|
package/dist/source-read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-read.js","sourceRoot":"","sources":["../src/source-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"source-read.js","sourceRoot":"","sources":["../src/source-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-suggestion-grounding.d.ts","sourceRoot":"","sources":["../src/utils-suggestion-grounding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils-suggestion-grounding.d.ts","sourceRoot":"","sources":["../src/utils-suggestion-grounding.ts"],"names":[],"mappings":"AAWA,2GAA2G;AAC3G,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAcvD;AAED,KAAK,gBAAgB,GAAG;IACtB,eAAe,EAAE,MAAM,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;AA6DF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgC7E;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,UAAU,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMnF;AAiBD,MAAM,MAAM,uBAAuB,GAC/B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,SAAS,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA8EvF;AAED,MAAM,MAAM,0BAA0B,GAClC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAuCtC;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAiBvF"}
|
|
@@ -6,11 +6,8 @@
|
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
7
|
import { dirname, join } from 'node:path';
|
|
8
8
|
import { pathToFileURL } from 'node:url';
|
|
9
|
-
import { createRequire } from 'node:module';
|
|
10
9
|
import { packagesDir } from './catalog.js';
|
|
11
|
-
|
|
12
|
-
return createRequire(import.meta.url);
|
|
13
|
-
}
|
|
10
|
+
import { resolvePackageSpec } from './package-resolve.js';
|
|
14
11
|
/** Resolve installed `@sky.ui/utils` or monorepo `packages/utils` (for loading suggestion-engine only). */
|
|
15
12
|
export function resolveUtilsPackageRoot() {
|
|
16
13
|
const mono = join(packagesDir(), 'utils');
|
|
@@ -25,14 +22,10 @@ export function resolveUtilsPackageRoot() {
|
|
|
25
22
|
/* ignore */
|
|
26
23
|
}
|
|
27
24
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const resolved = req.resolve('@sky.ui/utils/package.json');
|
|
25
|
+
const resolved = resolvePackageSpec('@sky.ui/utils/package.json');
|
|
26
|
+
if (resolved)
|
|
31
27
|
return dirname(resolved);
|
|
32
|
-
|
|
33
|
-
catch {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
28
|
+
return null;
|
|
36
29
|
}
|
|
37
30
|
let engineCache;
|
|
38
31
|
let snapshotCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-suggestion-grounding.js","sourceRoot":"","sources":["../src/utils-suggestion-grounding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils-suggestion-grounding.js","sourceRoot":"","sources":["../src/utils-suggestion-grounding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
# Agent recipe — Example site (`sky-ui-example` / `/api/mcp`)
|
|
2
|
-
|
|
3
|
-
Unified workflow for **every** component doc page registered in **`COMPONENT_EXAMPLE_PAYLOAD_BUILDERS`** (`sky-ui-example/server/mcp/component-payload-registry.ts`).
|
|
4
|
-
|
|
5
|
-
**MCP surface (v1.1+):** Example-site matrices are **not** a separate tool. They merge into **`get_sky_component_docs`** when **`SKY_UI_EXAMPLE_SITE_BASE_URL`** is set or **`exampleSiteEmbed`** is shipped in `p0-guidelines.json`.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. Authority split (all components)
|
|
10
|
-
|
|
11
|
-
| Need | Source |
|
|
12
|
-
|------|--------|
|
|
13
|
-
| Props, events, slots, methods, types | **`get_sky_component_docs`** (optional **`surface`**, **`include_deprecations`**) |
|
|
14
|
-
| Lit / React / Vue snippets | **`get_component_usage`** |
|
|
15
|
-
| Runnable matrices + `pageAi` routing + `sections[].ai` skeleton | **`get_sky_component_docs`** enrichment → live `GET /api/mcp/component/{id}` or offline **`exampleSiteEmbed`** |
|
|
16
|
-
| Theme / `userTheme` | **`get_theme`** (`guide` → `fields` / `field` / `match_intent` / `compose`) |
|
|
17
|
-
| Layout CSS classes | **`utility_classes`** + **`get_docs`** `utils-usage-guide.md` |
|
|
18
|
-
|
|
19
|
-
Payload shape (example site): top-level **`schema`** (e.g. `sky-ui-example-mcp/component/5`), **`pageAi.schema`** = `sky-ui-example/page-routing/1`, **`sections[].ai`** = structural blueprint.
|
|
20
|
-
|
|
21
|
-
**Interaction hints (optional, since `component/5`):** `pageAi.customEvents`, `pageAi.publicMethods`, and per-section `*InPlay` fields are routing aids — always confirm with **`get_sky_component_docs`**.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 2. Minimal path (any `{id}` — low tokens)
|
|
26
|
-
|
|
27
|
-
1. **`get_sky_component_docs`** for the primary tag(s) in **`pageAi.guidelinesComponents`** (or the obvious root component).
|
|
28
|
-
2. If the response includes **`exampleSiteEmbed`** / enriched sections, use **`sections[].ai`** + one **`frameworks[]`** block for the user’s stack.
|
|
29
|
-
3. Otherwise **`get_component_usage`** for a paste-ready starter, then refine from docs surfaces.
|
|
30
|
-
|
|
31
|
-
Never invent `sky-*` tags, slot names, or `--sky-*` tokens.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 3. Full path (production UX)
|
|
36
|
-
|
|
37
|
-
After §2:
|
|
38
|
-
|
|
39
|
-
- **`get_sky_component_docs`** with **`names[]`** when multiple related tags matter
|
|
40
|
-
- **`get_component_usage`** (`lit` \| `react` \| `vue`) + split **`surface`** calls as needed
|
|
41
|
-
- **`get_docs`** → `packages/mcp/docs/vue-wrapper-v-model.md` for Vue two-way binding patterns
|
|
42
|
-
- Re-read **`pageAi.mcpToolChain`** inside enriched JSON when present (pages may customize ordering)
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## 4. Adding a new component page (checklist)
|
|
47
|
-
|
|
48
|
-
**Authoring playbook (Vue page, `sky-title`, `setSection`, `sky-doctable`):** **`sky-ui-example/docs/component-docs-mcp-pipeline.md`**.
|
|
49
|
-
|
|
50
|
-
**In `sky-ui-example` (summary):**
|
|
51
|
-
|
|
52
|
-
1. Add **`app/frameworks/<id>.frameworks.ts`** — `FrameworkSnippet[]` + `*ExampleRouting` via **`createExamplePageRouting`**.
|
|
53
|
-
2. Add **`server/mcp/builders/<id>.ts`** — `buildXxxExamplePayload(): McpComponentExamplePayload`, or run **`npm run gen:mcp-builders`**.
|
|
54
|
-
3. Register in **`server/mcp/component-payload-registry.ts`**.
|
|
55
|
-
4. Wire the Vue page `sky-codebox` `:frameworks` to the same snippet arrays.
|
|
56
|
-
|
|
57
|
-
Shared types: **`app/frameworks/mcp-example.schema.ts`**, **`app/frameworks/mcp-example.defaults.ts`**.
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## 5. Environment (MCP server)
|
|
62
|
-
|
|
63
|
-
| Variable | Purpose |
|
|
64
|
-
|----------|---------|
|
|
65
|
-
| **`SKY_UI_EXAMPLE_SITE_BASE_URL`** | Origin only (e.g. `https://library.sky-ui.com`). Enables HTTP enrichment in **`get_sky_component_docs`**. |
|
|
66
|
-
| **`SKY_UI_EXAMPLE_SITE_EXTRA_HOSTS`** | Optional redirect allowlist (HTTP mode). |
|
|
67
|
-
| *(unset)* | Falls back to optional **`exampleSiteEmbed`** in **`packages/mcp/data/design-guidelines/p0-guidelines.json`**. |
|
|
68
|
-
|
|
69
|
-
Set these on the **machine running MCP** (e.g. Cursor `.cursor/mcp.json` → `env`).
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## 6. Direct HTTP (humans / scripts)
|
|
74
|
-
|
|
75
|
-
When not using MCP:
|
|
76
|
-
|
|
77
|
-
| Method | Path |
|
|
78
|
-
|--------|------|
|
|
79
|
-
| GET | `/api/mcp/manifest` |
|
|
80
|
-
| GET | `/api/mcp/component/{id}` |
|
|
81
|
-
| GET | `/api/mcp/component/{id}?format=markdown` |
|
|
82
|
-
|
|
83
|
-
`{id}` is kebab-case (e.g. `accordion`).
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## 7. Related `get_docs` files
|
|
88
|
-
|
|
89
|
-
- **`packages/mcp/docs/example-site-and-mcp-training.md`**
|
|
90
|
-
- **`packages/mcp/docs/cross-model-mcp-playbook.md`**
|
|
91
|
-
- **`packages/mcp/docs/starter-prompt.md`**
|
|
1
|
+
# Agent recipe — Example site (`sky-ui-example` / `/api/mcp`)
|
|
2
|
+
|
|
3
|
+
Unified workflow for **every** component doc page registered in **`COMPONENT_EXAMPLE_PAYLOAD_BUILDERS`** (`sky-ui-example/server/mcp/component-payload-registry.ts`).
|
|
4
|
+
|
|
5
|
+
**MCP surface (v1.1+):** Example-site matrices are **not** a separate tool. They merge into **`get_sky_component_docs`** when **`SKY_UI_EXAMPLE_SITE_BASE_URL`** is set or **`exampleSiteEmbed`** is shipped in `p0-guidelines.json`.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Authority split (all components)
|
|
10
|
+
|
|
11
|
+
| Need | Source |
|
|
12
|
+
|------|--------|
|
|
13
|
+
| Props, events, slots, methods, types | **`get_sky_component_docs`** (optional **`surface`**, **`include_deprecations`**) |
|
|
14
|
+
| Lit / React / Vue snippets | **`get_component_usage`** |
|
|
15
|
+
| Runnable matrices + `pageAi` routing + `sections[].ai` skeleton | **`get_sky_component_docs`** enrichment → live `GET /api/mcp/component/{id}` or offline **`exampleSiteEmbed`** |
|
|
16
|
+
| Theme / `userTheme` | **`get_theme`** (`guide` → `fields` / `field` / `match_intent` / `compose`) |
|
|
17
|
+
| Layout CSS classes | **`utility_classes`** + **`get_docs`** `utils-usage-guide.md` |
|
|
18
|
+
|
|
19
|
+
Payload shape (example site): top-level **`schema`** (e.g. `sky-ui-example-mcp/component/5`), **`pageAi.schema`** = `sky-ui-example/page-routing/1`, **`sections[].ai`** = structural blueprint.
|
|
20
|
+
|
|
21
|
+
**Interaction hints (optional, since `component/5`):** `pageAi.customEvents`, `pageAi.publicMethods`, and per-section `*InPlay` fields are routing aids — always confirm with **`get_sky_component_docs`**.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. Minimal path (any `{id}` — low tokens)
|
|
26
|
+
|
|
27
|
+
1. **`get_sky_component_docs`** for the primary tag(s) in **`pageAi.guidelinesComponents`** (or the obvious root component).
|
|
28
|
+
2. If the response includes **`exampleSiteEmbed`** / enriched sections, use **`sections[].ai`** + one **`frameworks[]`** block for the user’s stack.
|
|
29
|
+
3. Otherwise **`get_component_usage`** for a paste-ready starter, then refine from docs surfaces.
|
|
30
|
+
|
|
31
|
+
Never invent `sky-*` tags, slot names, or `--sky-*` tokens.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 3. Full path (production UX)
|
|
36
|
+
|
|
37
|
+
After §2:
|
|
38
|
+
|
|
39
|
+
- **`get_sky_component_docs`** with **`names[]`** when multiple related tags matter
|
|
40
|
+
- **`get_component_usage`** (`lit` \| `react` \| `vue`) + split **`surface`** calls as needed
|
|
41
|
+
- **`get_docs`** → `packages/mcp/docs/vue-wrapper-v-model.md` for Vue two-way binding patterns
|
|
42
|
+
- Re-read **`pageAi.mcpToolChain`** inside enriched JSON when present (pages may customize ordering)
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 4. Adding a new component page (checklist)
|
|
47
|
+
|
|
48
|
+
**Authoring playbook (Vue page, `sky-title`, `setSection`, `sky-doctable`):** **`sky-ui-example/docs/component-docs-mcp-pipeline.md`**.
|
|
49
|
+
|
|
50
|
+
**In `sky-ui-example` (summary):**
|
|
51
|
+
|
|
52
|
+
1. Add **`app/frameworks/<id>.frameworks.ts`** — `FrameworkSnippet[]` + `*ExampleRouting` via **`createExamplePageRouting`**.
|
|
53
|
+
2. Add **`server/mcp/builders/<id>.ts`** — `buildXxxExamplePayload(): McpComponentExamplePayload`, or run **`npm run gen:mcp-builders`**.
|
|
54
|
+
3. Register in **`server/mcp/component-payload-registry.ts`**.
|
|
55
|
+
4. Wire the Vue page `sky-codebox` `:frameworks` to the same snippet arrays.
|
|
56
|
+
|
|
57
|
+
Shared types: **`app/frameworks/mcp-example.schema.ts`**, **`app/frameworks/mcp-example.defaults.ts`**.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 5. Environment (MCP server)
|
|
62
|
+
|
|
63
|
+
| Variable | Purpose |
|
|
64
|
+
|----------|---------|
|
|
65
|
+
| **`SKY_UI_EXAMPLE_SITE_BASE_URL`** | Origin only (e.g. `https://library.sky-ui.com`). Enables HTTP enrichment in **`get_sky_component_docs`**. |
|
|
66
|
+
| **`SKY_UI_EXAMPLE_SITE_EXTRA_HOSTS`** | Optional redirect allowlist (HTTP mode). |
|
|
67
|
+
| *(unset)* | Falls back to optional **`exampleSiteEmbed`** in **`packages/mcp/data/design-guidelines/p0-guidelines.json`**. |
|
|
68
|
+
|
|
69
|
+
Set these on the **machine running MCP** (e.g. Cursor `.cursor/mcp.json` → `env`).
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 6. Direct HTTP (humans / scripts)
|
|
74
|
+
|
|
75
|
+
When not using MCP:
|
|
76
|
+
|
|
77
|
+
| Method | Path |
|
|
78
|
+
|--------|------|
|
|
79
|
+
| GET | `/api/mcp/manifest` |
|
|
80
|
+
| GET | `/api/mcp/component/{id}` |
|
|
81
|
+
| GET | `/api/mcp/component/{id}?format=markdown` |
|
|
82
|
+
|
|
83
|
+
`{id}` is kebab-case (e.g. `accordion`).
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 7. Related `get_docs` files
|
|
88
|
+
|
|
89
|
+
- **`packages/mcp/docs/example-site-and-mcp-training.md`**
|
|
90
|
+
- **`packages/mcp/docs/cross-model-mcp-playbook.md`**
|
|
91
|
+
- **`packages/mcp/docs/starter-prompt.md`**
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
# AI-Ready Design MCP Blueprint
|
|
2
|
-
|
|
3
|
-
> **Status (2026):** Research blueprint for design-assistant capabilities. The **published MCP surface** is the **9-tool standard** (see `mcp-capability-status.md`). Guideline JSON and embed data stay in-repo for validation and example-site enrichment.
|
|
4
|
-
|
|
5
|
-
**Goal:** evolve `@sky.ui/mcp` from metadata retrieval into a **design decision engine** that can answer: what to use, why, when **not** to use it, and how to compose accessible UI.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Current public MCP mapping (9 tools)
|
|
10
|
-
|
|
11
|
-
| Blueprint domain | Use today |
|
|
12
|
-
|------------------|-----------|
|
|
13
|
-
| Component API, methods, deprecations | **`get_sky_component_docs`** (+ optional `surface`, `include_deprecations`) |
|
|
14
|
-
| Discovery / search | **`sky_components`** (`list`, `search`, `search_by_api`) |
|
|
15
|
-
| Framework usage | **`get_component_usage`** |
|
|
16
|
-
| Theme / tokens | **`get_theme`** (`guide`, `fields`, `field`, `match_intent`, `compose`, `variables`) |
|
|
17
|
-
| Utils / layout | **`utility_classes`** + **`get_docs`** `utils-usage-guide.md` |
|
|
18
|
-
| Charts | **`get_chart_usage`** + **`get_sky_component_docs`** (`sky-chart`) |
|
|
19
|
-
| Reactivity | **`get_reactivity_layer`** |
|
|
20
|
-
| Install / bundler | **`get_project_guide`** |
|
|
21
|
-
| Prose guides | **`get_docs`** (allowlisted paths) |
|
|
22
|
-
| Example-site matrices | **`get_sky_component_docs`** enrichment when URL/embed configured |
|
|
23
|
-
| Blueprint domains (routing, patterns, a11y matrices) | Assistant reasoning + component docs; guideline JSON is data-only |
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Why the blueprint still matters
|
|
28
|
-
|
|
29
|
-
| Gap | Blueprint target | Current mitigation |
|
|
30
|
-
|-----|------------------|-------------------|
|
|
31
|
-
| Selection logic | Use-case recommendation with trade-offs | **`sky_components`** search + assistant reasoning; guideline data internal |
|
|
32
|
-
| Composition recipes | Pattern-level component trees | Example-site **`sections[].ai`** via doc enrichment |
|
|
33
|
-
| State / variant intelligence | State matrices | **`get_sky_component_docs`** props/events; prose in component pages |
|
|
34
|
-
| Token semantics | Intent-based mapping | **`get_theme`** `match_intent` + `compose` |
|
|
35
|
-
| A11y design | Pattern checklists | Component docs + human review; guideline JSON for future tools |
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Data contract (in-repo, versioned)
|
|
40
|
-
|
|
41
|
-
| Entity | Location |
|
|
42
|
-
|--------|----------|
|
|
43
|
-
| **ComponentGuideline** | `packages/mcp/data/design-guidelines/p0-guidelines.json` |
|
|
44
|
-
| **Theme authoring** | `packages/mcp/data/theme-authoring-contract.json` |
|
|
45
|
-
| **Chart API sections** | `packages/mcp/data/chart-api-sections.json` |
|
|
46
|
-
| **Utils catalog snapshot** | `packages/mcp/data/utils-suggestion-snapshot.json` |
|
|
47
|
-
| **Reactivity README snapshot** | `packages/mcp/data/reactivity-readme-snapshot.json` |
|
|
48
|
-
|
|
49
|
-
Build validates: schema, component refs, banned patterns, tool parity (`verify-mcp-tool-parity.mjs`).
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Future phases (optional re-expansion)
|
|
54
|
-
|
|
55
|
-
If product needs dedicated design-assistant tools again, prefer **one** consolidated tool (e.g. `design_assist`) rather than re-adding 10+ overlapping names. Until then:
|
|
56
|
-
|
|
57
|
-
| Phase | Outcome |
|
|
58
|
-
|-------|---------|
|
|
59
|
-
| **Phase 1** | ✅ Standard 9-tool surface + theme intent routing |
|
|
60
|
-
| **Phase 2** | Richer embed manifests; CI for example-site parity |
|
|
61
|
-
| **Phase 3** | Optional a11y/contrast helpers behind new tool(s) |
|
|
62
|
-
| **Phase 4** | Design lint / review with golden tests |
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Anti-rework guardrails
|
|
67
|
-
|
|
68
|
-
1. **Stable schemas** with `schemaVersion` on shipped JSON.
|
|
69
|
-
2. **Golden tests** (`test/mcp/run-mcp-test.mjs`, `contract-golden.mjs`).
|
|
70
|
-
3. **Additive evolution** — new fields over breaking response changes.
|
|
71
|
-
4. **Single tool parity check** on every `@sky.ui/mcp` build.
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
*Document version: 1.1 — aligned with 9-tool standard surface; blueprint domains mapped to current tools.*
|
|
1
|
+
# AI-Ready Design MCP Blueprint
|
|
2
|
+
|
|
3
|
+
> **Status (2026):** Research blueprint for design-assistant capabilities. The **published MCP surface** is the **9-tool standard** (see `mcp-capability-status.md`). Guideline JSON and embed data stay in-repo for validation and example-site enrichment.
|
|
4
|
+
|
|
5
|
+
**Goal:** evolve `@sky.ui/mcp` from metadata retrieval into a **design decision engine** that can answer: what to use, why, when **not** to use it, and how to compose accessible UI.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Current public MCP mapping (9 tools)
|
|
10
|
+
|
|
11
|
+
| Blueprint domain | Use today |
|
|
12
|
+
|------------------|-----------|
|
|
13
|
+
| Component API, methods, deprecations | **`get_sky_component_docs`** (+ optional `surface`, `include_deprecations`) |
|
|
14
|
+
| Discovery / search | **`sky_components`** (`list`, `search`, `search_by_api`) |
|
|
15
|
+
| Framework usage | **`get_component_usage`** |
|
|
16
|
+
| Theme / tokens | **`get_theme`** (`guide`, `fields`, `field`, `match_intent`, `compose`, `variables`) |
|
|
17
|
+
| Utils / layout | **`utility_classes`** + **`get_docs`** `utils-usage-guide.md` |
|
|
18
|
+
| Charts | **`get_chart_usage`** + **`get_sky_component_docs`** (`sky-chart`) |
|
|
19
|
+
| Reactivity | **`get_reactivity_layer`** |
|
|
20
|
+
| Install / bundler | **`get_project_guide`** |
|
|
21
|
+
| Prose guides | **`get_docs`** (allowlisted paths) |
|
|
22
|
+
| Example-site matrices | **`get_sky_component_docs`** enrichment when URL/embed configured |
|
|
23
|
+
| Blueprint domains (routing, patterns, a11y matrices) | Assistant reasoning + component docs; guideline JSON is data-only |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Why the blueprint still matters
|
|
28
|
+
|
|
29
|
+
| Gap | Blueprint target | Current mitigation |
|
|
30
|
+
|-----|------------------|-------------------|
|
|
31
|
+
| Selection logic | Use-case recommendation with trade-offs | **`sky_components`** search + assistant reasoning; guideline data internal |
|
|
32
|
+
| Composition recipes | Pattern-level component trees | Example-site **`sections[].ai`** via doc enrichment |
|
|
33
|
+
| State / variant intelligence | State matrices | **`get_sky_component_docs`** props/events; prose in component pages |
|
|
34
|
+
| Token semantics | Intent-based mapping | **`get_theme`** `match_intent` + `compose` |
|
|
35
|
+
| A11y design | Pattern checklists | Component docs + human review; guideline JSON for future tools |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Data contract (in-repo, versioned)
|
|
40
|
+
|
|
41
|
+
| Entity | Location |
|
|
42
|
+
|--------|----------|
|
|
43
|
+
| **ComponentGuideline** | `packages/mcp/data/design-guidelines/p0-guidelines.json` |
|
|
44
|
+
| **Theme authoring** | `packages/mcp/data/theme-authoring-contract.json` |
|
|
45
|
+
| **Chart API sections** | `packages/mcp/data/chart-api-sections.json` |
|
|
46
|
+
| **Utils catalog snapshot** | `packages/mcp/data/utils-suggestion-snapshot.json` |
|
|
47
|
+
| **Reactivity README snapshot** | `packages/mcp/data/reactivity-readme-snapshot.json` |
|
|
48
|
+
|
|
49
|
+
Build validates: schema, component refs, banned patterns, tool parity (`verify-mcp-tool-parity.mjs`).
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Future phases (optional re-expansion)
|
|
54
|
+
|
|
55
|
+
If product needs dedicated design-assistant tools again, prefer **one** consolidated tool (e.g. `design_assist`) rather than re-adding 10+ overlapping names. Until then:
|
|
56
|
+
|
|
57
|
+
| Phase | Outcome |
|
|
58
|
+
|-------|---------|
|
|
59
|
+
| **Phase 1** | ✅ Standard 9-tool surface + theme intent routing |
|
|
60
|
+
| **Phase 2** | Richer embed manifests; CI for example-site parity |
|
|
61
|
+
| **Phase 3** | Optional a11y/contrast helpers behind new tool(s) |
|
|
62
|
+
| **Phase 4** | Design lint / review with golden tests |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Anti-rework guardrails
|
|
67
|
+
|
|
68
|
+
1. **Stable schemas** with `schemaVersion` on shipped JSON.
|
|
69
|
+
2. **Golden tests** (`test/mcp/run-mcp-test.mjs`, `contract-golden.mjs`).
|
|
70
|
+
3. **Additive evolution** — new fields over breaking response changes.
|
|
71
|
+
4. **Single tool parity check** on every `@sky.ui/mcp` build.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
*Document version: 1.1 — aligned with 9-tool standard surface; blueprint domains mapped to current tools.*
|