@gemini-designer/mcp-server 0.1.31 → 0.1.33
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/dist/guides/prompting.d.ts +3 -0
- package/dist/guides/prompting.d.ts.map +1 -0
- package/dist/guides/prompting.js +108 -0
- package/dist/guides/prompting.js.map +1 -0
- package/dist/prompts/index.d.ts +11 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +49 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/create-ui.d.ts.map +1 -1
- package/dist/tools/create-ui.js +48 -4
- package/dist/tools/create-ui.js.map +1 -1
- package/dist/tools/generate-vibes.d.ts.map +1 -1
- package/dist/tools/generate-vibes.js +8 -1
- package/dist/tools/generate-vibes.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/prompting-guide.d.ts +10 -0
- package/dist/tools/prompting-guide.d.ts.map +1 -0
- package/dist/tools/prompting-guide.js +30 -0
- package/dist/tools/prompting-guide.js.map +1 -0
- package/dist/tools/snippet-ui.d.ts.map +1 -1
- package/dist/tools/snippet-ui.js +12 -2
- package/dist/tools/snippet-ui.js.map +1 -1
- package/package.json +1 -1
- package/src/guides/prompting.ts +116 -0
- package/src/prompts/index.ts +64 -0
- package/src/server.ts +4 -0
- package/src/tools/create-ui.ts +48 -5
- package/src/tools/generate-vibes.ts +8 -1
- package/src/tools/index.ts +2 -0
- package/src/tools/prompting-guide.ts +40 -0
- package/src/tools/snippet-ui.ts +12 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompting.d.ts","sourceRoot":"","sources":["../../src/guides/prompting.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,WAAW,GACX,YAAY,GACZ,cAAc,GACd,WAAW,CAAC;AAEhB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CA4GpE"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export function getPromptingGuide(focus) {
|
|
2
|
+
const header = [
|
|
3
|
+
'# Gemini Designer — Prompting Guide',
|
|
4
|
+
'',
|
|
5
|
+
'Goal: get high-quality output in 1 pass (optionally +1 refine pass).',
|
|
6
|
+
'',
|
|
7
|
+
'## Recommended flow',
|
|
8
|
+
'1) (Optional) `generate_vibes` → pick 1 vibe',
|
|
9
|
+
'2) `create_ui` (new files) OR `snippet_ui` (standalone component)',
|
|
10
|
+
'3) If close: ONE `modify_ui` pass for targeted polish (avoid full re-generation loops)',
|
|
11
|
+
'',
|
|
12
|
+
].join('\n');
|
|
13
|
+
const generalTemplate = [
|
|
14
|
+
'## Universal request template',
|
|
15
|
+
'Purpose: <what this UI is for>',
|
|
16
|
+
'Audience: <who uses it>',
|
|
17
|
+
'Required content: <bullets of exact elements that must exist>',
|
|
18
|
+
'Constraints:',
|
|
19
|
+
'- WCAG AA',
|
|
20
|
+
'- Mobile-first responsive',
|
|
21
|
+
'- Strong :focus-visible states',
|
|
22
|
+
'- Avoid generic “SaaS card grids” + generic gradients',
|
|
23
|
+
'Design direction: <ONE clear aesthetic, e.g. editorial | brutalist | art-deco | luxury | playful>',
|
|
24
|
+
'',
|
|
25
|
+
'If you called `generate_vibes`, pass the selected vibe JSON into `create_ui/snippet_ui` as `vibe`.',
|
|
26
|
+
].join('\n');
|
|
27
|
+
const landingTemplate = [
|
|
28
|
+
'## Landing page template (HTML/CSS)',
|
|
29
|
+
'Use when you want a full marketing page with clear sections.',
|
|
30
|
+
'',
|
|
31
|
+
'Purpose: Marketing landing page for <product>',
|
|
32
|
+
'Audience: <developers | founders | teams | etc>',
|
|
33
|
+
'Required sections:',
|
|
34
|
+
'- nav (anchors + primary CTA)',
|
|
35
|
+
'- hero (headline, subhead, CTAs, one visual “hero artifact”)',
|
|
36
|
+
'- how it works (3 steps)',
|
|
37
|
+
'- tools/features (clear list)',
|
|
38
|
+
'- examples (tool call + output preview)',
|
|
39
|
+
'- testimonials/proof (3 quotes)',
|
|
40
|
+
'- pricing (3 tiers)',
|
|
41
|
+
'- final CTA (email capture + CTA button)',
|
|
42
|
+
'- footer',
|
|
43
|
+
'Constraints:',
|
|
44
|
+
'- WCAG AA, keyboard nav',
|
|
45
|
+
'- responsive grid on desktop',
|
|
46
|
+
'- no external JS libs; tiny inline JS only for smooth scroll + copy button',
|
|
47
|
+
].join('\n');
|
|
48
|
+
const agentsMd = [
|
|
49
|
+
'# Gemini Designer MCP — Agent Workflow Rules',
|
|
50
|
+
'',
|
|
51
|
+
'Add this section to your repo AGENTS.md (do not delete existing instructions).',
|
|
52
|
+
'',
|
|
53
|
+
'## Golden rules',
|
|
54
|
+
'- Prefer Gemini Designer MCP tools for UI work; avoid hand-writing large UI blobs unless explicitly requested.',
|
|
55
|
+
'- Default to: 1 generation pass + (optional) 1 targeted modify pass. Do not loop endlessly.',
|
|
56
|
+
'- Always maintain WCAG AA, keyboard navigation, and strong :focus-visible states.',
|
|
57
|
+
'- Avoid generic layouts (cookie-cutter SaaS grids) and generic gradients.',
|
|
58
|
+
'',
|
|
59
|
+
'## Recommended workflows',
|
|
60
|
+
'',
|
|
61
|
+
'### A) New page / new component (highest quality, lowest back-and-forth)',
|
|
62
|
+
'1) (Optional) detect_ui_stack(projectRoot) to learn framework/styling conventions.',
|
|
63
|
+
'2) generate_vibes(vibeCount=3..5) and pick ONE vibe.',
|
|
64
|
+
'3) create_ui(...) or snippet_ui(...), pass the vibe JSON as vibe=... and keep requirements explicit.',
|
|
65
|
+
'4) If polish is needed: ONE modify_ui pass (surgical edits).',
|
|
66
|
+
'',
|
|
67
|
+
'### B) Tight iteration on existing UI (no re-generation)',
|
|
68
|
+
'1) modify_ui(targetFile, instruction, preserveLogic=true, returnDiff=true).',
|
|
69
|
+
'2) If diff looks good: modify_ui(..., applyChanges=true).',
|
|
70
|
+
'',
|
|
71
|
+
'### C) Screenshot → design breakdown → implementation',
|
|
72
|
+
'1) analyze_screenshot_ui(imagePath, outputFormat=json).',
|
|
73
|
+
'2) create_ui/snippet_ui to implement the extracted structure.',
|
|
74
|
+
'3) modify_ui to refine alignment/spacing/accessibility.',
|
|
75
|
+
'',
|
|
76
|
+
'### D) Repo refactor / consistency',
|
|
77
|
+
'- catalog_components to discover existing exports to reuse.',
|
|
78
|
+
'- analyze_tokens to extract tokens from CSS/SCSS.',
|
|
79
|
+
'- sync_design_tokens to normalize/convert tokens (css-vars/scss-vars/tailwind/tokens-studio/style-dictionary).',
|
|
80
|
+
'',
|
|
81
|
+
'### E) Architecture planning (before implementation)',
|
|
82
|
+
'1) scaffold_project(name, pages, features) to get a structured plan.',
|
|
83
|
+
'2) Implement pages/components via create_ui/snippet_ui.',
|
|
84
|
+
'',
|
|
85
|
+
'## High-signal request template (copy/paste)',
|
|
86
|
+
'Purpose: <what this UI is for>',
|
|
87
|
+
'Audience: <who uses it>',
|
|
88
|
+
'Required content: <bullets of exact elements that must exist>',
|
|
89
|
+
'Constraints:',
|
|
90
|
+
'- WCAG AA',
|
|
91
|
+
'- Mobile-first responsive',
|
|
92
|
+
'- Strong :focus-visible states',
|
|
93
|
+
'- Avoid generic “SaaS card grids” + generic gradients',
|
|
94
|
+
'Design direction: <ONE clear aesthetic (editorial | brutalist | art-deco | luxury | playful)>',
|
|
95
|
+
'',
|
|
96
|
+
'Tip: For marketing pages, explicitly list required sections (hero, how-it-works, examples, testimonials, pricing, CTA).',
|
|
97
|
+
].join('\n');
|
|
98
|
+
if (focus === 'agents_md')
|
|
99
|
+
return `${agentsMd}\n`;
|
|
100
|
+
if (focus === 'landing_page')
|
|
101
|
+
return `${header}${landingTemplate}\n\n${generalTemplate}\n`;
|
|
102
|
+
if (focus === 'create_ui')
|
|
103
|
+
return `${header}## create_ui tips\n- Be explicit about required elements and file path.\n- Include constraints and one aesthetic direction.\n\n${generalTemplate}\n`;
|
|
104
|
+
if (focus === 'snippet_ui')
|
|
105
|
+
return `${header}## snippet_ui tips\n- Choose the closest \"type\" and list interaction rules (focus trap, keyboard, loading, etc.).\n\n${generalTemplate}\n`;
|
|
106
|
+
return `${header}${generalTemplate}\n`;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=prompting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompting.js","sourceRoot":"","sources":["../../src/guides/prompting.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC1D,MAAM,MAAM,GAAG;QACb,qCAAqC;QACrC,EAAE;QACF,sEAAsE;QACtE,EAAE;QACF,qBAAqB;QACrB,8CAA8C;QAC9C,mEAAmE;QACnE,wFAAwF;QACxF,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,eAAe,GAAG;QACtB,+BAA+B;QAC/B,gCAAgC;QAChC,yBAAyB;QACzB,+DAA+D;QAC/D,cAAc;QACd,WAAW;QACX,2BAA2B;QAC3B,gCAAgC;QAChC,uDAAuD;QACvD,mGAAmG;QACnG,EAAE;QACF,oGAAoG;KACrG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,eAAe,GAAG;QACtB,qCAAqC;QACrC,8DAA8D;QAC9D,EAAE;QACF,+CAA+C;QAC/C,iDAAiD;QACjD,oBAAoB;QACpB,+BAA+B;QAC/B,8DAA8D;QAC9D,0BAA0B;QAC1B,+BAA+B;QAC/B,yCAAyC;QACzC,iCAAiC;QACjC,qBAAqB;QACrB,0CAA0C;QAC1C,UAAU;QACV,cAAc;QACd,yBAAyB;QACzB,8BAA8B;QAC9B,4EAA4E;KAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG;QACf,8CAA8C;QAC9C,EAAE;QACF,gFAAgF;QAChF,EAAE;QACF,iBAAiB;QACjB,gHAAgH;QAChH,6FAA6F;QAC7F,mFAAmF;QACnF,2EAA2E;QAC3E,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,0EAA0E;QAC1E,oFAAoF;QACpF,sDAAsD;QACtD,sGAAsG;QACtG,8DAA8D;QAC9D,EAAE;QACF,0DAA0D;QAC1D,6EAA6E;QAC7E,2DAA2D;QAC3D,EAAE;QACF,uDAAuD;QACvD,yDAAyD;QACzD,+DAA+D;QAC/D,yDAAyD;QACzD,EAAE;QACF,oCAAoC;QACpC,6DAA6D;QAC7D,mDAAmD;QACnD,gHAAgH;QAChH,EAAE;QACF,sDAAsD;QACtD,sEAAsE;QACtE,yDAAyD;QACzD,EAAE;QACF,8CAA8C;QAC9C,gCAAgC;QAChC,yBAAyB;QACzB,+DAA+D;QAC/D,cAAc;QACd,WAAW;QACX,2BAA2B;QAC3B,gCAAgC;QAChC,uDAAuD;QACvD,+FAA+F;QAC/F,EAAE;QACF,yHAAyH;KAC1H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,GAAG,QAAQ,IAAI,CAAC;IAClD,IAAI,KAAK,KAAK,cAAc;QAAE,OAAO,GAAG,MAAM,GAAG,eAAe,OAAO,eAAe,IAAI,CAAC;IAC3F,IAAI,KAAK,KAAK,WAAW;QACvB,OAAO,GAAG,MAAM,kIAAkI,eAAe,IAAI,CAAC;IACxK,IAAI,KAAK,KAAK,YAAY;QACxB,OAAO,GAAG,MAAM,0HAA0H,eAAe,IAAI,CAAC;IAChK,OAAO,GAAG,MAAM,GAAG,eAAe,IAAI,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt/Resource Registry
|
|
3
|
+
*
|
|
4
|
+
* Makes best-practice prompting guidance discoverable to MCP clients.
|
|
5
|
+
* Tools are still the most widely supported entrypoint, so we also ship a
|
|
6
|
+
* deterministic `prompting_guide` tool.
|
|
7
|
+
*/
|
|
8
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
|
+
import { Config } from '../config/index.js';
|
|
10
|
+
export declare function registerPromptsAndResources(server: McpServer, _config: Config): void;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgDpF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt/Resource Registry
|
|
3
|
+
*
|
|
4
|
+
* Makes best-practice prompting guidance discoverable to MCP clients.
|
|
5
|
+
* Tools are still the most widely supported entrypoint, so we also ship a
|
|
6
|
+
* deterministic `prompting_guide` tool.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
import { getPromptingGuide } from '../guides/prompting.js';
|
|
10
|
+
const PROMPTING_GUIDE_URI = 'gemini-designer://docs/prompting-guide';
|
|
11
|
+
export function registerPromptsAndResources(server, _config) {
|
|
12
|
+
server.registerPrompt('prompting_guide', {
|
|
13
|
+
title: 'Prompting Guide',
|
|
14
|
+
description: 'Recommended flow + templates for high-quality one-pass UI generation.',
|
|
15
|
+
argsSchema: {
|
|
16
|
+
focus: z
|
|
17
|
+
.enum(['general', 'create_ui', 'snippet_ui', 'landing_page', 'agents_md'])
|
|
18
|
+
.default('general')
|
|
19
|
+
.describe('Which template to return.'),
|
|
20
|
+
},
|
|
21
|
+
}, async (args, _extra) => {
|
|
22
|
+
const focus = args.focus || 'general';
|
|
23
|
+
const text = getPromptingGuide(focus);
|
|
24
|
+
return {
|
|
25
|
+
description: 'Prompting guide content',
|
|
26
|
+
messages: [
|
|
27
|
+
{
|
|
28
|
+
role: 'user',
|
|
29
|
+
content: { type: 'text', text },
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
server.registerResource('Prompting Guide', PROMPTING_GUIDE_URI, {
|
|
35
|
+
title: 'Prompting Guide',
|
|
36
|
+
description: 'Recommended prompting flow + templates (same content as the prompting_guide tool/prompt).',
|
|
37
|
+
}, async () => {
|
|
38
|
+
return {
|
|
39
|
+
contents: [
|
|
40
|
+
{
|
|
41
|
+
uri: PROMPTING_GUIDE_URI,
|
|
42
|
+
mimeType: 'text/markdown',
|
|
43
|
+
text: getPromptingGuide('general'),
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,wBAAwB,CAAC;AAGrF,MAAM,mBAAmB,GAAG,wCAAwC,CAAC;AAErE,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,OAAe;IAC5E,MAAM,CAAC,cAAc,CACnB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,uEAAuE;QACpF,UAAU,EAAE;YACV,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;iBACzE,OAAO,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,2BAA2B,CAAC;SACzC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACrB,MAAM,KAAK,GAAI,IAAI,CAAC,KAA6B,IAAI,SAAS,CAAC;QAC/D,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO;YACL,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE;iBACzC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,iBAAiB,EACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,2FAA2F;KAC9F,EACD,KAAK,IAAI,EAAE;QACT,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,mBAAmB;oBACxB,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;iBACnC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAK3C,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,sBAmBhD"}
|
package/dist/server.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
7
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
8
|
import { registerTools } from './tools/index.js';
|
|
9
|
+
import { registerPromptsAndResources } from './prompts/index.js';
|
|
9
10
|
import { VERSION } from './version.js';
|
|
10
11
|
export async function createServer(config) {
|
|
11
12
|
const server = new McpServer({
|
|
@@ -14,6 +15,8 @@ export async function createServer(config) {
|
|
|
14
15
|
});
|
|
15
16
|
// Register all MCP tools
|
|
16
17
|
registerTools(server, config);
|
|
18
|
+
// Prompts/resources for clients that support them
|
|
19
|
+
registerPromptsAndResources(server, config);
|
|
17
20
|
// Use stdio transport (standard for MCP)
|
|
18
21
|
const transport = new StdioServerTransport();
|
|
19
22
|
await server.connect(transport);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAC/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,yBAAyB;IACzB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAElE,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAC/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,yBAAyB;IACzB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,kDAAkD;IAClD,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5C,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAElE,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ui.d.ts","sourceRoot":"","sources":["../../src/tools/create-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-ui.d.ts","sourceRoot":"","sources":["../../src/tools/create-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAoR5C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QA6QjE"}
|
package/dist/tools/create-ui.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Automatically detects project styling approach (Tailwind, CSS Modules, styled-components, etc.)
|
|
8
8
|
* and generates code matching the project conventions.
|
|
9
9
|
*/
|
|
10
|
+
import * as path from 'node:path';
|
|
10
11
|
import { z } from 'zod';
|
|
11
12
|
import { buildContext } from '../context/builder.js';
|
|
12
13
|
import { assertWritablePath } from '../context/guards.js';
|
|
@@ -134,7 +135,11 @@ function buildUserPrompt(args) {
|
|
|
134
135
|
let stylingInstructions = '';
|
|
135
136
|
if (needsSeparateStyleFile) {
|
|
136
137
|
const ext = args.stylingInfo.fileExtension;
|
|
137
|
-
|
|
138
|
+
let stylePath = args.targetPath.replace(/\.(tsx?|jsx?|vue|svelte|html|astro)$/, ext);
|
|
139
|
+
// For static HTML pages, prefer a conventional `styles.css` next to `index.html`.
|
|
140
|
+
if (args.targetPath.endsWith('/index.html') && ext === '.css') {
|
|
141
|
+
stylePath = args.targetPath.replace(/\/index\.html$/, '/styles.css');
|
|
142
|
+
}
|
|
138
143
|
stylingInstructions = `Style file: ${stylePath}\n`;
|
|
139
144
|
}
|
|
140
145
|
return `Create UI using ${args.stylingInfo.approach.toUpperCase()} styling.
|
|
@@ -235,7 +240,25 @@ Return ONLY the corrected JSON object.`;
|
|
|
235
240
|
export function registerCreateUI(server, config) {
|
|
236
241
|
server.registerTool('create_ui', {
|
|
237
242
|
title: 'Create UI Component/View',
|
|
238
|
-
description:
|
|
243
|
+
description: [
|
|
244
|
+
'Generate a complete UI component/view. Auto-detects project styling (Tailwind, CSS Modules, styled-components, etc.) and outputs matching code structure.',
|
|
245
|
+
'',
|
|
246
|
+
'High-signal flow:',
|
|
247
|
+
'1) (Optional) generate_vibes → pick 1 vibe',
|
|
248
|
+
'2) create_ui with: purpose + audience + required content + constraints + design direction',
|
|
249
|
+
'3) If needed: ONE modify_ui pass for polish (don’t fully regenerate)',
|
|
250
|
+
'',
|
|
251
|
+
'Prompting template:',
|
|
252
|
+
'Purpose: <what this UI is for>',
|
|
253
|
+
'Audience: <who uses it>',
|
|
254
|
+
'Required content: <bullets of exact elements that must exist>',
|
|
255
|
+
'Constraints:',
|
|
256
|
+
'- WCAG AA',
|
|
257
|
+
'- Mobile-first responsive',
|
|
258
|
+
'- Strong :focus-visible states',
|
|
259
|
+
'- Avoid generic “SaaS card grids” + generic gradients',
|
|
260
|
+
'Design direction: <ONE clear aesthetic, e.g. editorial | brutalist | art-deco | luxury | playful>',
|
|
261
|
+
].join('\n'),
|
|
239
262
|
inputSchema,
|
|
240
263
|
}, async (args) => {
|
|
241
264
|
try {
|
|
@@ -245,7 +268,10 @@ export function registerCreateUI(server, config) {
|
|
|
245
268
|
const vibe = args.vibe;
|
|
246
269
|
const contextFiles = args.contextFiles || [];
|
|
247
270
|
const targetPath = args.targetPath;
|
|
248
|
-
const
|
|
271
|
+
const rawProjectRoot = args.projectRoot || process.cwd();
|
|
272
|
+
const projectRoot = path.isAbsolute(rawProjectRoot)
|
|
273
|
+
? rawProjectRoot
|
|
274
|
+
: path.resolve(process.cwd(), rawProjectRoot);
|
|
249
275
|
const requestedApproach = args.stylingApproach || 'auto';
|
|
250
276
|
const stylingApproachCustom = args.stylingApproachCustom;
|
|
251
277
|
const shouldWrite = args.writeToFile === true;
|
|
@@ -404,7 +430,25 @@ export function registerCreateUI(server, config) {
|
|
|
404
430
|
if (shouldWrite) {
|
|
405
431
|
const writes = [];
|
|
406
432
|
for (const file of parsed.files) {
|
|
407
|
-
|
|
433
|
+
// Resolve any relative paths from the projectRoot (NOT process.cwd()).
|
|
434
|
+
// Models often output paths like "src/App.tsx" or "index.html" even when given absolute paths.
|
|
435
|
+
// If we resolved those from process.cwd(), we might accidentally write to the wrong repo.
|
|
436
|
+
const resolvedPath = path.isAbsolute(file.path) ? file.path : path.resolve(projectRoot, file.path);
|
|
437
|
+
let safePath;
|
|
438
|
+
try {
|
|
439
|
+
safePath = assertWritablePath(resolvedPath, config);
|
|
440
|
+
}
|
|
441
|
+
catch (error) {
|
|
442
|
+
// If the model outputs "/src/..." style paths, treat them as project-relative.
|
|
443
|
+
// ("/src/App.tsx" is almost never a real filesystem absolute path that we want.)
|
|
444
|
+
if (path.isAbsolute(file.path) && file.path.startsWith(path.sep)) {
|
|
445
|
+
const stripped = file.path.replace(new RegExp(`^\\${path.sep}+`), '');
|
|
446
|
+
safePath = assertWritablePath(path.resolve(projectRoot, stripped), config);
|
|
447
|
+
}
|
|
448
|
+
else {
|
|
449
|
+
throw error;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
408
452
|
const writeResult = await writeFile(safePath, file.content, { backup, format: false });
|
|
409
453
|
if (!writeResult.success) {
|
|
410
454
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ui.js","sourceRoot":"","sources":["../../src/tools/create-ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-ui.js","sourceRoot":"","sources":["../../src/tools/create-ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-vibes.d.ts","sourceRoot":"","sources":["../../src/tools/generate-vibes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA6H5C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"generate-vibes.d.ts","sourceRoot":"","sources":["../../src/tools/generate-vibes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA6H5C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAuF7E"}
|
|
@@ -128,7 +128,14 @@ SUGGESTED FONTS:
|
|
|
128
128
|
export function registerGenerateVibes(server, config) {
|
|
129
129
|
server.registerTool('generate_vibes', {
|
|
130
130
|
title: 'Generate Design Vibes',
|
|
131
|
-
description:
|
|
131
|
+
description: [
|
|
132
|
+
'Generate design direction options (vibes) with color palettes, typography, and spacing.',
|
|
133
|
+
'',
|
|
134
|
+
'Recommended flow:',
|
|
135
|
+
'1) Call generate_vibes (pick 1 vibe).',
|
|
136
|
+
'2) Pass the selected vibe JSON into create_ui/snippet_ui as `vibe`.',
|
|
137
|
+
'3) If the first draft is close, call modify_ui for targeted refinements (1 pass).',
|
|
138
|
+
].join('\n'),
|
|
132
139
|
inputSchema,
|
|
133
140
|
}, async (args) => {
|
|
134
141
|
const projectContext = args.projectContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-vibes.js","sourceRoot":"","sources":["../../src/tools/generate-vibes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEjG,MAAM,WAAW,GAAG;IAClB,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,SAAS,EAAE,CAAC;aACT,IAAI,CAAC;YACJ,MAAM;YACN,MAAM;YACN,SAAS;YACT,OAAO;YACP,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,OAAO;YACP,QAAQ;YACR,MAAM;YACN,eAAe;YACf,cAAc;YACd,QAAQ;SACT,CAAC;aACD,QAAQ,EAAE;QACb,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6GAA6G,CAAC;QAC1H,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;QAClE,KAAK,EAAE,CAAC;aACL,IAAI,CAAC;YACJ,SAAS;YACT,SAAS;YACT,WAAW;YACX,WAAW;YACX,eAAe;YACf,WAAW;YACX,kBAAkB;YAClB,QAAQ;YACR,SAAS;YACT,UAAU;SACX,CAAC;aACD,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC;AAEF,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO;;;;EAIP,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;;;4BAGjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;aAEtC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;UACrC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;UAC/B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;eAC1B,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAc;IACrE,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"generate-vibes.js","sourceRoot":"","sources":["../../src/tools/generate-vibes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAc5C;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAmBrE"}
|
package/dist/tools/index.js
CHANGED
|
@@ -14,6 +14,7 @@ import { registerSyncDesignTokens } from './sync-design-tokens.js';
|
|
|
14
14
|
import { registerCatalogComponents } from './catalog-components.js';
|
|
15
15
|
import { registerGenerateComponentVariants } from './generate-component-variants.js';
|
|
16
16
|
import { registerAnalyzeScreenshotUI } from './analyze-screenshot-ui.js';
|
|
17
|
+
import { registerPromptingGuideTool } from './prompting-guide.js';
|
|
17
18
|
/**
|
|
18
19
|
* Register all MCP tools
|
|
19
20
|
*/
|
|
@@ -31,6 +32,7 @@ export function registerTools(server, config) {
|
|
|
31
32
|
registerCatalogComponents(server, config);
|
|
32
33
|
registerGenerateComponentVariants(server, config);
|
|
33
34
|
registerAnalyzeScreenshotUI(server, config);
|
|
35
|
+
registerPromptingGuideTool(server, config);
|
|
34
36
|
console.error('[tools] All tools registered');
|
|
35
37
|
}
|
|
36
38
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,MAAc;IAC7D,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAElD,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,8BAA8B;IAC9B,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,iCAAiC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* prompting_guide Tool
|
|
3
|
+
*
|
|
4
|
+
* Deterministic: returns the recommended prompting flow + templates.
|
|
5
|
+
* Useful for “dumb” agents that don’t read repo docs.
|
|
6
|
+
*/
|
|
7
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
8
|
+
import { Config } from '../config/index.js';
|
|
9
|
+
export declare function registerPromptingGuideTool(server: McpServer, _config: Config): void;
|
|
10
|
+
//# sourceMappingURL=prompting-guide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompting-guide.d.ts","sourceRoot":"","sources":["../../src/tools/prompting-guide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAc5C,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgBnF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* prompting_guide Tool
|
|
3
|
+
*
|
|
4
|
+
* Deterministic: returns the recommended prompting flow + templates.
|
|
5
|
+
* Useful for “dumb” agents that don’t read repo docs.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { getPromptingGuide } from '../guides/prompting.js';
|
|
9
|
+
const inputSchema = {
|
|
10
|
+
focus: z
|
|
11
|
+
.enum(['general', 'create_ui', 'snippet_ui', 'landing_page', 'agents_md'])
|
|
12
|
+
.default('general')
|
|
13
|
+
.describe('Which template to return.'),
|
|
14
|
+
};
|
|
15
|
+
function guideFor(focus) {
|
|
16
|
+
return getPromptingGuide(focus);
|
|
17
|
+
}
|
|
18
|
+
export function registerPromptingGuideTool(server, _config) {
|
|
19
|
+
server.registerTool('prompting_guide', {
|
|
20
|
+
title: 'Prompting Guide',
|
|
21
|
+
description: 'Return the recommended prompting flow + templates (useful for agents that don’t read repo docs).',
|
|
22
|
+
inputSchema,
|
|
23
|
+
}, async (args) => {
|
|
24
|
+
const focus = args.focus || 'general';
|
|
25
|
+
return {
|
|
26
|
+
content: [{ type: 'text', text: guideFor(focus) }],
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=prompting-guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompting-guide.js","sourceRoot":"","sources":["../../src/tools/prompting-guide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,wBAAwB,CAAC;AAErF,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;SACzE,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,2BAA2B,CAAC;CACzC,CAAC;AAEF,SAAS,QAAQ,CAAC,KAA0B;IAC1C,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,OAAe;IAC3E,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,kGAAkG;QACpG,WAAW;KACZ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,KAAK,GAAI,IAAI,CAAC,KAA6B,IAAI,SAAS,CAAC;QAC/D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet-ui.d.ts","sourceRoot":"","sources":["../../src/tools/snippet-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"snippet-ui.d.ts","sourceRoot":"","sources":["../../src/tools/snippet-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAwR5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA0PzE"}
|
package/dist/tools/snippet-ui.js
CHANGED
|
@@ -241,12 +241,22 @@ function deriveStylePath(componentPath, stylingInfo) {
|
|
|
241
241
|
const ext = stylingInfo.fileExtension;
|
|
242
242
|
if (!ext)
|
|
243
243
|
return '';
|
|
244
|
-
|
|
244
|
+
if (componentPath.endsWith('/index.html') && ext === '.css') {
|
|
245
|
+
return componentPath.replace(/\/index\.html$/, '/styles.css');
|
|
246
|
+
}
|
|
247
|
+
return componentPath.replace(/\.(tsx?|jsx?|vue|svelte|html|astro)$/, ext);
|
|
245
248
|
}
|
|
246
249
|
export function registerSnippetUI(server, config) {
|
|
247
250
|
server.registerTool('snippet_ui', {
|
|
248
251
|
title: 'Generate UI Snippet',
|
|
249
|
-
description:
|
|
252
|
+
description: [
|
|
253
|
+
'Generate standalone UI components (modals, tables, forms, etc.). Auto-detects project styling and outputs matching code structure.',
|
|
254
|
+
'',
|
|
255
|
+
'Recommended flow:',
|
|
256
|
+
'1) (Optional) generate_vibes → pick 1 vibe',
|
|
257
|
+
'2) snippet_ui with: type + detailed requirements + constraints (a11y, responsive, focus-visible)',
|
|
258
|
+
'3) If needed: ONE modify_ui pass for polish',
|
|
259
|
+
].join('\n'),
|
|
250
260
|
inputSchema,
|
|
251
261
|
}, async (args) => {
|
|
252
262
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet-ui.js","sourceRoot":"","sources":["../../src/tools/snippet-ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snippet-ui.js","sourceRoot":"","sources":["../../src/tools/snippet-ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
export type PromptingGuideFocus =
|
|
2
|
+
| 'general'
|
|
3
|
+
| 'create_ui'
|
|
4
|
+
| 'snippet_ui'
|
|
5
|
+
| 'landing_page'
|
|
6
|
+
| 'agents_md';
|
|
7
|
+
|
|
8
|
+
export function getPromptingGuide(focus: PromptingGuideFocus): string {
|
|
9
|
+
const header = [
|
|
10
|
+
'# Gemini Designer — Prompting Guide',
|
|
11
|
+
'',
|
|
12
|
+
'Goal: get high-quality output in 1 pass (optionally +1 refine pass).',
|
|
13
|
+
'',
|
|
14
|
+
'## Recommended flow',
|
|
15
|
+
'1) (Optional) `generate_vibes` → pick 1 vibe',
|
|
16
|
+
'2) `create_ui` (new files) OR `snippet_ui` (standalone component)',
|
|
17
|
+
'3) If close: ONE `modify_ui` pass for targeted polish (avoid full re-generation loops)',
|
|
18
|
+
'',
|
|
19
|
+
].join('\n');
|
|
20
|
+
|
|
21
|
+
const generalTemplate = [
|
|
22
|
+
'## Universal request template',
|
|
23
|
+
'Purpose: <what this UI is for>',
|
|
24
|
+
'Audience: <who uses it>',
|
|
25
|
+
'Required content: <bullets of exact elements that must exist>',
|
|
26
|
+
'Constraints:',
|
|
27
|
+
'- WCAG AA',
|
|
28
|
+
'- Mobile-first responsive',
|
|
29
|
+
'- Strong :focus-visible states',
|
|
30
|
+
'- Avoid generic “SaaS card grids” + generic gradients',
|
|
31
|
+
'Design direction: <ONE clear aesthetic, e.g. editorial | brutalist | art-deco | luxury | playful>',
|
|
32
|
+
'',
|
|
33
|
+
'If you called `generate_vibes`, pass the selected vibe JSON into `create_ui/snippet_ui` as `vibe`.',
|
|
34
|
+
].join('\n');
|
|
35
|
+
|
|
36
|
+
const landingTemplate = [
|
|
37
|
+
'## Landing page template (HTML/CSS)',
|
|
38
|
+
'Use when you want a full marketing page with clear sections.',
|
|
39
|
+
'',
|
|
40
|
+
'Purpose: Marketing landing page for <product>',
|
|
41
|
+
'Audience: <developers | founders | teams | etc>',
|
|
42
|
+
'Required sections:',
|
|
43
|
+
'- nav (anchors + primary CTA)',
|
|
44
|
+
'- hero (headline, subhead, CTAs, one visual “hero artifact”)',
|
|
45
|
+
'- how it works (3 steps)',
|
|
46
|
+
'- tools/features (clear list)',
|
|
47
|
+
'- examples (tool call + output preview)',
|
|
48
|
+
'- testimonials/proof (3 quotes)',
|
|
49
|
+
'- pricing (3 tiers)',
|
|
50
|
+
'- final CTA (email capture + CTA button)',
|
|
51
|
+
'- footer',
|
|
52
|
+
'Constraints:',
|
|
53
|
+
'- WCAG AA, keyboard nav',
|
|
54
|
+
'- responsive grid on desktop',
|
|
55
|
+
'- no external JS libs; tiny inline JS only for smooth scroll + copy button',
|
|
56
|
+
].join('\n');
|
|
57
|
+
|
|
58
|
+
const agentsMd = [
|
|
59
|
+
'# Gemini Designer MCP — Agent Workflow Rules',
|
|
60
|
+
'',
|
|
61
|
+
'Add this section to your repo AGENTS.md (do not delete existing instructions).',
|
|
62
|
+
'',
|
|
63
|
+
'## Golden rules',
|
|
64
|
+
'- Prefer Gemini Designer MCP tools for UI work; avoid hand-writing large UI blobs unless explicitly requested.',
|
|
65
|
+
'- Default to: 1 generation pass + (optional) 1 targeted modify pass. Do not loop endlessly.',
|
|
66
|
+
'- Always maintain WCAG AA, keyboard navigation, and strong :focus-visible states.',
|
|
67
|
+
'- Avoid generic layouts (cookie-cutter SaaS grids) and generic gradients.',
|
|
68
|
+
'',
|
|
69
|
+
'## Recommended workflows',
|
|
70
|
+
'',
|
|
71
|
+
'### A) New page / new component (highest quality, lowest back-and-forth)',
|
|
72
|
+
'1) (Optional) detect_ui_stack(projectRoot) to learn framework/styling conventions.',
|
|
73
|
+
'2) generate_vibes(vibeCount=3..5) and pick ONE vibe.',
|
|
74
|
+
'3) create_ui(...) or snippet_ui(...), pass the vibe JSON as vibe=... and keep requirements explicit.',
|
|
75
|
+
'4) If polish is needed: ONE modify_ui pass (surgical edits).',
|
|
76
|
+
'',
|
|
77
|
+
'### B) Tight iteration on existing UI (no re-generation)',
|
|
78
|
+
'1) modify_ui(targetFile, instruction, preserveLogic=true, returnDiff=true).',
|
|
79
|
+
'2) If diff looks good: modify_ui(..., applyChanges=true).',
|
|
80
|
+
'',
|
|
81
|
+
'### C) Screenshot → design breakdown → implementation',
|
|
82
|
+
'1) analyze_screenshot_ui(imagePath, outputFormat=json).',
|
|
83
|
+
'2) create_ui/snippet_ui to implement the extracted structure.',
|
|
84
|
+
'3) modify_ui to refine alignment/spacing/accessibility.',
|
|
85
|
+
'',
|
|
86
|
+
'### D) Repo refactor / consistency',
|
|
87
|
+
'- catalog_components to discover existing exports to reuse.',
|
|
88
|
+
'- analyze_tokens to extract tokens from CSS/SCSS.',
|
|
89
|
+
'- sync_design_tokens to normalize/convert tokens (css-vars/scss-vars/tailwind/tokens-studio/style-dictionary).',
|
|
90
|
+
'',
|
|
91
|
+
'### E) Architecture planning (before implementation)',
|
|
92
|
+
'1) scaffold_project(name, pages, features) to get a structured plan.',
|
|
93
|
+
'2) Implement pages/components via create_ui/snippet_ui.',
|
|
94
|
+
'',
|
|
95
|
+
'## High-signal request template (copy/paste)',
|
|
96
|
+
'Purpose: <what this UI is for>',
|
|
97
|
+
'Audience: <who uses it>',
|
|
98
|
+
'Required content: <bullets of exact elements that must exist>',
|
|
99
|
+
'Constraints:',
|
|
100
|
+
'- WCAG AA',
|
|
101
|
+
'- Mobile-first responsive',
|
|
102
|
+
'- Strong :focus-visible states',
|
|
103
|
+
'- Avoid generic “SaaS card grids” + generic gradients',
|
|
104
|
+
'Design direction: <ONE clear aesthetic (editorial | brutalist | art-deco | luxury | playful)>',
|
|
105
|
+
'',
|
|
106
|
+
'Tip: For marketing pages, explicitly list required sections (hero, how-it-works, examples, testimonials, pricing, CTA).',
|
|
107
|
+
].join('\n');
|
|
108
|
+
|
|
109
|
+
if (focus === 'agents_md') return `${agentsMd}\n`;
|
|
110
|
+
if (focus === 'landing_page') return `${header}${landingTemplate}\n\n${generalTemplate}\n`;
|
|
111
|
+
if (focus === 'create_ui')
|
|
112
|
+
return `${header}## create_ui tips\n- Be explicit about required elements and file path.\n- Include constraints and one aesthetic direction.\n\n${generalTemplate}\n`;
|
|
113
|
+
if (focus === 'snippet_ui')
|
|
114
|
+
return `${header}## snippet_ui tips\n- Choose the closest \"type\" and list interaction rules (focus trap, keyboard, loading, etc.).\n\n${generalTemplate}\n`;
|
|
115
|
+
return `${header}${generalTemplate}\n`;
|
|
116
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt/Resource Registry
|
|
3
|
+
*
|
|
4
|
+
* Makes best-practice prompting guidance discoverable to MCP clients.
|
|
5
|
+
* Tools are still the most widely supported entrypoint, so we also ship a
|
|
6
|
+
* deterministic `prompting_guide` tool.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
11
|
+
import { getPromptingGuide, type PromptingGuideFocus } from '../guides/prompting.js';
|
|
12
|
+
import { Config } from '../config/index.js';
|
|
13
|
+
|
|
14
|
+
const PROMPTING_GUIDE_URI = 'gemini-designer://docs/prompting-guide';
|
|
15
|
+
|
|
16
|
+
export function registerPromptsAndResources(server: McpServer, _config: Config): void {
|
|
17
|
+
server.registerPrompt(
|
|
18
|
+
'prompting_guide',
|
|
19
|
+
{
|
|
20
|
+
title: 'Prompting Guide',
|
|
21
|
+
description: 'Recommended flow + templates for high-quality one-pass UI generation.',
|
|
22
|
+
argsSchema: {
|
|
23
|
+
focus: z
|
|
24
|
+
.enum(['general', 'create_ui', 'snippet_ui', 'landing_page', 'agents_md'])
|
|
25
|
+
.default('general')
|
|
26
|
+
.describe('Which template to return.'),
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
async (args, _extra) => {
|
|
30
|
+
const focus = (args.focus as PromptingGuideFocus) || 'general';
|
|
31
|
+
const text = getPromptingGuide(focus);
|
|
32
|
+
return {
|
|
33
|
+
description: 'Prompting guide content',
|
|
34
|
+
messages: [
|
|
35
|
+
{
|
|
36
|
+
role: 'user' as const,
|
|
37
|
+
content: { type: 'text' as const, text },
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
server.registerResource(
|
|
45
|
+
'Prompting Guide',
|
|
46
|
+
PROMPTING_GUIDE_URI,
|
|
47
|
+
{
|
|
48
|
+
title: 'Prompting Guide',
|
|
49
|
+
description:
|
|
50
|
+
'Recommended prompting flow + templates (same content as the prompting_guide tool/prompt).',
|
|
51
|
+
},
|
|
52
|
+
async () => {
|
|
53
|
+
return {
|
|
54
|
+
contents: [
|
|
55
|
+
{
|
|
56
|
+
uri: PROMPTING_GUIDE_URI,
|
|
57
|
+
mimeType: 'text/markdown',
|
|
58
|
+
text: getPromptingGuide('general'),
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
package/src/server.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
8
8
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
9
9
|
import { Config } from './config/index.js';
|
|
10
10
|
import { registerTools } from './tools/index.js';
|
|
11
|
+
import { registerPromptsAndResources } from './prompts/index.js';
|
|
11
12
|
import { VERSION } from './version.js';
|
|
12
13
|
|
|
13
14
|
export async function createServer(config: Config) {
|
|
@@ -19,6 +20,9 @@ export async function createServer(config: Config) {
|
|
|
19
20
|
// Register all MCP tools
|
|
20
21
|
registerTools(server, config);
|
|
21
22
|
|
|
23
|
+
// Prompts/resources for clients that support them
|
|
24
|
+
registerPromptsAndResources(server, config);
|
|
25
|
+
|
|
22
26
|
// Use stdio transport (standard for MCP)
|
|
23
27
|
const transport = new StdioServerTransport();
|
|
24
28
|
await server.connect(transport);
|
package/src/tools/create-ui.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
12
|
+
import * as path from 'node:path';
|
|
12
13
|
import { z } from 'zod';
|
|
13
14
|
import { Config } from '../config/index.js';
|
|
14
15
|
import { buildContext } from '../context/builder.js';
|
|
@@ -166,7 +167,12 @@ function buildUserPrompt(args: {
|
|
|
166
167
|
let stylingInstructions = '';
|
|
167
168
|
if (needsSeparateStyleFile) {
|
|
168
169
|
const ext = args.stylingInfo.fileExtension;
|
|
169
|
-
|
|
170
|
+
let stylePath = args.targetPath.replace(/\.(tsx?|jsx?|vue|svelte|html|astro)$/, ext);
|
|
171
|
+
|
|
172
|
+
// For static HTML pages, prefer a conventional `styles.css` next to `index.html`.
|
|
173
|
+
if (args.targetPath.endsWith('/index.html') && ext === '.css') {
|
|
174
|
+
stylePath = args.targetPath.replace(/\/index\.html$/, '/styles.css');
|
|
175
|
+
}
|
|
170
176
|
stylingInstructions = `Style file: ${stylePath}\n`;
|
|
171
177
|
}
|
|
172
178
|
|
|
@@ -286,8 +292,25 @@ export function registerCreateUI(server: McpServer, config: Config) {
|
|
|
286
292
|
'create_ui',
|
|
287
293
|
{
|
|
288
294
|
title: 'Create UI Component/View',
|
|
289
|
-
description:
|
|
290
|
-
'Generate a complete UI component. Auto-detects project styling (Tailwind, CSS Modules, styled-components, etc.) and outputs matching code structure.',
|
|
295
|
+
description: [
|
|
296
|
+
'Generate a complete UI component/view. Auto-detects project styling (Tailwind, CSS Modules, styled-components, etc.) and outputs matching code structure.',
|
|
297
|
+
'',
|
|
298
|
+
'High-signal flow:',
|
|
299
|
+
'1) (Optional) generate_vibes → pick 1 vibe',
|
|
300
|
+
'2) create_ui with: purpose + audience + required content + constraints + design direction',
|
|
301
|
+
'3) If needed: ONE modify_ui pass for polish (don’t fully regenerate)',
|
|
302
|
+
'',
|
|
303
|
+
'Prompting template:',
|
|
304
|
+
'Purpose: <what this UI is for>',
|
|
305
|
+
'Audience: <who uses it>',
|
|
306
|
+
'Required content: <bullets of exact elements that must exist>',
|
|
307
|
+
'Constraints:',
|
|
308
|
+
'- WCAG AA',
|
|
309
|
+
'- Mobile-first responsive',
|
|
310
|
+
'- Strong :focus-visible states',
|
|
311
|
+
'- Avoid generic “SaaS card grids” + generic gradients',
|
|
312
|
+
'Design direction: <ONE clear aesthetic, e.g. editorial | brutalist | art-deco | luxury | playful>',
|
|
313
|
+
].join('\n'),
|
|
291
314
|
inputSchema,
|
|
292
315
|
},
|
|
293
316
|
async (args) => {
|
|
@@ -298,7 +321,10 @@ export function registerCreateUI(server: McpServer, config: Config) {
|
|
|
298
321
|
const vibe = args.vibe as string | undefined;
|
|
299
322
|
const contextFiles = (args.contextFiles as string[]) || [];
|
|
300
323
|
const targetPath = args.targetPath as string;
|
|
301
|
-
const
|
|
324
|
+
const rawProjectRoot = (args.projectRoot as string) || process.cwd();
|
|
325
|
+
const projectRoot = path.isAbsolute(rawProjectRoot)
|
|
326
|
+
? rawProjectRoot
|
|
327
|
+
: path.resolve(process.cwd(), rawProjectRoot);
|
|
302
328
|
const requestedApproach = (args.stylingApproach as string) || 'auto';
|
|
303
329
|
const stylingApproachCustom = args.stylingApproachCustom as string | undefined;
|
|
304
330
|
const shouldWrite = args.writeToFile === true;
|
|
@@ -475,7 +501,24 @@ export function registerCreateUI(server: McpServer, config: Config) {
|
|
|
475
501
|
const writes: Array<{ file: string; backup?: string }> = [];
|
|
476
502
|
|
|
477
503
|
for (const file of parsed.files) {
|
|
478
|
-
|
|
504
|
+
// Resolve any relative paths from the projectRoot (NOT process.cwd()).
|
|
505
|
+
// Models often output paths like "src/App.tsx" or "index.html" even when given absolute paths.
|
|
506
|
+
// If we resolved those from process.cwd(), we might accidentally write to the wrong repo.
|
|
507
|
+
const resolvedPath = path.isAbsolute(file.path) ? file.path : path.resolve(projectRoot, file.path);
|
|
508
|
+
|
|
509
|
+
let safePath: string;
|
|
510
|
+
try {
|
|
511
|
+
safePath = assertWritablePath(resolvedPath, config);
|
|
512
|
+
} catch (error) {
|
|
513
|
+
// If the model outputs "/src/..." style paths, treat them as project-relative.
|
|
514
|
+
// ("/src/App.tsx" is almost never a real filesystem absolute path that we want.)
|
|
515
|
+
if (path.isAbsolute(file.path) && file.path.startsWith(path.sep)) {
|
|
516
|
+
const stripped = file.path.replace(new RegExp(`^\\${path.sep}+`), '');
|
|
517
|
+
safePath = assertWritablePath(path.resolve(projectRoot, stripped), config);
|
|
518
|
+
} else {
|
|
519
|
+
throw error;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
479
522
|
const writeResult = await writeFile(safePath, file.content, { backup, format: false });
|
|
480
523
|
|
|
481
524
|
if (!writeResult.success) {
|
|
@@ -138,7 +138,14 @@ export function registerGenerateVibes(server: McpServer, config: Config): void {
|
|
|
138
138
|
{
|
|
139
139
|
title: 'Generate Design Vibes',
|
|
140
140
|
description:
|
|
141
|
-
|
|
141
|
+
[
|
|
142
|
+
'Generate design direction options (vibes) with color palettes, typography, and spacing.',
|
|
143
|
+
'',
|
|
144
|
+
'Recommended flow:',
|
|
145
|
+
'1) Call generate_vibes (pick 1 vibe).',
|
|
146
|
+
'2) Pass the selected vibe JSON into create_ui/snippet_ui as `vibe`.',
|
|
147
|
+
'3) If the first draft is close, call modify_ui for targeted refinements (1 pass).',
|
|
148
|
+
].join('\n'),
|
|
142
149
|
inputSchema,
|
|
143
150
|
},
|
|
144
151
|
async (args) => {
|
package/src/tools/index.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { registerSyncDesignTokens } from './sync-design-tokens.js';
|
|
|
17
17
|
import { registerCatalogComponents } from './catalog-components.js';
|
|
18
18
|
import { registerGenerateComponentVariants } from './generate-component-variants.js';
|
|
19
19
|
import { registerAnalyzeScreenshotUI } from './analyze-screenshot-ui.js';
|
|
20
|
+
import { registerPromptingGuideTool } from './prompting-guide.js';
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Register all MCP tools
|
|
@@ -37,6 +38,7 @@ export function registerTools(server: McpServer, config: Config): void {
|
|
|
37
38
|
registerCatalogComponents(server, config);
|
|
38
39
|
registerGenerateComponentVariants(server, config);
|
|
39
40
|
registerAnalyzeScreenshotUI(server, config);
|
|
41
|
+
registerPromptingGuideTool(server, config);
|
|
40
42
|
|
|
41
43
|
console.error('[tools] All tools registered');
|
|
42
44
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* prompting_guide Tool
|
|
3
|
+
*
|
|
4
|
+
* Deterministic: returns the recommended prompting flow + templates.
|
|
5
|
+
* Useful for “dumb” agents that don’t read repo docs.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
import { Config } from '../config/index.js';
|
|
11
|
+
import { getPromptingGuide, type PromptingGuideFocus } from '../guides/prompting.js';
|
|
12
|
+
|
|
13
|
+
const inputSchema = {
|
|
14
|
+
focus: z
|
|
15
|
+
.enum(['general', 'create_ui', 'snippet_ui', 'landing_page', 'agents_md'])
|
|
16
|
+
.default('general')
|
|
17
|
+
.describe('Which template to return.'),
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function guideFor(focus: PromptingGuideFocus): string {
|
|
21
|
+
return getPromptingGuide(focus);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function registerPromptingGuideTool(server: McpServer, _config: Config): void {
|
|
25
|
+
server.registerTool(
|
|
26
|
+
'prompting_guide',
|
|
27
|
+
{
|
|
28
|
+
title: 'Prompting Guide',
|
|
29
|
+
description:
|
|
30
|
+
'Return the recommended prompting flow + templates (useful for agents that don’t read repo docs).',
|
|
31
|
+
inputSchema,
|
|
32
|
+
},
|
|
33
|
+
async (args) => {
|
|
34
|
+
const focus = (args.focus as PromptingGuideFocus) || 'general';
|
|
35
|
+
return {
|
|
36
|
+
content: [{ type: 'text' as const, text: guideFor(focus) }],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
package/src/tools/snippet-ui.ts
CHANGED
|
@@ -284,7 +284,10 @@ Return ONLY the corrected JSON object.`;
|
|
|
284
284
|
function deriveStylePath(componentPath: string, stylingInfo: StylingInfo): string {
|
|
285
285
|
const ext = stylingInfo.fileExtension;
|
|
286
286
|
if (!ext) return '';
|
|
287
|
-
|
|
287
|
+
if (componentPath.endsWith('/index.html') && ext === '.css') {
|
|
288
|
+
return componentPath.replace(/\/index\.html$/, '/styles.css');
|
|
289
|
+
}
|
|
290
|
+
return componentPath.replace(/\.(tsx?|jsx?|vue|svelte|html|astro)$/, ext);
|
|
288
291
|
}
|
|
289
292
|
|
|
290
293
|
export function registerSnippetUI(server: McpServer, config: Config): void {
|
|
@@ -293,7 +296,14 @@ export function registerSnippetUI(server: McpServer, config: Config): void {
|
|
|
293
296
|
{
|
|
294
297
|
title: 'Generate UI Snippet',
|
|
295
298
|
description:
|
|
296
|
-
|
|
299
|
+
[
|
|
300
|
+
'Generate standalone UI components (modals, tables, forms, etc.). Auto-detects project styling and outputs matching code structure.',
|
|
301
|
+
'',
|
|
302
|
+
'Recommended flow:',
|
|
303
|
+
'1) (Optional) generate_vibes → pick 1 vibe',
|
|
304
|
+
'2) snippet_ui with: type + detailed requirements + constraints (a11y, responsive, focus-visible)',
|
|
305
|
+
'3) If needed: ONE modify_ui pass for polish',
|
|
306
|
+
].join('\n'),
|
|
297
307
|
inputSchema,
|
|
298
308
|
},
|
|
299
309
|
async (args) => {
|