@layoutdesign/context 0.1.15 → 0.2.1

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 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 DESIGN.md, or a filtered section (colours, typography, spacing, components). Use this before writing any UI. |
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 `DESIGN.md` simultaneously. Use when tweaking colours, spacing, or other tokens without re-extracting. Keeps the entire design system consistent. |
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
 
@@ -78,7 +78,7 @@ Eleven tools are registered with the MCP server automatically.
78
78
  # Start with the Linear-inspired dark kit
79
79
  npx @layoutdesign/context init --kit linear-lite
80
80
 
81
- # Start with a blank template and write your own DESIGN.md
81
+ # Start with a blank template and write your own layout.md
82
82
  npx @layoutdesign/context init
83
83
 
84
84
  # Auto-configure MCP settings for all supported editors
@@ -281,7 +281,7 @@ When `push_to_figma` is called, it returns a structured prompt ready to pass to
281
281
 
282
282
  ## Custom Design Systems
283
283
 
284
- You don't need a pre-built kit. You can write your own `DESIGN.md` and the MCP server will use it.
284
+ You don't need a pre-built kit. You can write your own `layout.md` and the MCP server will use it.
285
285
 
286
286
  **1. Create the `.layout/` directory:**
287
287
 
@@ -289,9 +289,9 @@ You don't need a pre-built kit. You can write your own `DESIGN.md` and the MCP s
289
289
  npx @layoutdesign/context init
290
290
  ```
291
291
 
292
- This creates a blank template at `.layout/DESIGN.md` for you to fill in.
292
+ This creates a blank template at `.layout/layout.md` for you to fill in.
293
293
 
294
- **2. Edit `DESIGN.md` with your design system:**
294
+ **2. Edit `layout.md` with your design system:**
295
295
 
296
296
  ```markdown
297
297
  # My Design System
@@ -320,7 +320,7 @@ Primary action button. Uses --color-primary as background.
320
320
  ```
321
321
  .layout/
322
322
  ├── kit.json # Metadata (name, version, description)
323
- ├── DESIGN.md # Human-readable design system spec
323
+ ├── layout.md # Human-readable design system spec
324
324
  ├── tokens.css # CSS custom properties
325
325
  ├── tokens.json # W3C DTCG tokens (optional)
326
326
  └── tailwind.config.js # Tailwind theme extension (optional)
@@ -341,7 +341,7 @@ The server reads whatever is in `.layout/` — no configuration needed.
341
341
  ```
342
342
  .layout/
343
343
  ├── kit.json # Kit metadata (name, version, tier, component count)
344
- ├── DESIGN.md # Full design system spec — this is what agents read
344
+ ├── layout.md # Full design system spec — this is what agents read
345
345
  ├── tokens.css # CSS custom properties for all tokens
346
346
  ├── tokens.json # W3C DTCG tokens.json (for tooling integration)
347
347
  └── tailwind.config.js # Tailwind theme config matching the token set
@@ -359,8 +359,8 @@ Use Layout to:
359
359
 
360
360
  - Extract tokens and components from an existing Figma file
361
361
  - Scrape a live website's design system (colours, typography, spacing, components)
362
- - Generate a structured `DESIGN.md` using Claude
363
- - Export a bundle containing `DESIGN.md`, `tokens.css`, `tokens.json`, and `tailwind.config.js`
362
+ - Generate a structured `layout.md` using Claude
363
+ - Export a bundle containing `layout.md`, `tokens.css`, `tokens.json`, and `tailwind.config.js`
364
364
 
365
365
  ### Importing a Layout Export
366
366
 
