@cmo-so/mcp 0.12.22 → 0.12.24

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 (2) hide show
  1. package/dist/cmo-mcp.mjs +28 -3
  2. package/package.json +1 -1
package/dist/cmo-mcp.mjs CHANGED
@@ -24489,7 +24489,7 @@ var require_dist3 = __commonJS({
24489
24489
  // package.json
24490
24490
  var package_default = {
24491
24491
  name: "@cmo-so/cli",
24492
- version: "0.12.22",
24492
+ version: "0.12.24",
24493
24493
  description: "CMO.so on the command line: your websites, ideas, blog posts, LinkedIn queue and results, plus a local MCP server for Claude Desktop, Cursor and other MCP clients.",
24494
24494
  type: "module",
24495
24495
  license: "MIT",
@@ -41018,6 +41018,9 @@ Notes for coding agents (Claude Code, Cursor, ChatGPT\u2026) that change this we
41018
41018
  - Only through the CMO.so MCP (wp_* tools): preview first, the owner says yes, then save. Never ask for passwords.
41019
41019
  - Smallest change that does the job: edit a section before rebuilding it; CSS or blocks before JavaScript.
41020
41020
  - After a visual change, check the page at phone and desktop width.
41021
+ - After a clone or redesign: scroll the whole page in a browser on desktop and at 390 px, section by section; fix
41022
+ anything cut off (fixed heights), overflowing or covered by sticky bars; click every interactive part once; then
41023
+ add motion between and within sections that keeps the design and respects reduced motion; check both widths again.
41021
41024
  - New preference or "don't" from the owner \u2192 add it to MEMORY.md (wp_site_memory_add).
41022
41025
 
41023
41026
  ## Don't touch without asking
@@ -44522,7 +44525,7 @@ var childTools = [
44522
44525
  }),
44523
44526
  tool({
44524
44527
  name: "wp_child_theme_update",
44525
- description: "Change a Maggie child theme's files (default: the active child): brand colours (by name, hex) and fonts (by name, CSS font-family of fonts already in it) in theme.json, extra theme.json styles, plain CSS (replace or append), the site's own JavaScript (assets/js/site.js, replace or append; runs for every visitor), the header or footer (block markup), templates, and the site's own patterns (shown in the editor's inserter). No PHP or server code. Each change keeps a backup (wp_child_theme_restore). Changes made with wp_style_set / wp_header_set are stored in the database and win over the child's files.",
44528
+ description: "Change a Maggie child theme's files (default: the active child): brand colours (by name, hex) and fonts (by name, CSS font-family of fonts already in it) in theme.json, extra theme.json styles, plain CSS (replace or append), the site's own JavaScript (assets/js/site.js, replace or append; runs for every visitor), the child's own Tailwind CSS (tailwind/child.css: extra @theme tokens, @utility rules; Maggie Press and the native build import it after Maggie Core's bridge; needs Maggie Core 0.20+), the header or footer (block markup), templates, and the site's own patterns (shown in the editor's inserter). No PHP or server code. Each change keeps a backup (wp_child_theme_restore). Changes made with wp_style_set / wp_header_set are stored in the database and win over the child's files.",
44526
44529
  parameters: {
44527
44530
  type: "object",
44528
44531
  properties: {
@@ -44543,6 +44546,10 @@ var childTools = [
44543
44546
  styles: obj('theme.json styles to merge in (e.g. { "elements": { "button": { \u2026 } } }).'),
44544
44547
  css: str2("Replace the child's CSS (plain CSS)."),
44545
44548
  css_append: str2("Add CSS at the end."),
44549
+ tailwind: str2(
44550
+ "Replace the child's own Tailwind CSS (tailwind/child.css): @theme tokens, @utility and @layer rules that travel with the child theme. Tailwind CSS v4 syntax; no @plugin, @config or remote @import. Needs Maggie Core 0.20+."
44551
+ ),
44552
+ tailwind_append: str2("Add Tailwind CSS at the end of the child's tailwind/child.css."),
44546
44553
  js: str2(
44547
44554
  `Replace the site's own script (assets/js/site.js, plain JavaScript loaded deferred on every page; "" turns it off). Needs Maggie Core 0.12+ and a login allowed to add scripts. No eval or new Function; addresses only on the site or cdn.jsdelivr.net, unpkg.com, cdnjs.cloudflare.com.`
44548
44555
  ),
@@ -44655,7 +44662,7 @@ var childTools = [
44655
44662
  tj.styles = deepMerge(tj.styles ?? {}, a3.styles);
44656
44663
  files["theme.json"] = JSON.stringify(tj, null, " ");
44657
44664
  }
44658
- const touchesCredit = [a3.css, a3.css_append, a3.js, a3.js_append].some(
44665
+ const touchesCredit = [a3.css, a3.css_append, a3.js, a3.js_append, a3.tailwind, a3.tailwind_append].some(
44659
44666
  (t) => typeof t === "string" && /maggie-credit/i.test(t)
44660
44667
  );
44661
44668
  const creditOk = touchesCredit && await creditStyleAllowed(ctx);
@@ -44665,6 +44672,24 @@ var childTools = [
44665
44672
  if (typeof a3.css_append === "string")
44666
44673
  files["style.css"] = `${(files["style.css"] ?? cur["style.css"] ?? "").replace(/\n*$/, "\n")}${a3.css_append}
44667
44674
  `;
44675
+ if (typeof a3.tailwind === "string" || typeof a3.tailwind_append === "string") {
44676
+ const parentV = String(info.parent?.version ?? "0");
44677
+ const [maj, min] = parentV.split(".").map(Number);
44678
+ if ((maj ?? 0) === 0 && (min ?? 0) < 20)
44679
+ throw new Error(
44680
+ `The child's Tailwind CSS needs Maggie Core 0.20 or later (the site has ${parentV}): update it with wp_theme_update first.`
44681
+ );
44682
+ const tw = typeof a3.tailwind === "string" ? a3.tailwind : `${(cur["tailwind/child.css"] ?? "").replace(/\n*$/, "\n")}${String(a3.tailwind_append)}
44683
+ `.trimStart();
44684
+ if (/<\/?(script|style)\b|<\?(php|=)?/i.test(tw)) throw new Error("tailwind: CSS only (no markup or PHP).");
44685
+ if (/@(plugin|config)\b/.test(tw))
44686
+ throw new Error("tailwind: @plugin and @config load JavaScript modules; write tokens and utilities in CSS.");
44687
+ refuseCreditOverride("tailwind", tw, creditOk);
44688
+ files["tailwind/child.css"] = tw;
44689
+ notes.push(
44690
+ "tailwind/child.css is imported after Maggie Core's bridge (maggie-core.css); Maggie Press shows it read-only as child-theme.css."
44691
+ );
44692
+ }
44668
44693
  if (typeof a3.js === "string" || typeof a3.js_append === "string") {
44669
44694
  const parentV = String(info.parent?.version ?? "0");
44670
44695
  const [maj, min] = parentV.split(".").map(Number);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmo-so/mcp",
3
- "version": "0.12.22",
3
+ "version": "0.12.24",
4
4
  "description": "CMO.so's MCP server for Claude Desktop, Cursor, VS Code and other MCP clients: manage your websites, blog posts, LinkedIn queue and results with Maggie.",
5
5
  "type": "module",
6
6
  "license": "MIT",