@layoutdesign/context 0.3.0 → 0.4.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.
Files changed (32) hide show
  1. package/README.md +45 -5
  2. package/dist/bin/cli.js +3 -3
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/src/cli/doctor.d.ts.map +1 -1
  5. package/dist/src/cli/doctor.js +85 -21
  6. package/dist/src/cli/doctor.js.map +1 -1
  7. package/dist/src/cli/init.d.ts.map +1 -1
  8. package/dist/src/cli/init.js +3 -5
  9. package/dist/src/cli/init.js.map +1 -1
  10. package/dist/src/cli/setup-utils.d.ts +7 -0
  11. package/dist/src/cli/setup-utils.d.ts.map +1 -1
  12. package/dist/src/cli/setup-utils.js +52 -1
  13. package/dist/src/cli/setup-utils.js.map +1 -1
  14. package/dist/src/mcp/server.d.ts.map +1 -1
  15. package/dist/src/mcp/server.js +58 -0
  16. package/dist/src/mcp/server.js.map +1 -1
  17. package/dist/src/mcp/tools/check-setup.js +8 -5
  18. package/dist/src/mcp/tools/check-setup.js.map +1 -1
  19. package/dist/src/mcp/tools/design-in-figma.d.ts.map +1 -1
  20. package/dist/src/mcp/tools/design-in-figma.js +73 -80
  21. package/dist/src/mcp/tools/design-in-figma.js.map +1 -1
  22. package/dist/src/mcp/tools/push-to-figma.d.ts +8 -3
  23. package/dist/src/mcp/tools/push-to-figma.d.ts.map +1 -1
  24. package/dist/src/mcp/tools/push-to-figma.js +110 -3
  25. package/dist/src/mcp/tools/push-to-figma.js.map +1 -1
  26. package/dist/src/mcp/tools/push-tokens-to-figma.d.ts +16 -0
  27. package/dist/src/mcp/tools/push-tokens-to-figma.d.ts.map +1 -0
  28. package/dist/src/mcp/tools/push-tokens-to-figma.js +141 -0
  29. package/dist/src/mcp/tools/push-tokens-to-figma.js.map +1 -0
  30. package/dist/src/mcp/tools/url-to-figma.js +1 -1
  31. package/dist/src/mcp/tools/url-to-figma.js.map +1 -1
  32. package/package.json +1 -1
@@ -53,8 +53,13 @@ async function checkFigma(state, shouldFix) {
53
53
  if (state.figma.registered) {
54
54
  const entry = state.figma.entry;
55
55
  const issues = [];
56
+ // Check for old npm package
57
+ if (state.figma.isOldNpmPackage) {
58
+ issues.push("- **Outdated Figma MCP:** You have the old `figma-developer-mcp` npm package (only 2 tools: get_figma_data, download_figma_images). " +
59
+ "Layout requires the official Figma MCP server at `mcp.figma.com` which has 16 tools including `use_figma`");
60
+ }
56
61
  // Check transport
57
- if (!state.figma.correctTransport) {
62
+ if (!state.figma.correctTransport && !state.figma.isOldNpmPackage) {
58
63
  issues.push(`- **Wrong transport:** Using \`${entry?.transport ?? "unknown"}\` but Figma MCP requires \`http\` transport for OAuth`);
59
64
  }
60
65
  // Check scope
@@ -91,8 +96,7 @@ async function checkFigma(state, shouldFix) {
91
96
  }
92
97
  }
93
98
  else if (!state.figma.correctTransport || state.figma.pluginShadow) {
94
- lines.push("- **To fix:** Run `claude mcp add --scope user --transport http figma https://mcp.figma.com/mcp`\n" +
95
- "- Or call this tool again with `fix: true`\n");
99
+ lines.push("- **To fix:** Run `npx @layoutdesign/context install` to auto-configure, or call this tool again with `fix: true`\n");
96
100
  }
97
101
  }
98
102
  }
@@ -146,8 +150,7 @@ function checkPlaywright(state, shouldFix) {
146
150
  }
147
151
  }
148
152
  else {
149
- lines.push("- **To fix:** Run `claude mcp add --scope user playwright -- npx -y @anthropic-ai/mcp-playwright`\n" +
150
- "- Or call this tool again with `fix: true`\n");
153
+ lines.push("- **To fix:** Run `npx @layoutdesign/context install` to auto-configure, or call this tool again with `fix: true`\n");
151
154
  }