@@ -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,CA8HlE"}
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, DESIGN_MD_FILE, TOKENS_CSS_FILE, TOKENS_JSON_FILE, TAILWIND_CONFIG_FILE, } from "../kit/types.js";
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
- DESIGN_MD_FILE,
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's root CLAUDE.md.
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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"}
@@ -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, DESIGN_MD_FILE, KIT_MANIFEST_FILE, } from "../kit/types.js";
7
- const TEMPLATE_DESIGN_MD = `# Design System
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/${DESIGN_MD_FILE}`)} with your design system`);
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, DESIGN_MD_FILE), TEMPLATE_DESIGN_MD);
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,5 +1,5 @@
1
1
  export { loadKit, getBundledKitPath, listBundledKits } from "./kit/loader.js";
2
- export { parseDesignMd, extractQuickReference, parseComponents } from "./kit/parser.js";
2
+ export { parseLayoutMd, extractQuickReference, parseComponents } from "./kit/parser.js";
3
3
  export { getRegistry, findKitInRegistry } from "./kit/registry.js";
4
4
  export type { Kit, KitManifest, KitSection, KitComponent, RegistryEntry } from "./kit/types.js";
5
5
  export { checkCompliance } from "./compliance/checker.js";
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { loadKit, getBundledKitPath, listBundledKits } from "./kit/loader.js";
2
- export { parseDesignMd, extractQuickReference, parseComponents } from "./kit/parser.js";
2
+ export { parseLayoutMd, extractQuickReference, parseComponents } from "./kit/parser.js";
3
3
  export { getRegistry, findKitInRegistry } from "./kit/registry.js";
4
4
  export { checkCompliance } from "./compliance/checker.js";
5
5
  export { defaultRules } from "./compliance/rules.js";
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAA6B,MAAM,YAAY,CAAC;AAajE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAiErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAe1C"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAA6B,MAAM,YAAY,CAAC;AAajE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CA0ErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAe1C"}
@@ -1,8 +1,8 @@
1
- import { readFileSync, existsSync, readdirSync } from "node:fs";
1
+ import { readFileSync, existsSync, readdirSync, renameSync } from "node:fs";
2
2
  import { join, resolve, dirname } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import { LAYOUT_DIR, LEGACY_DIR, KIT_MANIFEST_FILE, DESIGN_MD_FILE, TOKENS_CSS_FILE, TOKENS_JSON_FILE, TAILWIND_CONFIG_FILE, COMPONENTS_DIR, } from "./types.js";
5
- import { parseDesignMd, parseComponents } from "./parser.js";
4
+ import { LAYOUT_DIR, LEGACY_DIR, KIT_MANIFEST_FILE, LAYOUT_MD_FILE, TOKENS_CSS_FILE, TOKENS_JSON_FILE, TAILWIND_CONFIG_FILE, COMPONENTS_DIR, } from "./types.js";
5
+ import { parseLayoutMd, parseComponents } from "./parser.js";
6
6
  /**
7
7
  * Load a kit from a .layout/ directory.
8
8
  * Falls back to .superduper/ with a deprecation warning if .layout/ is not found.
@@ -23,8 +23,16 @@ export function loadKit(basePath) {
23
23
  }
24
24
  }
25
25
  const manifestPath = join(dir, KIT_MANIFEST_FILE);
26
- const designMdPath = join(dir, DESIGN_MD_FILE);
27
- if (!existsSync(designMdPath))
26
+ let layoutMdPath = join(dir, LAYOUT_MD_FILE);
27
+ // Auto-migration: rename DESIGN.md → layout.md if the old file exists
28
+ if (!existsSync(layoutMdPath)) {
29
+ const legacyMdPath = join(dir, "DESIGN.md");
30
+ if (existsSync(legacyMdPath)) {
31
+ renameSync(legacyMdPath, layoutMdPath);
32
+ console.log(" ℹ Renamed DESIGN.md → layout.md (Layout rebrand)");
33
+ }
34
+ }
35
+ if (!existsSync(layoutMdPath))
28
36
  return null;
29
37
  const manifest = existsSync(manifestPath)
30
38
  ? JSON.parse(readFileSync(manifestPath, "utf-8"))
@@ -39,9 +47,9 @@ export function loadKit(basePath) {
39
47
  componentCount: 0,
40
48
  aesthetic: "",
41
49
  };
42
- const designMd = readFileSync(designMdPath, "utf-8");
43
- const sections = parseDesignMd(designMd);
44
- let components = parseComponents(designMd);
50
+ const layoutMd = readFileSync(layoutMdPath, "utf-8");
51
+ const sections = parseLayoutMd(layoutMd);
52
+ let components = parseComponents(layoutMd);
45
53
  // Also load individual component files if present
46
54
  const componentsDir = join(dir, COMPONENTS_DIR);
47
55
  if (existsSync(componentsDir)) {
@@ -57,7 +65,7 @@ export function loadKit(basePath) {
57
65
  const tailwindConfig = readSafe(join(dir, TAILWIND_CONFIG_FILE));
58
66
  return {
59
67
  manifest,
60
- designMd,
68
+ layoutMd,
61
69
  sections,
62
70
  components,
63
71
  tokensCss: tokensCss ?? undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/kit/loader.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import type { KitSection, KitComponent } from "./types.js";
2
2
  /**
3
- * Parse a DESIGN.md file into structured sections.
3
+ * Parse a layout.md file into structured sections.
4
4
  * Splits on ## headings and extracts section IDs.
5
5
  */
6
- export declare function parseDesignMd(content: string): KitSection[];
6
+ export declare function parseLayoutMd(content: string): KitSection[];
7
7
  /**
8
- * Extract Quick Reference section (Section 0) from DESIGN.md.
8
+ * Extract Quick Reference section (Section 0) from layout.md.
9
9
  * This is the 50-75 line summary optimised for LLM context windows.
10
10
  */
11
11
  export declare function extractQuickReference(content: string): string;
@@ -14,7 +14,7 @@ export declare function extractQuickReference(content: string): string;
14
14
  */
15
15
  export declare function extractSection(sections: KitSection[], keyword: string): KitSection | undefined;
16
16
  /**
17
- * Parse component specs from DESIGN.md or individual component files.
17
+ * Parse component specs from layout.md or individual component files.
18
18
  * Components are expected in a "## Components" section with ### per component.
19
19
  */
20
20
  export declare function parseComponents(content: string): KitComponent[];
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Parse a DESIGN.md file into structured sections.
2
+ * Parse a layout.md file into structured sections.
3
3
  * Splits on ## headings and extracts section IDs.
4
4
  */
5
- export function parseDesignMd(content) {
5
+ export function parseLayoutMd(content) {
6
6
  const sections = [];
7
7
  const lines = content.split("\n");
8
8
  let currentTitle = "";
@@ -34,7 +34,7 @@ export function parseDesignMd(content) {
34
34
  return sections;
35
35
  }
36
36
  /**
37
- * Extract Quick Reference section (Section 0) from DESIGN.md.
37
+ * Extract Quick Reference section (Section 0) from layout.md.
38
38
  * This is the 50-75 line summary optimised for LLM context windows.
39
39
  */
40
40
  export function extractQuickReference(content) {
@@ -50,7 +50,7 @@ export function extractSection(sections, keyword) {
50
50
  s.title.toLowerCase().includes(lower));
51
51
  }
52
52
  /**
53
- * Parse component specs from DESIGN.md or individual component files.
53
+ * Parse component specs from layout.md or individual component files.
54
54
  * Components are expected in a "## Components" section with ### per component.
55
55
  */
56
56
  export function parseComponents(content) {
@@ -23,7 +23,7 @@ export interface KitComponent {
23
23
  }
24
24
  export interface Kit {
25
25
  manifest: KitManifest;
26
- designMd: string;
26
+ layoutMd: string;
27
27
  sections: KitSection[];
28
28
  components: KitComponent[];
29
29
  tokensCss?: string;
@@ -41,7 +41,7 @@ export interface RegistryEntry {
41
41
  export declare const LAYOUT_DIR = ".layout";
42
42
  export declare const LEGACY_DIR = ".superduper";
43
43
  export declare const KIT_MANIFEST_FILE = "kit.json";
44
- export declare const DESIGN_MD_FILE = "DESIGN.md";
44
+ export declare const LAYOUT_MD_FILE = "layout.md";
45
45
  export declare const TOKENS_CSS_FILE = "tokens.css";
46
46
  export declare const TOKENS_JSON_FILE = "tokens.json";
47
47
  export declare const TAILWIND_CONFIG_FILE = "tailwind.config.js";
@@ -1,7 +1,7 @@
1
1
  export const LAYOUT_DIR = ".layout";
2
2
  export const LEGACY_DIR = ".superduper"; // Deprecated — remove in v1.0
3
3
  export const KIT_MANIFEST_FILE = "kit.json";
4
- export const DESIGN_MD_FILE = "DESIGN.md";
4
+ export const LAYOUT_MD_FILE = "layout.md";
5
5
  export const TOKENS_CSS_FILE = "tokens.css";
6
6
  export const TOKENS_JSON_FILE = "tokens.json";
7
7
  export const TAILWIND_CONFIG_FILE = "tailwind.config.js";
@@ -72,7 +72,7 @@ export function handler(kit) {
72
72
  })
73
73
  .join("\n")
74
74
  : "No components defined in kit.";
75
- // Build design rules from DESIGN.md
75
+ // Build design rules from layout.md
76
76
  const designRules = extractDesignRules(kit);
77
77
  // Viewport dimensions
78
78
  const viewportDimensions = {
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { extractSection } from "../../kit/parser.js";
3
3
  export const name = "get-design-system";
4
- export const description = "Returns the full DESIGN.md content for the active design system, or a specific section. " +
4
+ export const description = "Returns the full layout.md content for the active design system, or a specific section. " +
5
5
  "Use this to understand colours, typography, spacing, layout rules, and component specs before writing UI code.";
6
6
  export const inputSchema = {
7
7
  section: z
@@ -16,7 +16,7 @@ export function handler(kit) {
16
16
  content: [
17
17
  {
18
18
  type: "text",
19
- text: "No design system kit found. Run `npx @layoutdesign/context init` in your project root to set one up, or place a DESIGN.md in .layout/.",
19
+ text: "No design system kit found. Run `npx @layoutdesign/context init` in your project root to set one up, or place a layout.md in .layout/.",
20
20
  },
21
21
  ],
22
22
  };
@@ -44,7 +44,7 @@ export function handler(kit) {
44
44
  };
45
45
  }
46
46
  return {
47
- content: [{ type: "text", text: kit.designMd }],
47
+ content: [{ type: "text", text: kit.layoutMd }],
48
48
  };
49
49
  };
50
50
  }
@@ -19,7 +19,7 @@ export function handler(kit) {
19
19
  content: [
20
20
  {
21
21
  type: "text",
22
- text: "No components defined in this kit. Components are parsed from the ## Components section in DESIGN.md.",
22
+ text: "No components defined in this kit. Components are parsed from the ## Components section in layout.md.",
23
23
  },
24
24
  ],
25
25
  };
@@ -1,10 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { readFileSync, writeFileSync, existsSync } from "node:fs";
3
3
  import { join, resolve } from "node:path";
4
- import { LAYOUT_DIR, TOKENS_CSS_FILE, TOKENS_JSON_FILE, DESIGN_MD_FILE } from "../../kit/types.js";
4
+ import { LAYOUT_DIR, TOKENS_CSS_FILE, TOKENS_JSON_FILE, LAYOUT_MD_FILE } from "../../kit/types.js";
5
5
  export const name = "update-tokens";
6
6
  export const description = "Update design token values in the active kit. Changes are applied to tokens.css, tokens.json, " +
7
- "and DESIGN.md simultaneously so the design system stays consistent. Use this when the user wants " +
7
+ "and layout.md simultaneously so the design system stays consistent. Use this when the user wants " +
8
8
  "to tweak colours, spacing, typography, or other token values without re-extracting from Figma.";
9
9
  export const inputSchema = {
10
10
  updates: z
@@ -40,7 +40,7 @@ export function handler() {
40
40
  }
41
41
  let css = readFileSync(cssPath, "utf-8");
42
42
  const jsonPath = join(dir, TOKENS_JSON_FILE);
43
- const mdPath = join(dir, DESIGN_MD_FILE);
43
+ const mdPath = join(dir, LAYOUT_MD_FILE);
44
44
  let tokensJson = null;
45
45
  if (existsSync(jsonPath)) {
46
46
  try {
@@ -50,9 +50,9 @@ export function handler() {
50
50
  // Malformed JSON — skip
51
51
  }
52
52
  }
53
- let designMd = null;
53
+ let layoutMd = null;
54
54
  if (existsSync(mdPath)) {
55
- designMd = readFileSync(mdPath, "utf-8");
55
+ layoutMd = readFileSync(mdPath, "utf-8");
56
56
  }
57
57
  const results = [];
58
58
  const errors = [];
@@ -78,18 +78,18 @@ export function handler() {
78
78
  if (tokensJson) {
79
79
  jsonMatchPath = updateJsonToken(tokensJson, oldValue, newValue);
80
80
  }
81
- // Update DESIGN.md
81
+ // Update layout.md
82
82
  let mdCount = 0;
83
- if (designMd && oldValue !== newValue) {
83
+ if (layoutMd && oldValue !== newValue) {
84
84
  const escapedOld = escapeForRegex(oldValue);
85
85
  // For hex colours, ensure we don't match partial (e.g. #5E6AD2 inside #5E6AD2FF)
86
86
  const mdPattern = isHexColour(oldValue)
87
87
  ? new RegExp(escapedOld + "(?![0-9a-fA-F])", "g")
88
88
  : new RegExp(escapedOld, "g");
89
- const matches = designMd.match(mdPattern);
89
+ const matches = layoutMd.match(mdPattern);
90
90
  mdCount = matches?.length ?? 0;
91
91
  if (mdCount > 0) {
92
- designMd = designMd.replace(mdPattern, newValue);
92
+ layoutMd = layoutMd.replace(mdPattern, newValue);
93
93
  }
94
94
  }
95
95
  results.push({
@@ -107,8 +107,8 @@ export function handler() {
107
107
  if (tokensJson) {
108
108
  writeFileSync(jsonPath, JSON.stringify(tokensJson, null, 2) + "\n");
109
109
  }
110
- if (designMd) {
111
- writeFileSync(mdPath, designMd);
110
+ if (layoutMd) {
111
+ writeFileSync(mdPath, layoutMd);
112
112
  }
113
113
  }
114
114
  // Build response
@@ -125,10 +125,10 @@ export function handler() {
125
125
  lines.push(` ⚠ tokens.json (no matching $value found)`);
126
126
  }
127
127
  if (r.mdCount > 0) {
128
- lines.push(` ✓ DESIGN.md (${r.mdCount} occurrence${r.mdCount === 1 ? "" : "s"})`);
128
+ lines.push(` ✓ layout.md (${r.mdCount} occurrence${r.mdCount === 1 ? "" : "s"})`);
129
129
  }
130
- else if (designMd) {
131
- lines.push(` – DESIGN.md (old value not found in text)`);
130
+ else if (layoutMd) {
131
+ lines.push(` – layout.md (old value not found in text)`);
132
132
  }
133
133
  }
134
134
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layoutdesign/context",
3
- "version": "0.1.15",
3
+ "version": "0.2.1",
4
4
  "description": "Design system context for AI coding agents — MCP server + CLI + live preview",
5
5
  "license": "MIT",
6
6
  "type": "module",
File without changes
File without changes
File without changes