@layoutdesign/context 0.2.0 → 0.2.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 +25 -11
- package/dist/bin/cli.js +17 -32
- package/dist/bin/cli.js.map +1 -1
- package/dist/src/cli/doctor.d.ts +4 -1
- package/dist/src/cli/doctor.d.ts.map +1 -1
- package/dist/src/cli/doctor.js +37 -6
- package/dist/src/cli/doctor.js.map +1 -1
- package/dist/src/cli/import-zip.d.ts.map +1 -1
- package/dist/src/cli/import-zip.js +11 -3
- package/dist/src/cli/import-zip.js.map +1 -1
- package/dist/src/cli/init.js +4 -4
- package/dist/src/cli/install.d.ts +1 -0
- package/dist/src/cli/install.d.ts.map +1 -1
- package/dist/src/cli/install.js +84 -19
- package/dist/src/cli/install.js.map +1 -1
- package/dist/src/cli/serve-local.d.ts +5 -0
- package/dist/src/cli/serve-local.d.ts.map +1 -0
- package/dist/src/cli/serve-local.js +109 -0
- package/dist/src/cli/serve-local.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/kit/loader.d.ts.map +1 -1
- package/dist/src/kit/loader.js +17 -9
- package/dist/src/kit/loader.js.map +1 -1
- package/dist/src/kit/parser.d.ts +4 -4
- package/dist/src/kit/parser.js +4 -4
- package/dist/src/kit/types.d.ts +2 -2
- package/dist/src/kit/types.js +1 -1
- package/dist/src/mcp/tools/design-in-figma.js +1 -1
- package/dist/src/mcp/tools/get-design-system.js +3 -3
- package/dist/src/mcp/tools/list-components.js +1 -1
- package/dist/src/mcp/tools/push-to-figma.d.ts +9 -1
- package/dist/src/mcp/tools/push-to-figma.d.ts.map +1 -1
- package/dist/src/mcp/tools/push-to-figma.js +144 -105
- package/dist/src/mcp/tools/push-to-figma.js.map +1 -1
- package/dist/src/mcp/tools/update-tokens.js +14 -14
- package/dist/src/preview/server.d.ts.map +1 -1
- package/dist/src/preview/server.js +11 -5
- package/dist/src/preview/server.js.map +1 -1
- package/dist/src/preview/ws.d.ts +4 -0
- package/dist/src/preview/ws.d.ts.map +1 -1
- package/dist/src/preview/ws.js +9 -1
- package/dist/src/preview/ws.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/cli/config.d.ts +0 -19
- package/dist/src/cli/config.d.ts.map +0 -1
- package/dist/src/cli/config.js +0 -100
- package/dist/src/cli/config.js.map +0 -1
- package/dist/src/cli/login.d.ts +0 -4
- package/dist/src/cli/login.d.ts.map +0 -1
- package/dist/src/cli/login.js +0 -58
- package/dist/src/cli/login.js.map +0 -1
- package/dist/src/cli/pull.d.ts +0 -8
- package/dist/src/cli/pull.d.ts.map +0 -1
- package/dist/src/cli/pull.js +0 -108
- package/dist/src/cli/pull.js.map +0 -1
- /package/kits/linear-lite/{DESIGN.md → layout.md} +0 -0
- /package/kits/notion-lite/{DESIGN.md → layout.md} +0 -0
- /package/kits/stripe-lite/{DESIGN.md → layout.md} +0 -0
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ Eleven tools are registered with the MCP server automatically.
|
|
|
42
42
|
|
|
43
43
|
| Tool | Description |
|
|
44
44
|
|------|-------------|
|
|
45
|
-
| `get_design_system` | Returns the full
|
|
45
|
+
| `get_design_system` | Returns the full layout.md, or a filtered section (colours, typography, spacing, components). Use this before writing any UI. |
|
|
46
46
|
| `get_tokens` | Returns design tokens in CSS custom properties, W3C DTCG JSON, or Tailwind config format. |
|
|
47
47
|
| `get_component` | Returns the spec and code example for a named component. |
|
|
48
48
|
| `list_components` | Lists all components defined in the active kit. |
|
|
@@ -51,7 +51,7 @@ Eleven tools are registered with the MCP server automatically.
|
|
|
51
51
|
| `push_to_figma` | Bridges to the Figma MCP server to create an editable Figma frame from component code. Requires Figma MCP to be configured separately. |
|
|
52
52
|
| `design_in_figma` | Takes a natural language prompt (e.g. "A pricing card with 3 tiers") and returns design tokens, component specs, and step-by-step instructions for calling Figma MCP's `generate_figma_design`. Enables AI agents to design in Figma before writing code. Inputs: `prompt` (required), `fileKey` (optional), `viewports` (optional: desktop/tablet/mobile). |
|
|
53
53
|
| `url_to_figma` | Captures a live website URL as editable Figma frames with auto-layout. Inputs: `url`, `viewports`, `outputMode` (newFile/existingFile/clipboard), `fileKey`. Requires both Figma MCP and Playwright MCP servers. |
|
|
54
|
-
| `update_tokens` | Updates token values in `tokens.css`, `tokens.json`, and `
|
|
54
|
+
| `update_tokens` | Updates token values in `tokens.css`, `tokens.json`, and `layout.md` simultaneously. Use when tweaking colours, spacing, or other tokens without re-extracting. Keeps the entire design system consistent. |
|
|
55
55
|
|
|
56
56
|
---
|
|
57
57
|
|
|
@@ -65,7 +65,9 @@ Eleven tools are registered with the MCP server automatically.
|
|
|
65
65
|
| `install` | Auto-configure MCP settings for Claude Code, Cursor, and Windsurf in one step. |
|
|
66
66
|
| `install --target <tool>` | Target a specific tool: `claude`, `cursor`, or `windsurf`. |
|
|
67
67
|
| `install --global` | Install globally so the MCP server is available in all projects (Claude Code only). |
|
|
68
|
-
| `doctor` | Check Node.js version, Claude CLI, and MCP dependencies (Figma, Playwright). |
|
|
68
|
+
| `doctor` | Check Node.js version, Claude CLI, and MCP dependencies (Figma, Playwright). Use `--fix` to auto-install any missing tools. |
|
|
69
|
+
| `doctor --fix` | Auto-install missing dependencies (Figma MCP, Playwright MCP). |
|
|
70
|
+
| `serve-local <path>` | Serve a local directory over HTTP for use with the `url-to-figma` MCP tool. Requires Python 3. |
|
|
69
71
|
| `list` | List all available kits (free and pro). |
|
|
70
72
|
| `use <kit>` | Switch the active kit in an existing `.layout/` directory. |
|
|
71
73
|
| `import <path>` | Import a design system bundle exported from Layout (`.zip`). |
|
|
@@ -76,7 +78,7 @@ Eleven tools are registered with the MCP server automatically.
|
|
|
76
78
|
# Start with the Linear-inspired dark kit
|
|
77
79
|
npx @layoutdesign/context init --kit linear-lite
|
|
78
80
|
|
|
79
|
-
# Start with a blank template and write your own
|
|
81
|
+
# Start with a blank template and write your own layout.md
|
|
80
82
|
npx @layoutdesign/context init
|
|
81
83
|
|
|
82
84
|
# Auto-configure MCP settings for all supported editors
|
|
@@ -96,6 +98,16 @@ npx @layoutdesign/context list
|
|
|
96
98
|
|
|
97
99
|
# Import a bundle from Layout
|
|
98
100
|
npx @layoutdesign/context import ./my-design-export.zip
|
|
101
|
+
|
|
102
|
+
# Check setup and detect issues
|
|
103
|
+
npx @layoutdesign/context doctor
|
|
104
|
+
|
|
105
|
+
# Auto-install missing dependencies
|
|
106
|
+
npx @layoutdesign/context doctor --fix
|
|
107
|
+
|
|
108
|
+
# Serve a local directory for url-to-figma (requires Python 3)
|
|
109
|
+
npx @layoutdesign/context serve-local ./path/to/files
|
|
110
|
+
npx @layoutdesign/context serve-local ./path/to/files --port 8080
|
|
99
111
|
```
|
|
100
112
|
|
|
101
113
|
---
|
|
@@ -269,7 +281,7 @@ When `push_to_figma` is called, it returns a structured prompt ready to pass to
|
|
|
269
281
|
|
|
270
282
|
## Custom Design Systems
|
|
271
283
|
|
|
272
|
-
You don't need a pre-built kit. You can write your own `
|
|
284
|
+
You don't need a pre-built kit. You can write your own `layout.md` and the MCP server will use it.
|
|
273
285
|
|
|
274
286
|
**1. Create the `.layout/` directory:**
|
|
275
287
|
|
|
@@ -277,9 +289,9 @@ You don't need a pre-built kit. You can write your own `DESIGN.md` and the MCP s
|
|
|
277
289
|
npx @layoutdesign/context init
|
|
278
290
|
```
|
|
279
291
|
|
|
280
|
-
This creates a blank template at `.layout/
|
|
292
|
+
This creates a blank template at `.layout/layout.md` for you to fill in.
|
|
281
293
|
|
|
282
|
-
**2. Edit `
|
|
294
|
+
**2. Edit `layout.md` with your design system:**
|
|
283
295
|
|
|
284
296
|
```markdown
|
|
285
297
|
# My Design System
|
|
@@ -308,7 +320,7 @@ Primary action button. Uses --color-primary as background.
|
|
|
308
320
|
```
|
|
309
321
|
.layout/
|
|
310
322
|
├── kit.json # Metadata (name, version, description)
|
|
311
|
-
├──
|
|
323
|
+
├── layout.md # Human-readable design system spec
|
|
312
324
|
├── tokens.css # CSS custom properties
|
|
313
325
|
├── tokens.json # W3C DTCG tokens (optional)
|
|
314
326
|
└── tailwind.config.js # Tailwind theme extension (optional)
|
|
@@ -329,7 +341,7 @@ The server reads whatever is in `.layout/` — no configuration needed.
|
|
|
329
341
|
```
|
|
330
342
|
.layout/
|
|
331
343
|
├── kit.json # Kit metadata (name, version, tier, component count)
|
|
332
|
-
├──
|
|
344
|
+
├── layout.md # Full design system spec — this is what agents read
|
|
333
345
|
├── tokens.css # CSS custom properties for all tokens
|
|
334
346
|
├── tokens.json # W3C DTCG tokens.json (for tooling integration)
|
|
335
347
|
└── tailwind.config.js # Tailwind theme config matching the token set
|
|
@@ -347,8 +359,8 @@ Use Layout to:
|
|
|
347
359
|
|
|
348
360
|
- Extract tokens and components from an existing Figma file
|
|
349
361
|
- Scrape a live website's design system (colours, typography, spacing, components)
|
|
350
|
-
- Generate a structured `
|
|
351
|
-
- Export a bundle containing `
|
|
362
|
+
- Generate a structured `layout.md` using Claude
|
|
363
|
+
- Export a bundle containing `layout.md`, `tokens.css`, `tokens.json`, and `tailwind.config.js`
|
|
352
364
|
|
|
353
365
|
### Importing a Layout Export
|
|
354
366
|
|
|
@@ -358,6 +370,8 @@ npx @layoutdesign/context import ./my-design-export.zip
|
|
|
358
370
|
|
|
359
371
|
This extracts the bundle into `.layout/` and automatically merges design system rules into your project's root `CLAUDE.md` (using HTML comment markers for idempotent updates). Re-importing replaces the previous section cleanly.
|
|
360
372
|
|
|
373
|
+
Note: Bundles exported from Layout Studio are typically under 5 MB. Very large ZIPs may take a moment to extract.
|
|
374
|
+
|
|
361
375
|
After importing, run `npx @layoutdesign/context install` to connect the MCP server.
|
|
362
376
|
|
|
363
377
|
---
|
package/dist/bin/cli.js
CHANGED
|
@@ -8,8 +8,7 @@ import { useCommand } from "../src/cli/use.js";
|
|
|
8
8
|
import { listCommand } from "../src/cli/list.js";
|
|
9
9
|
import { installCommand } from "../src/cli/install.js";
|
|
10
10
|
import { doctorCommand } from "../src/cli/doctor.js";
|
|
11
|
-
import {
|
|
12
|
-
import { pullCommand } from "../src/cli/pull.js";
|
|
11
|
+
import { serveLocalCommand } from "../src/cli/serve-local.js";
|
|
13
12
|
const require = createRequire(import.meta.url);
|
|
14
13
|
const pkg = require("../../package.json");
|
|
15
14
|
const program = new Command();
|
|
@@ -50,44 +49,30 @@ program
|
|
|
50
49
|
});
|
|
51
50
|
program
|
|
52
51
|
.command("install")
|
|
53
|
-
.description("Auto-configure
|
|
52
|
+
.description("Auto-configure MCP servers (Layout + Figma + Playwright) for Claude Code, Cursor, or Windsurf")
|
|
54
53
|
.option("--target <tool>", "Specific tool: claude, cursor, or windsurf")
|
|
55
54
|
.option("--global", "Install globally (available in all projects, Claude Code only)")
|
|
55
|
+
.option("--skip-figma", "Skip Figma and Playwright MCP setup")
|
|
56
56
|
.action(async (options) => {
|
|
57
57
|
await installCommand(options);
|
|
58
58
|
});
|
|
59
59
|
program
|
|
60
|
-
.command("
|
|
61
|
-
.description("
|
|
62
|
-
.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
await loginCommand(apiKey);
|
|
70
|
-
});
|
|
71
|
-
program
|
|
72
|
-
.command("logout")
|
|
73
|
-
.description("Remove stored API key")
|
|
74
|
-
.action(() => {
|
|
75
|
-
logoutCommand();
|
|
76
|
-
});
|
|
77
|
-
program
|
|
78
|
-
.command("whoami")
|
|
79
|
-
.description("Show current authentication status")
|
|
80
|
-
.action(() => {
|
|
81
|
-
whoamiCommand();
|
|
60
|
+
.command("serve-local <path>")
|
|
61
|
+
.description("Serve a local file or directory over HTTP for use with url-to-figma (file:// URLs are not supported by Figma)")
|
|
62
|
+
.option("--port <n>", "Port to use (default: auto-detect from 8765)")
|
|
63
|
+
.option("--quiet", "Print only the URL (useful for scripting)")
|
|
64
|
+
.action(async (targetPath, options) => {
|
|
65
|
+
await serveLocalCommand(targetPath, {
|
|
66
|
+
port: options.port ? parseInt(options.port, 10) : undefined,
|
|
67
|
+
quiet: options.quiet,
|
|
68
|
+
});
|
|
82
69
|
});
|
|
83
70
|
program
|
|
84
|
-
.command("
|
|
85
|
-
.description("
|
|
86
|
-
.option("
|
|
87
|
-
.
|
|
88
|
-
|
|
89
|
-
.action(async (projectIdArg, options) => {
|
|
90
|
-
await pullCommand(projectIdArg, options);
|
|
71
|
+
.command("doctor")
|
|
72
|
+
.description("Check Node.js version, Claude CLI, and MCP dependencies")
|
|
73
|
+
.option("--fix", "Auto-install missing MCP servers")
|
|
74
|
+
.action(async (options) => {
|
|
75
|
+
await doctorCommand(options);
|
|
91
76
|
});
|
|
92
77
|
program.parse();
|
|
93
78
|
//# sourceMappingURL=cli.js.map
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/doctor.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `layout-context doctor` — checks Node.js, Claude CLI, and MCP dependencies.
|
|
3
|
+
* With --fix, automatically installs missing MCP servers.
|
|
3
4
|
*/
|
|
4
|
-
export declare function doctorCommand(
|
|
5
|
+
export declare function doctorCommand(options?: {
|
|
6
|
+
fix?: boolean;
|
|
7
|
+
}): Promise<void>;
|
|
5
8
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/doctor.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE9E"}
|
package/dist/src/cli/doctor.js
CHANGED
|
@@ -2,10 +2,15 @@ import { execFileSync } from "node:child_process";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
/**
|
|
4
4
|
* `layout-context doctor` — checks Node.js, Claude CLI, and MCP dependencies.
|
|
5
|
+
* With --fix, automatically installs missing MCP servers.
|
|
5
6
|
*/
|
|
6
|
-
export async function doctorCommand() {
|
|
7
|
+
export async function doctorCommand(options) {
|
|
8
|
+
const autoFix = options?.fix ?? false;
|
|
7
9
|
console.log();
|
|
8
10
|
console.log(chalk.bold("Layout Context — Dependency Check"));
|
|
11
|
+
if (autoFix) {
|
|
12
|
+
console.log(chalk.dim(" Mode: auto-fix enabled"));
|
|
13
|
+
}
|
|
9
14
|
console.log();
|
|
10
15
|
const results = [
|
|
11
16
|
checkNodeVersion(),
|
|
@@ -13,6 +18,7 @@ export async function doctorCommand() {
|
|
|
13
18
|
...checkMcpServers(),
|
|
14
19
|
];
|
|
15
20
|
let issues = 0;
|
|
21
|
+
let fixed = 0;
|
|
16
22
|
for (const r of results) {
|
|
17
23
|
if (r.ok) {
|
|
18
24
|
console.log(chalk.green(" ✅ ") + r.label + chalk.dim(` — ${r.detail}`));
|
|
@@ -21,7 +27,24 @@ export async function doctorCommand() {
|
|
|
21
27
|
issues++;
|
|
22
28
|
console.log(chalk.yellow(" ⚠️ ") + r.label);
|
|
23
29
|
console.log(chalk.dim(` ${r.detail}`));
|
|
24
|
-
if
|
|
30
|
+
// Attempt auto-fix if --fix and we have a fixCmd
|
|
31
|
+
if (autoFix && r.fixCmd) {
|
|
32
|
+
try {
|
|
33
|
+
execFileSync(r.fixCmd[0], r.fixCmd.slice(1), {
|
|
34
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
35
|
+
});
|
|
36
|
+
console.log(chalk.green(` ✓ Fixed!`));
|
|
37
|
+
fixed++;
|
|
38
|
+
issues--;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
console.log(chalk.red(` ✗ Auto-fix failed`));
|
|
42
|
+
if (r.fix) {
|
|
43
|
+
console.log(chalk.cyan(` Run manually: ${r.fix}`));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (r.fix) {
|
|
25
48
|
console.log(chalk.cyan(` Fix: ${r.fix}`));
|
|
26
49
|
}
|
|
27
50
|
if (r.requiredBy) {
|
|
@@ -30,11 +53,17 @@ export async function doctorCommand() {
|
|
|
30
53
|
}
|
|
31
54
|
}
|
|
32
55
|
console.log();
|
|
33
|
-
if (issues === 0) {
|
|
56
|
+
if (issues === 0 && fixed === 0) {
|
|
34
57
|
console.log(chalk.green("All checks passed. Full functionality available."));
|
|
35
58
|
}
|
|
59
|
+
else if (issues === 0 && fixed > 0) {
|
|
60
|
+
console.log(chalk.green(`All issues fixed (${fixed} auto-fixed). Restart your AI coding tool to activate.`));
|
|
61
|
+
}
|
|
62
|
+
else if (autoFix) {
|
|
63
|
+
console.log(chalk.yellow(`${issues} issue${issues > 1 ? "s" : ""} remaining (${fixed} auto-fixed). Fix warnings above manually.`));
|
|
64
|
+
}
|
|
36
65
|
else {
|
|
37
|
-
console.log(chalk.yellow(`${issues} issue${issues > 1 ? "s" : ""} found.
|
|
66
|
+
console.log(chalk.yellow(`${issues} issue${issues > 1 ? "s" : ""} found. Run with ${chalk.cyan("--fix")} to auto-install missing MCP servers.`));
|
|
38
67
|
}
|
|
39
68
|
console.log();
|
|
40
69
|
}
|
|
@@ -105,7 +134,8 @@ function checkMcpServers() {
|
|
|
105
134
|
label: "Figma MCP",
|
|
106
135
|
ok: false,
|
|
107
136
|
detail: "not found in MCP server list",
|
|
108
|
-
fix: "claude mcp add --transport http figma https://mcp.figma.com/mcp",
|
|
137
|
+
fix: "claude mcp add --scope user --transport http figma https://mcp.figma.com/mcp",
|
|
138
|
+
fixCmd: ["claude", "mcp", "add", "--scope", "user", "--transport", "http", "figma", "https://mcp.figma.com/mcp"],
|
|
109
139
|
requiredBy: "push-to-figma, design-in-figma, url-to-figma",
|
|
110
140
|
});
|
|
111
141
|
// Check for Playwright MCP
|
|
@@ -120,7 +150,8 @@ function checkMcpServers() {
|
|
|
120
150
|
label: "Playwright MCP",
|
|
121
151
|
ok: false,
|
|
122
152
|
detail: "not found in MCP server list",
|
|
123
|
-
fix: "npx @anthropic-ai/mcp-playwright
|
|
153
|
+
fix: "claude mcp add --scope user playwright -- npx -y @anthropic-ai/mcp-playwright",
|
|
154
|
+
fixCmd: ["claude", "mcp", "add", "--scope", "user", "playwright", "--", "npx", "-y", "@anthropic-ai/mcp-playwright"],
|
|
124
155
|
requiredBy: "push-to-figma, url-to-figma",
|
|
125
156
|
});
|
|
126
157
|
// Check for Layout MCP itself
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-zip.d.ts","sourceRoot":"","sources":["../../../src/cli/import-zip.ts"],"names":[],"mappings":"AA6BA,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"import-zip.d.ts","sourceRoot":"","sources":["../../../src/cli/import-zip.ts"],"names":[],"mappings":"AA6BA,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuIlE"}
|
|
@@ -3,11 +3,11 @@ import path from "node:path";
|
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import { execFileSync } from "node:child_process";
|
|
5
5
|
import chalk from "chalk";
|
|
6
|
-
import { LAYOUT_DIR, KIT_MANIFEST_FILE,
|
|
6
|
+
import { LAYOUT_DIR, KIT_MANIFEST_FILE, LAYOUT_MD_FILE, TOKENS_CSS_FILE, TOKENS_JSON_FILE, TAILWIND_CONFIG_FILE, } from "../kit/types.js";
|
|
7
7
|
/** Files we look for in the extracted ZIP and copy to .layout/ */
|
|
8
8
|
const KNOWN_FILES = [
|
|
9
9
|
KIT_MANIFEST_FILE,
|
|
10
|
-
|
|
10
|
+
LAYOUT_MD_FILE,
|
|
11
11
|
TOKENS_CSS_FILE,
|
|
12
12
|
TOKENS_JSON_FILE,
|
|
13
13
|
TAILWIND_CONFIG_FILE,
|
|
@@ -71,6 +71,14 @@ export async function importCommand(zipPath) {
|
|
|
71
71
|
imported.push(fileName);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
// Backward compatibility: accept DESIGN.md from old bundles, write as layout.md
|
|
75
|
+
if (!imported.includes(LAYOUT_MD_FILE)) {
|
|
76
|
+
const legacySrc = path.join(extractedRoot, "DESIGN.md");
|
|
77
|
+
if (fs.existsSync(legacySrc)) {
|
|
78
|
+
fs.copyFileSync(legacySrc, path.join(targetDir, LAYOUT_MD_FILE));
|
|
79
|
+
imported.push(LAYOUT_MD_FILE);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
74
82
|
// Copy components directory if it exists
|
|
75
83
|
const componentsSrc = path.join(extractedRoot, "components");
|
|
76
84
|
if (fs.existsSync(componentsSrc) && fs.statSync(componentsSrc).isDirectory()) {
|
|
@@ -106,7 +114,7 @@ export async function importCommand(zipPath) {
|
|
|
106
114
|
console.log(`Run ${chalk.cyan("npx @layoutdesign/context install")} to connect the MCP server.`);
|
|
107
115
|
}
|
|
108
116
|
/**
|
|
109
|
-
* Merge the .layout/CLAUDE.md content into the project
|
|
117
|
+
* Merge the .layout/CLAUDE.md content into the project root CLAUDE.md.
|
|
110
118
|
* Uses HTML comment markers so re-imports replace the previous section.
|
|
111
119
|
* Returns a description string for the import log, or null if nothing was merged.
|
|
112
120
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-zip.js","sourceRoot":"","sources":["../../../src/cli/import-zip.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import-zip.js","sourceRoot":"","sources":["../../../src/cli/import-zip.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/init.js
CHANGED
|
@@ -3,8 +3,8 @@ import path from "node:path";
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { getBundledKitPath } from "../kit/loader.js";
|
|
5
5
|
import { findKitInRegistry } from "../kit/registry.js";
|
|
6
|
-
import { LAYOUT_DIR,
|
|
7
|
-
const
|
|
6
|
+
import { LAYOUT_DIR, LAYOUT_MD_FILE, KIT_MANIFEST_FILE, } from "../kit/types.js";
|
|
7
|
+
const TEMPLATE_LAYOUT_MD = `# Design System
|
|
8
8
|
|
|
9
9
|
> Generated by Layout Context CLI.
|
|
10
10
|
> Edit this file to describe your design system, then run your AI coding agent.
|
|
@@ -50,7 +50,7 @@ export async function initCommand(options) {
|
|
|
50
50
|
console.log();
|
|
51
51
|
console.log(chalk.bold("Next steps:"));
|
|
52
52
|
console.log();
|
|
53
|
-
console.log(` ${chalk.dim("1.")} Edit ${chalk.cyan(`.layout/${
|
|
53
|
+
console.log(` ${chalk.dim("1.")} Edit ${chalk.cyan(`.layout/${LAYOUT_MD_FILE}`)} with your design system`);
|
|
54
54
|
console.log(` ${chalk.dim("2.")} Add the MCP server to your AI coding agent:`);
|
|
55
55
|
console.log();
|
|
56
56
|
console.log(chalk.dim(" Claude Code (claude_desktop_config.json):"));
|
|
@@ -98,7 +98,7 @@ async function initBlank(targetDir) {
|
|
|
98
98
|
aesthetic: "",
|
|
99
99
|
};
|
|
100
100
|
fs.writeFileSync(path.join(targetDir, KIT_MANIFEST_FILE), JSON.stringify(manifest, null, 2) + "\n");
|
|
101
|
-
fs.writeFileSync(path.join(targetDir,
|
|
101
|
+
fs.writeFileSync(path.join(targetDir, LAYOUT_MD_FILE), TEMPLATE_LAYOUT_MD);
|
|
102
102
|
console.log(chalk.green("✓"), "Initialised .layout/ with a blank design system template.");
|
|
103
103
|
}
|
|
104
104
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"AAkOA,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFhB"}
|
package/dist/src/cli/install.js
CHANGED
|
@@ -118,9 +118,72 @@ function addMcpServerViaFile(target) {
|
|
|
118
118
|
console.log(chalk.green(" ✓"), `${info.label}: added to ${info.configPath}`);
|
|
119
119
|
return true;
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Add Figma MCP server via `claude mcp add --scope user`.
|
|
123
|
+
*
|
|
124
|
+
* Important: we do NOT pre-check `claude mcp list`. The plugin
|
|
125
|
+
* `figma@claude-plugins-official` causes "figma" to appear in that list,
|
|
126
|
+
* which would make us skip this step — but the plugin-provided registration
|
|
127
|
+
* uses OAuth that doesn't persist between sessions. We must always ensure a
|
|
128
|
+
* proper user-scoped entry exists. Let `claude mcp add` itself handle the
|
|
129
|
+
* "already registered" case.
|
|
130
|
+
*/
|
|
131
|
+
function addFigmaMcpServer() {
|
|
132
|
+
try {
|
|
133
|
+
execFileSync("claude", [
|
|
134
|
+
"mcp", "add", "--scope", "user", "--transport", "http",
|
|
135
|
+
"figma", "https://mcp.figma.com/mcp",
|
|
136
|
+
], { stdio: ["pipe", "pipe", "pipe"] });
|
|
137
|
+
console.log(chalk.green(" ✓"), "Figma MCP: registered globally (OAuth — authenticate once in Claude Code)");
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
const stderr = err.stderr?.toString() ?? "";
|
|
142
|
+
// Already registered at user scope — this is fine
|
|
143
|
+
if (stderr.includes("already") || stderr.includes("exists")) {
|
|
144
|
+
console.log(chalk.dim(" ↳"), "Figma MCP: already configured at user scope");
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
console.log(chalk.yellow(" ⚠"), "Figma MCP: could not register automatically");
|
|
148
|
+
console.log(chalk.dim(" Run manually:"), chalk.cyan("claude mcp add --scope user --transport http figma https://mcp.figma.com/mcp"));
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Add Playwright MCP server via `claude mcp add`.
|
|
154
|
+
* Uses --scope user so it's available across all projects.
|
|
155
|
+
*/
|
|
156
|
+
function addPlaywrightMcpServer() {
|
|
157
|
+
try {
|
|
158
|
+
const list = execFileSync("claude", ["mcp", "list"], {
|
|
159
|
+
encoding: "utf-8",
|
|
160
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
161
|
+
});
|
|
162
|
+
if (list.toLowerCase().includes("playwright")) {
|
|
163
|
+
console.log(chalk.dim(" ↳"), "Playwright MCP: already configured");
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
execFileSync("claude", [
|
|
172
|
+
"mcp", "add", "--scope", "user",
|
|
173
|
+
"playwright", "--", "npx", "-y", "@anthropic-ai/mcp-playwright",
|
|
174
|
+
], { stdio: ["pipe", "pipe", "pipe"] });
|
|
175
|
+
console.log(chalk.green(" ✓"), "Playwright MCP: registered globally");
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
console.log(chalk.yellow(" ⚠"), "Playwright MCP: could not register automatically");
|
|
180
|
+
console.log(chalk.dim(" Run manually:"), chalk.cyan("npx @anthropic-ai/mcp-playwright install"));
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
121
184
|
export async function installCommand(options) {
|
|
122
185
|
console.log();
|
|
123
|
-
console.log(chalk.bold("Layout — Installing MCP
|
|
186
|
+
console.log(chalk.bold("Layout — Installing MCP servers"));
|
|
124
187
|
if (options.global) {
|
|
125
188
|
console.log(chalk.dim(" Scope: global (available in all projects)"));
|
|
126
189
|
}
|
|
@@ -154,7 +217,9 @@ export async function installCommand(options) {
|
|
|
154
217
|
console.log(chalk.dim(` Detected: ${targets.map((t) => TARGET_INFO[t].label).join(", ")}`));
|
|
155
218
|
}
|
|
156
219
|
}
|
|
220
|
+
// --- 1. Install Layout MCP server ---
|
|
157
221
|
console.log();
|
|
222
|
+
console.log(chalk.bold(" Layout MCP"));
|
|
158
223
|
let installed = 0;
|
|
159
224
|
for (const target of targets) {
|
|
160
225
|
if (target === "claude") {
|
|
@@ -166,26 +231,26 @@ export async function installCommand(options) {
|
|
|
166
231
|
installed++;
|
|
167
232
|
}
|
|
168
233
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
234
|
+
// --- 2. Install Figma + Playwright MCP (Claude Code only, unless --skip-figma) ---
|
|
235
|
+
const hasClaude = targets.includes("claude");
|
|
236
|
+
if (hasClaude && !options.skipFigma) {
|
|
172
237
|
console.log();
|
|
173
|
-
console.log(chalk.
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
console.log(chalk.dim(" design tokens, components, and brand rules to stay on-brand."));
|
|
177
|
-
console.log();
|
|
178
|
-
console.log(chalk.bold("Optional: Enable Figma integration"));
|
|
179
|
-
console.log();
|
|
180
|
-
console.log(chalk.dim(" For push-to-Figma and URL-to-Figma features, connect these MCP servers:"));
|
|
181
|
-
console.log();
|
|
182
|
-
console.log(` ${chalk.cyan("claude mcp add --transport http figma https://mcp.figma.com/mcp")}`);
|
|
183
|
-
console.log(chalk.dim(" Push components and designs to Figma (OAuth — no API key needed)"));
|
|
184
|
-
console.log();
|
|
185
|
-
console.log(chalk.dim(" Playwright MCP is also needed for URL-to-Figma capture."));
|
|
238
|
+
console.log(chalk.bold(" Figma integration"));
|
|
239
|
+
addFigmaMcpServer();
|
|
240
|
+
addPlaywrightMcpServer();
|
|
186
241
|
}
|
|
187
|
-
|
|
188
|
-
|
|
242
|
+
// --- 3. Summary ---
|
|
243
|
+
console.log();
|
|
244
|
+
console.log(chalk.green("Done!"), "Your AI agent now has access to your design system.");
|
|
245
|
+
console.log();
|
|
246
|
+
console.log(chalk.yellow("→"), "Restart your AI coding tool to activate the MCP servers.");
|
|
247
|
+
console.log();
|
|
248
|
+
console.log(chalk.dim(" When building UI, your agent will automatically use your"));
|
|
249
|
+
console.log(chalk.dim(" design tokens, components, and brand rules to stay on-brand."));
|
|
250
|
+
if (hasClaude && options.skipFigma) {
|
|
251
|
+
console.log();
|
|
252
|
+
console.log(chalk.dim(" Figma integration skipped. To enable later:"));
|
|
253
|
+
console.log(chalk.dim(" npx @layoutdesign/context install"));
|
|
189
254
|
}
|
|
190
255
|
console.log();
|
|
191
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"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"}
|