152
155
  }
153
156
  return lines.join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"check-setup.js","sourceRoot":"","sources":["../../../../src/mcp/tools/check-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-setup.js","sourceRoot":"","sources":["../../../../src/mcp/tools/check-setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"design-in-figma.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/design-in-figma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,eAAO,MAAM,IAAI,oBAAoB,CAAC;AAEtC,eAAO,MAAM,WAAW,QAIkE,CAAC;AAE3F,eAAO,MAAM,WAAW;;;;;;;;CAkBvB,CAAC;AAEF,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,IACvB,iCAIX;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;;;;;GAkKF"}
1
+ {"version":3,"file":"design-in-figma.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/design-in-figma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,eAAO,MAAM,IAAI,oBAAoB,CAAC;AAEtC,eAAO,MAAM,WAAW,QAK0B,CAAC;AAEnD,eAAO,MAAM,WAAW;;;;;;;;CAkBvB,CAAC;AAEF,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,IACvB,iCAIX;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;;;;;GAiJF"}
@@ -3,7 +3,8 @@ export const name = "design-in-figma";
3
3
  export const description = "Design UI components and screens directly in Figma using the loaded design system. " +
4
4
  "Takes a natural language prompt (e.g. 'A pricing card with 3 tiers') and returns " +
5
5
  "design tokens, component specs, and step-by-step instructions for the AI agent to " +
6
- "call Figma MCP's generate_figma_design. Requires the Figma MCP server to be connected.";
6
+ "call Figma MCP's use_figma tool to create native, editable Figma frames. " +
7
+ "Requires the Figma MCP server to be connected.";
7
8
  export const inputSchema = {
8
9
  prompt: z
9
10
  .string()
@@ -30,7 +31,6 @@ export function handler(kit) {
30
31
  };
31
32
  }
32
33
  const resolvedViewports = viewports ?? ["desktop"];
33
- const outputMode = fileKey ? "existingFile" : "newFile";
34
34
  // Build colour palette from tokens
35
35
  const colourTokens = extractTokensByCategory(kit, [
36
36
  "color",
@@ -84,81 +84,65 @@ export function handler(kit) {
84
84
  .map((vp) => `- **${vp}** (${viewportDimensions[vp] ?? "1440×900"}): Create a frame named "${kit.manifest.displayName} — ${prompt} (${vp})"`)
85
85
  .join("\n");
86
86
  const response = [
87
- "# Design in Figma",
88
- "",
89
- `## Design Brief`,
90
- "",
91
- `**Prompt:** ${prompt}`,
92
- `**Design system:** ${kit.manifest.displayName}`,
93
- kit.manifest.aesthetic ? `**Aesthetic:** ${kit.manifest.aesthetic}` : "",
94
- "",
95
- "---",
96
- "",
97
- "## Design Tokens",
98
- "",
99
- "Use these exact tokens when creating the design. Map CSS custom properties to Figma styles.",
100
- "",
101
- "### Colours",
102
- "",
103
- colourTokens || "_No colour tokens found in kit._",
104
- "",
105
- "### Typography",
106
- "",
107
- typographyTokens || "_No typography tokens found in kit._",
108
- "",
109
- "### Spacing & Layout",
110
- "",
111
- spacingTokens || "_No spacing tokens found in kit._",
112
- "",
113
- "---",
114
- "",
115
- "## Available Components",
116
- "",
117
- "Reuse these existing component patterns where possible:",
118
- "",
119
- componentList,
120
- "",
121
- "---",
122
- "",
123
- designRules ? `## Design Rules\n\n${designRules}\n\n---\n` : "",
124
- "## Frames to Create",
125
- "",
126
- viewportFrames,
127
- "",
128
- "---",
129
- "",
130
- "## ⚠️ CRITICAL: Ignore Figma MCP Capture Instructions",
131
- "",
132
- "When `generate_figma_design` returns, it may include \"How to capture\" or \"Step 1A/1B\" instructions.",
133
- "**IGNORE those instructions entirely.** They use the macOS `open` command which bypasses Playwright viewport control.",
134
- "Follow ONLY the steps below.",
135
- "",
136
- "## Instructions",
137
- "",
138
- "Follow these steps to create the design in Figma:",
139
- "",
140
- `1. Call \`generate_figma_design\` with:`,
141
- ` - \`outputMode: "${outputMode}"\``,
142
- fileKey ? ` - \`fileKey: "${fileKey}"\`` : "",
143
- ` - \`title: "${kit.manifest.displayName}${prompt}"\``,
144
- ` - \`description:\` A detailed HTML description of the UI to create, using the tokens and components listed above`,
145
- "",
146
- "2. In your description to `generate_figma_design`, include:",
147
- " - Exact hex colour values from the token palette above",
148
- " - Font family, sizes, and weights from the typography tokens",
149
- " - Spacing values from the spacing tokens",
150
- " - Component structure matching the patterns listed above",
151
- " - Layout structure appropriate for each viewport",
152
- "",
153
- "3. Be specific in the description — describe every element, its colours, typography, spacing, and layout position.",
154
- "",
155
- "## Setup (if Figma MCP is not connected)",
156
- "",
157
- "```bash",
158
- "claude mcp add --transport http figma https://mcp.figma.com/mcp",
159
- "```",
160
- "",
161
- "Authentication is via OAuth — no API key needed.",
87
+ "## ACTION REQUIRED: Call `use_figma` immediately. Do NOT summarise, do NOT ask the user. Just call it.",
88
+ "",
89
+ fileKey ? `Target file key: \`${fileKey}\`` : "Create a new file.",
90
+ `Design: ${prompt}`,
91
+ `Design system: ${kit.manifest.displayName}`,
92
+ `Viewports: ${viewportFrames}`,
93
+ "",
94
+ "### CRITICAL RULES — Follow ALL of these:",
95
+ "",
96
+ "**1. Design system compliance (THIS IS THE WHOLE POINT):**",
97
+ "- You MUST use the exact colour hex values from the tokens above — NEVER use generic black (#000), white (#FFF), or grey",
98
+ "- Primary/CTA buttons: use the primary colour token for fill, on-primary token for text",
99
+ "- Secondary buttons: use outline style with primary colour border",
100
+ "- Backgrounds: use surface/background tokens for page and card fills",
101
+ "- Text: use on-surface token for headings, on-surface-variant token for body/secondary text",
102
+ "- Borders: use outline-variant token for card borders and dividers",
103
+ "- Border radius: use the exact radius tokens, not arbitrary values",
104
+ "- Spacing (padding, gap): use the exact spacing tokens, not round numbers",
105
+ "- Font family: use the typography token font-family, not system defaults",
106
+ "- Shadows: use the elevation/shadow tokens if defined",
107
+ "",
108
+ "**2. Auto-layout (MUST GET RIGHT):**",
109
+ "- NEVER set fixed heights on content containers — always use Hug for height",
110
+ "- Card widths in a row: use FILL so they share space equally",
111
+ "- Card heights: HUG to fit content",
112
+ "- Feature/list items: gap should be the smallest spacing token (4-8px)",
113
+ "- Section spacing: use larger spacing tokens (24-48px) between major sections",
114
+ "- Root frame: set explicit width (e.g. 1440px for desktop), height HUG",
115
+ "- Badges/tags: HUG both axes, padding 4-8px horizontal, 2-4px vertical",
116
+ "- NEVER leave sizing unset — every frame must have explicit FILL or HUG on both axes",
117
+ "- NEVER use fixed pixel widths or heights on auto-layout children — use FILL or HUG instead",
118
+ "- Only the root frame should have a fixed pixel width (e.g. 1440px). Everything inside uses FILL or HUG",
119
+ "- NEVER leave padding, margin, or gap at 0 — always use a spacing token value. If unsure, use the smallest spacing token (4-8px)",
120
+ "- Every container with children MUST have padding and gap set to a spacing token value, not 0",
121
+ "",
122
+ "**3. Visual hierarchy:**",
123
+ "- Featured/highlighted tier: use primary colour fill or thicker border to distinguish it",
124
+ "- CTA buttons should differ per tier: outlined for basic, filled primary for featured, filled secondary for enterprise",
125
+ "- Price should be the largest text in each card (use heading font size)",
126
+ "- Eyebrow/label text: smaller size, uppercase, wider letter-spacing, primary colour",
127
+ "- Dividers: use outline-variant colour, 1px height",
128
+ "",
129
+ "**4. Content:**",
130
+ "- ALL text must be realistic real prices, real feature names, real CTAs",
131
+ "- No placeholder or lorem ipsum text",
132
+ "- Use the typography scale: display > heading > title > body > label sizes",
133
+ "",
134
+ "**5. Responsive (when multiple viewports requested):**",
135
+ "- Desktop: horizontal card layout (row)",
136
+ "- Tablet: horizontal with reduced padding/gap",
137
+ "- Mobile: stack cards vertically, reduce font sizes, reduce padding",
138
+ "",
139
+ "**6. Token format — resolve before calling use_figma:**",
140
+ "- Convert CSS variables to actual values: --color-primary: #0a4b19 → use #0a4b19",
141
+ "- Convert spacing: --space-4: 16px → use 16",
142
+ "- Convert radius: --radius-md: 12px use 12",
143
+ "- Do NOT pass CSS variable names to use_figma only resolved values",
144
+ "",
145
+ "If `use_figma` is not available, call Layout MCP's `check-setup` with `fix: true`.",
162
146
  ]
163
147
  .filter(Boolean)
164
148
  .join("\n");
@@ -173,7 +157,7 @@ export function handler(kit) {
173
157
  function extractTokensByCategory(kit, keywords) {
174
158
  if (!kit.tokensCss)
175
159
  return "";
176
- const lines = kit.tokensCss
160
+ const tokens = kit.tokensCss
177
161
  .split("\n")
178
162
  .filter((line) => {
179
163
  if (!line.includes("--"))
@@ -181,10 +165,19 @@ function extractTokensByCategory(kit, keywords) {
181
165
  const lower = line.toLowerCase();
182
166
  return keywords.some((kw) => lower.includes(kw));
183
167
  })
168
+ .map((line) => {
169
+ const match = line.match(/--([\w-]+)\s*:\s*(.+?)\s*;?\s*$/);
170
+ if (!match)
171
+ return null;
172
+ const name = match[1];
173
+ const value = match[2].replace(/;$/, "").trim();
174
+ return `- **${name}**: \`${value}\``;
175
+ })
176
+ .filter(Boolean)
184
177
  .slice(0, 40);
185
- if (lines.length === 0)
178
+ if (tokens.length === 0)
186
179
  return "";
187
- return "```css\n" + lines.join("\n") + "\n```";
180
+ return tokens.join("\n");
188
181
  }
189
182
  /**
190
183
  * Extract design rules from kit sections (looks for "rules", "guidelines", "principles" sections).
@@ -1 +1 @@
1
- {"version":3,"file":"design-in-figma.js","sourceRoot":"","sources":["../../../../src/mcp/tools/design-in-figma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-in-figma.js","sourceRoot":"","sources":["../../../../src/mcp/tools/design-in-figma.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,12 @@ export declare const inputSchema: {
15
15
  name: z.ZodString;
16
16
  code: z.ZodString;
17
17
  }, z.core.$strip>>>;
18
+ mode: z.ZodOptional<z.ZodEnum<{
19
+ capture: "capture";
20
+ native: "native";
21
+ }>>;
18
22
  };
19
- export declare function handler(kit: Kit | null): ({ code, name: frameName, viewports, figmaUrl, variants, }: {
23
+ export declare function handler(kit: Kit | null): ({ code, name: frameName, viewports, figmaUrl, variants, mode, }: {
20
24
  code: string;
21
25
  name?: string;
22
26
  viewports?: string[];
@@ -25,10 +29,11 @@ export declare function handler(kit: Kit | null): ({ code, name: frameName, view
25
29
  name: string;
26
30
  code: string;
27
31
  }>;
32
+ mode?: string;
28
33
  }) => Promise<{
29
- content: {
34
+ content: Array<{
30
35
  type: "text";
31
36
  text: string;
32
- }[];
37
+ }>;
33
38
  }>;
34
39
  //# sourceMappingURL=push-to-figma.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"push-to-figma.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/push-to-figma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAI9C,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,eAAO,MAAM,WAAW,QAI+C,CAAC;AAExE,eAAO,MAAM,WAAW;;;;;;;;;;;;;CA6BvB,CAAC;AAsHF,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,IACvB,2DAMX;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;;;;;GAgGF"}
1
+ {"version":3,"file":"push-to-figma.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/push-to-figma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAI9C,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,eAAO,MAAM,WAAW,QAI+C,CAAC;AAExE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAqCvB,CAAC;AAoOF,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,IACvB,iEAOX;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;aA/GY,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;GA6NnD"}
@@ -31,6 +31,12 @@ export const inputSchema = {
31
31
  "named '{name}/State={variantName}'. After all frames are captured, use the Layout Figma plugin's " +
32
32
  "'Assemble Component Set' to combine them into a proper Figma component with variant properties. " +
33
33
  "Tip: render hover states by applying hover styles directly as classes, not via CSS :hover pseudo-class."),
34
+ mode: z
35
+ .enum(["capture", "native"])
36
+ .optional()
37
+ .describe("Push mode. 'capture' (default) renders in browser and captures as flat frames via Playwright. " +
38
+ "'native' uses Figma MCP's use_figma to create editable Figma objects with auto-layout and real text. " +
39
+ "Native mode does not require Playwright MCP."),
34
40
  };
35
41
  const VIEWPORT_DIMS = {
36
42
  desktop: { width: 1280, height: 900 },
@@ -125,11 +131,100 @@ function buildCaptureInstructions(resolvedFileKey, outputMode) {
125
131
  "5. Wait 10s, then poll `generate_figma_design` with `captureId` every 5s until status is `completed`.",
126
132
  ].join("\n");
127
133
  }
134
+ function buildNativeResponse({ code, frameName, viewports, resolvedFileKey, variants, kit, }) {
135
+ const tokenContext = kit?.tokensCss
136
+ ? "\n## Design Tokens\n\nApply these tokens to ensure design system compliance:\n\n```css\n" +
137
+ kit.tokensCss
138
+ .split("\n")
139
+ .filter((l) => l.includes("--"))
140
+ .slice(0, 50)
141
+ .join("\n") +
142
+ "\n```\n"
143
+ : "";
144
+ const viewportDims = {
145
+ desktop: "1280×900",
146
+ tablet: "768×1024",
147
+ mobile: "375×812",
148
+ };
149
+ const viewportList = viewports
150
+ .map((vp) => `- **${frameName} (${vp})**: ${viewportDims[vp] ?? "1280×900"}`)
151
+ .join("\n");
152
+ let componentDescription;
153
+ if (variants && variants.length > 0) {
154
+ const variantDescriptions = variants
155
+ .map((v) => `### Variant: ${v.name}\n\n\`\`\`tsx\n${v.code}\n\`\`\``)
156
+ .join("\n\n");
157
+ componentDescription = [
158
+ `Create a Figma component called "${frameName}" with ${variants.length} variant(s).`,
159
+ "",
160
+ "Each variant should be a separate state (e.g. Default, Hover, Active, Disabled).",
161
+ "Create these as a proper Figma component set with variant properties.",
162
+ "",
163
+ variantDescriptions,
164
+ ].join("\n");
165
+ }
166
+ else {
167
+ componentDescription = [
168
+ `Create a Figma frame called "${frameName}" based on this component:`,
169
+ "",
170
+ "```tsx",
171
+ code,
172
+ "```",
173
+ ].join("\n");
174
+ }
175
+ const response = [
176
+ "# Push to Figma (Native Mode)",
177
+ "",
178
+ "Use Figma MCP's `use_figma` tool to create this component as native, editable Figma objects.",
179
+ "",
180
+ "**Recommended:** Invoke this with the `figma-use` skill for best results.",
181
+ "",
182
+ "---",
183
+ "",
184
+ "## Component",
185
+ "",
186
+ componentDescription,
187
+ "",
188
+ "---",
189
+ tokenContext,
190
+ "## Frames to Create",
191
+ "",
192
+ viewportList,
193
+ "",
194
+ "---",
195
+ "",
196
+ "## NEXT STEP — YOU MUST DO THIS NOW",
197
+ "",
198
+ "Immediately call Figma MCP's `use_figma` tool to create this component. Do not ask the user — just do it.",
199
+ "",
200
+ `Call \`use_figma\` now with:`,
201
+ resolvedFileKey
202
+ ? `- Target file key: \`${resolvedFileKey}\``
203
+ : "- Create a new Figma file",
204
+ "- Analyse the TSX code above to understand the component structure",
205
+ "- Recreate the layout using Figma auto-layout (not absolute positioning)",
206
+ "- Use the exact colours, fonts, spacing, and radius from the code/tokens",
207
+ "- Create real text nodes with correct content, font, and size",
208
+ "- NEVER use fixed pixel widths/heights on auto-layout children — use FILL or HUG",
209
+ "- NEVER leave padding or gap at 0 — use spacing values from the code (e.g. gap-4 = 16px padding, p-6 = 24px)",
210
+ "- Create a frame for each viewport listed above, adapting the layout responsively",
211
+ "",
212
+ variants && variants.length > 0
213
+ ? "Create each variant as a separate component, then combine into a component set with variant properties.\n"
214
+ : "",
215
+ "If `use_figma` is not available, call the Layout MCP `check-setup` tool with `fix: true` to auto-configure the Figma MCP server.",
216
+ ]
217
+ .filter(Boolean)
218
+ .join("\n");
219
+ return {
220
+ content: [{ type: "text", text: response }],
221
+ };
222
+ }
128
223
  export function handler(kit) {
129
- return async ({ code, name: frameName, viewports, figmaUrl, variants, }) => {
224
+ return async ({ code, name: frameName, viewports, figmaUrl, variants, mode, }) => {
130
225
  const resolvedName = frameName ?? "Layout Component";
131
226
  const resolvedViewports = viewports ?? ["desktop"];
132
- const baseCaptureUrl = `http://localhost:${PREVIEW_PORT}/capture`;
227
+ const resolvedMode = mode ?? "capture";
133
228
  // Parse fileKey from Figma URL if provided
134
229
  let resolvedFileKey;
135
230
  if (figmaUrl) {
@@ -137,6 +232,18 @@ export function handler(kit) {
137
232
  if (match)
138
233
  resolvedFileKey = match[1];
139
234
  }
235
+ // Native mode: use use_figma directly, skip preview server + Playwright
236
+ if (resolvedMode === "native") {
237
+ return buildNativeResponse({
238
+ code,
239
+ frameName: resolvedName,
240
+ viewports: resolvedViewports,
241
+ resolvedFileKey,
242
+ variants,
243
+ kit,
244
+ });
245
+ }
246
+ const baseCaptureUrl = `http://localhost:${PREVIEW_PORT}/capture`;
140
247
  const outputMode = resolvedFileKey ? "existingFile" : "newFile";
141
248
  // Step 1: Push code to the preview server
142
249
  const pushStatuses = [];
@@ -171,7 +278,7 @@ export function handler(kit) {
171
278
  };
172
279
  }
173
280
  // Step 2: Build compact capture instructions
174
- const prereq = "Requires: Figma MCP (HTTP transport: `claude mcp add --transport http figma https://mcp.figma.com/mcp`) + Playwright MCP.";
281
+ const prereq = "Requires: Figma MCP + Playwright MCP. Run `npx @layoutdesign/context install` to auto-configure, or see https://layout.design/docs/cli for manual setup.";
175
282
  const status = pushStatuses.map((s) => `- ${s}`).join("\n");
176
283
  const instructions = buildCaptureInstructions(resolvedFileKey, outputMode);
177
284
  let captureSection;
@@ -1 +1 @@
1
- {"version":3,"file":"push-to-figma.js","sourceRoot":"","sources":["../../../../src/mcp/tools/push-to-figma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-to-figma.js","sourceRoot":"","sources":["../../../../src/mcp/tools/push-to-figma.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ import type { Kit } from "../../kit/types.js";
3
+ export declare const name = "push-tokens-to-figma";
4
+ export declare const description: string;
5
+ export declare const inputSchema: {
6
+ fileKey: z.ZodOptional<z.ZodString>;
7
+ };
8
+ export declare function handler(kit: Kit | null): ({ fileKey }: {
9
+ fileKey?: string;
10
+ }) => Promise<{
11
+ content: {
12
+ type: "text";
13
+ text: string;
14
+ }[];
15
+ }>;
16
+ //# sourceMappingURL=push-tokens-to-figma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-tokens-to-figma.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/push-tokens-to-figma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,eAAO,MAAM,IAAI,yBAAyB,CAAC;AAE3C,eAAO,MAAM,WAAW,QAG0B,CAAC;AAEnD,eAAO,MAAM,WAAW;;CAOvB,CAAC;AAEF,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,IACvB,aAAa;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;GA4GhD"}