@creator-notes/cli 0.2.20 → 0.2.22

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
@@ -4,21 +4,26 @@ CLI for [CreatorNotes](https://creatornotes.app) — create notes, build canvase
4
4
 
5
5
  Works as a standalone CLI (`cn`) and as an MCP server (`cn-mcp`) for AI assistants like Claude.
6
6
 
7
- ## Install
7
+ ## Quick Start
8
+
9
+ One command sets everything up — auth, workspace, Claude Code skill, and (optionally) a global `cn` shortcut:
8
10
 
9
11
  ```bash
10
- npm install -g @creator-notes/cli
12
+ npx @creator-notes/cli@latest init
11
13
  ```
12
14
 
13
- ## Quick Start
15
+ The wizard opens your browser to sign in (the only manual step), then offers to install the Claude Code skill and `cn` globally so future calls are instant.
16
+
17
+ After init:
14
18
 
15
19
  ```bash
16
- cn init # Interactive setup (auth + workspace)
17
20
  cn notes list # Browse your notes
18
21
  cn notes create --markdown-file ./note.md --type "Meeting"
19
22
  cn search semantic "onboarding flow"
20
23
  ```
21
24
 
25
+ > Prefer to install globally up front? `npm install -g @creator-notes/cli && cn init` works too.
26
+
22
27
  ## Commands
23
28
 
24
29
  | Command | Alias | Description |
@@ -30,8 +35,9 @@ cn search semantic "onboarding flow"
30
35
  | `cn notes bulk-retype` | | Retype multiple notes to a new type |
31
36
  | `cn versions list\|create` | `cn v` | Note version history |
32
37
  | `cn canvas list\|get\|create\|delete` | `cn c` | Manage canvases |
33
- | `cn canvas add-node\|add-text\|add-richtext\|add-list\|add-link` | | Add nodes to canvas |
34
- | `cn canvas bulk-add\|bulk-move\|bulk-remove` | | Bulk canvas operations |
38
+ | `cn canvas place` | | Declarative layout server packs items with no overlap |
39
+ | `cn canvas add-node\|add-text\|add-richtext\|add-list\|add-link` | | Add a single node at explicit `--x`/`--y` |
40
+ | `cn canvas bulk-add\|bulk-move\|bulk-remove` | | Bulk canvas operations — requires explicit coordinates |
35
41
  | `cn canvas from-template` | | Create canvas from template |
36
42
  | `cn search semantic` | `cn s` | Semantic search across notes |
37
43
  | `cn timeline` | `cn tl` | Recent activity feed |
@@ -108,8 +114,13 @@ cn notes update MEETING-42 --title "New Title"
108
114
  Values in `<angle-brackets>` are placeholders — replace them with real IDs from your workspace.
109
115
 
110
116
  ```bash
111
- # Create a canvas and add notes
117
+ # Create a canvas
112
118
  cn canvas create "Sprint Review"
119
+
120
+ # Place items with a declarative layout (preferred — no x/y math)
121
+ cn canvas place <canvasId> --spec ./layout.json
122
+
123
+ # Add nodes with explicit coordinates (escape hatch — pixel-perfect templates only)
113
124
  cn canvas bulk-add <canvasId> --notes '[{"noteId":"NOTE-1","x":100,"y":100},{"noteId":"NOTE-2","x":500,"y":100}]'
114
125
  cn canvas add-edge <canvasId> --source <nodeId> --target <nodeId> --label "blocks"
115
126
 
@@ -119,18 +130,50 @@ cn canvas from-template sprint-retrospective --populate
119
130
 
120
131
  Available templates: `sprint-retrospective`, `swot-analysis`, `kanban-board`, `feature-prioritization`, `meeting-notes`, `product-roadmap`
121
132
 
122
- ## AI Integration
133
+ ### Declarative layout (`cn canvas place`)
134
+
135
+ Most of the time you shouldn't be computing pixel coordinates by hand — agents and humans alike are bad at it. `cn canvas place` takes a layout document that describes **structure** (rows, columns, what's anchored to what) and the server measures every item, packs them with no overlaps, and inserts them in a single batch. The call is best-effort: per-item failures are reported in the response (HTTP 207) but successful items stay on the canvas.
136
+
137
+ Four building blocks:
138
+
139
+ - **`stack`** — items flow along one axis (`vertical` or `horizontal`), like CSS flexbox
140
+ - **`grid`** — N columns, items wrap to new rows, like CSS grid auto-flow
141
+ - **`anchor`** — place a sub-tree relative to an existing canvas node
142
+ - **`item`** — a leaf: `note`, `text`, `richtext`, `list`, or `canvas` (link)
123
143
 
124
- ### Claude Code (Plugin recommended)
144
+ Example a richtext header above a 3-column grid of notes:
125
145
 
126
- This package ships as a Claude Code plugin. Once installed, Claude learns the full `cn` command reference and can operate your workspace autonomously.
146
+ ```json
147
+ {
148
+ "root": {
149
+ "kind": "stack", "axis": "vertical", "gap": "medium",
150
+ "items": [
151
+ { "kind": "item", "type": "richtext",
152
+ "content": "# Goals\nQ2 commitments.", "size": "medium" },
153
+ { "kind": "grid", "columns": 3, "gap": "tight",
154
+ "items": [
155
+ { "kind": "item", "type": "note", "noteId": "GOAL-1" },
156
+ { "kind": "item", "type": "note", "noteId": "GOAL-2" },
157
+ { "kind": "item", "type": "note", "noteId": "GOAL-3" }
158
+ ] }
159
+ ]
160
+ }
161
+ }
162
+ ```
127
163
 
128
164
  ```bash
129
- # Inside Claude Code, run:
130
- /plugin install @creator-notes/cli
165
+ cn canvas place <canvasId> --spec ./goals.json --json
131
166
  ```
132
167
 
133
- That's it the `cn` skill is now available in every conversation. Claude will use it whenever you ask about notes, canvases, or workspace tasks.
168
+ `gap` accepts `"tight"`, `"medium"`, `"spacious"`, or a raw pixel number. Edges between items can be added with a top-level `"edges"` array referencing item `key` fields. See [skills/cn/SKILL.md](skills/cn/SKILL.md) for the full DSL reference and more examples.
169
+
170
+ ## AI Integration
171
+
172
+ ### Claude Code (recommended)
173
+
174
+ The simplest path: run `npx @creator-notes/cli@latest init` and accept the "Install the Claude Code skill?" prompt. The wizard copies the skill into `~/.claude/skills/cn/SKILL.md` so every Claude Code session learns the full `cn` command reference automatically.
175
+
176
+ After that, Claude will use `cn` whenever you ask about notes, canvases, or workspace tasks — no further setup.
134
177
 
135
178
  ### Claude Desktop (MCP Server)
136
179
 
@@ -178,16 +221,11 @@ The output looks like this — merge it into your existing config:
178
221
 
179
222
  ### Manual Skill Install
180
223
 
181
- If you're not using the plugin system, you can copy the skill file directly:
224
+ `cn init` installs the user-level skill (`~/.claude/skills/cn/SKILL.md`) for you. If you want to scope the skill to a single project instead:
182
225
 
183
226
  ```bash
184
- # Copy into your project
185
227
  mkdir -p .claude/skills/cn
186
228
  cp $(npm root -g)/@creator-notes/cli/skills/cn/SKILL.md .claude/skills/cn/SKILL.md
187
-
188
- # Or into your user-level skills (available everywhere)
189
- mkdir -p ~/.claude/skills/cn
190
- cp $(npm root -g)/@creator-notes/cli/skills/cn/SKILL.md ~/.claude/skills/cn/SKILL.md
191
229
  ```
192
230
 
193
231
  ## Scripting
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/commands/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAu2B7D"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/commands/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAg7B7D"}
@@ -527,6 +527,77 @@ export function registerCanvasCommands(program) {
527
527
  handleError(error, cfg.json);
528
528
  }
529
529
  });
530
+ canvas
531
+ .command("place")
532
+ .description("Place items on a canvas using a declarative layout (no x/y math). The server measures every item, packs them with no overlaps, and inserts them in one batch. Per-item failures are reported in the response (HTTP 207). Prefer this over bulk-add whenever you can express the layout as stacks/grids/anchors.")
533
+ .argument("<canvasId>", "Canvas ID")
534
+ .option("--spec <path>", "Path to a JSON file containing the layout document")
535
+ .option("--spec-stdin", "Read the layout document from stdin")
536
+ .option("--spec-inline <json>", "Pass the layout document inline as a JSON string (short specs only)")
537
+ .action(async (canvasId, opts) => {
538
+ const cfg = resolveConfig(program.opts());
539
+ const api = new ApiClient(cfg.serverUrl, cfg.token);
540
+ try {
541
+ let raw;
542
+ if (opts.spec) {
543
+ raw = readFileSafe(opts.spec);
544
+ }
545
+ else if (opts.specInline) {
546
+ raw = opts.specInline;
547
+ }
548
+ else if (opts.specStdin) {
549
+ raw = await new Promise((resolve, reject) => {
550
+ const chunks = [];
551
+ process.stdin.on("data", (c) => chunks.push(c));
552
+ process.stdin.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")));
553
+ process.stdin.on("error", reject);
554
+ });
555
+ }
556
+ else {
557
+ throw new ValidationError("One of --spec, --spec-inline, or --spec-stdin is required");
558
+ }
559
+ let doc;
560
+ try {
561
+ doc = JSON.parse(raw);
562
+ }
563
+ catch (e) {
564
+ throw new ValidationError(`Layout spec is not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
565
+ }
566
+ const data = await api.post(`/api/canvas/${encodeURIComponent(canvasId)}?workspaceId=${encodeURIComponent(cfg.workspaceId)}`, {
567
+ action: "placeLayout",
568
+ doc,
569
+ });
570
+ if (cfg.json) {
571
+ outputJson(data);
572
+ }
573
+ else {
574
+ const items = (data.items || []);
575
+ const edges = (data.edges || []);
576
+ const placed = items.filter((r) => r.id && !r.error).length;
577
+ const failed = items.filter((r) => !r.id || r.error).length;
578
+ const edgesAdded = edges.filter((e) => e.id && !e.error).length;
579
+ const edgesFailed = edges.filter((e) => !e.id || e.error).length;
580
+ const bbox = data.bbox;
581
+ console.log(`Placed ${placed} items${failed > 0 ? ` (${failed} failed)` : ""}, ` +
582
+ `${edgesAdded} edges${edgesFailed > 0 ? ` (${edgesFailed} failed)` : ""}`);
583
+ if (bbox?.width && bbox?.height) {
584
+ console.log(`Layout bounding box: ${Math.round(bbox.width)} × ${Math.round(bbox.height)}px`);
585
+ }
586
+ // Surface item-level errors so the user doesn't have to re-run with --json
587
+ for (const item of items) {
588
+ if (item.error)
589
+ console.log(` ✗ item[${item.index}] (${item.type}): ${item.error}`);
590
+ }
591
+ for (const edge of edges) {
592
+ if (edge.error)
593
+ console.log(` ✗ edge ${edge.from} → ${edge.to}: ${edge.error}`);
594
+ }
595
+ }
596
+ }
597
+ catch (error) {
598
+ handleError(error, cfg.json);
599
+ }
600
+ });
530
601
  canvas
531
602
  .command("bulk-move")
532
603
  .description("Move multiple nodes to new positions in one operation")
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/commands/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/commands/canvas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqB1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiHpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqB1D"}
@@ -1,4 +1,5 @@
1
- import { select } from "@inquirer/prompts";
1
+ import { confirm, select } from "@inquirer/prompts";
2
+ import { spawnSync } from "child_process";
2
3
  import { loadConfig, getServerConfig, } from "../lib/auth-store.js";
3
4
  import { ApiClient } from "../lib/api-client.js";
4
5
  import { browserLogin } from "./auth.js";
@@ -6,6 +7,7 @@ import { fetchAndSelectWorkspace } from "./workspace.js";
6
7
  import { buildClaudeConfig, buildCodexConfig } from "./mcp.js";
7
8
  import { bold, dim, green, cyan, CHECK, ARROW, WARN } from "../lib/style.js";
8
9
  import { installMcpConfig, getConfigPath } from "../lib/install-mcp.js";
10
+ import { hasClaudeConfigDir, installSkill, getSkillDestPath, } from "../lib/install-skill.js";
9
11
  function printBanner(version) {
10
12
  const width = 41; // inner width of the box
11
13
  const title = "CreatorNotes CLI";
@@ -32,15 +34,69 @@ function printDivider(label) {
32
34
  console.log(` ${dim("──")} ${bold(label)} ${line}`);
33
35
  console.log();
34
36
  }
35
- function printNextSteps() {
37
+ function printNextSteps(cliCommand) {
38
+ const examples = [
39
+ [`${cliCommand} notes list`, "Browse your notes"],
40
+ [`${cliCommand} notes create`, "Create a new note"],
41
+ [`${cliCommand} search "keyword"`, "Search across everything"],
42
+ [`${cliCommand} --help`, "See all commands"],
43
+ ];
44
+ const widest = Math.max(...examples.map(([cmd]) => cmd.length));
36
45
  console.log(` Next up — try these commands:`);
37
46
  console.log();
38
- console.log(` ${ARROW} ${cyan("cn notes list")} Browse your notes`);
39
- console.log(` ${ARROW} ${cyan("cn notes create")} Create a new note`);
40
- console.log(` ${ARROW} ${cyan('cn search "keyword"')} Search across everything`);
41
- console.log(` ${ARROW} ${cyan("cn --help")} See all commands`);
47
+ for (const [cmd, desc] of examples) {
48
+ const padding = " ".repeat(widest - cmd.length + 4);
49
+ console.log(` ${ARROW} ${cyan(cmd)}${padding}${desc}`);
50
+ }
42
51
  console.log();
43
52
  }
53
+ /**
54
+ * Detect whether this `cn init` invocation is running through a "dlx-style"
55
+ * runner (npx, pnpm dlx, bunx, yarn dlx) rather than from a globally
56
+ * installed binary.
57
+ *
58
+ * - npm/npx: sets `npm_command=exec`
59
+ * - pnpm dlx: cache path contains `/dlx-` (and sets pnpm-specific env)
60
+ * - bunx: cache path contains `/.bun/install/cache/` and binary lives in a tmp dir
61
+ * - yarn dlx: cache path contains `/yarn/berry/cache/`
62
+ *
63
+ * Best-effort — defaults to false (assume globally installed) when uncertain.
64
+ */
65
+ function isRunningUnderDlx() {
66
+ if (process.env.npm_command === "exec")
67
+ return true;
68
+ const argv1 = process.argv[1] || "";
69
+ if (argv1.includes("/_npx/") || argv1.includes("\\_npx\\"))
70
+ return true;
71
+ if (argv1.includes("/dlx-") || argv1.includes("\\dlx-"))
72
+ return true;
73
+ if (argv1.includes("/.bun/install/cache/") || argv1.includes("\\.bun\\install\\cache\\"))
74
+ return true;
75
+ if (argv1.includes("/yarn/berry/cache/"))
76
+ return true;
77
+ const userAgent = process.env.npm_config_user_agent || "";
78
+ if (userAgent.startsWith("npm/") && process.env.npm_lifecycle_event === "npx")
79
+ return true;
80
+ return false;
81
+ }
82
+ /** Best-effort: returns "cn" if globally installed, else "npx cn". */
83
+ function detectCnCommand() {
84
+ return isRunningUnderDlx() ? "npx cn" : "cn";
85
+ }
86
+ function installGlobally() {
87
+ // `shell: true` is required on Windows so npm.cmd resolves correctly.
88
+ const result = spawnSync("npm", ["install", "-g", "@creator-notes/cli"], {
89
+ stdio: "inherit",
90
+ shell: true,
91
+ });
92
+ if (result.error) {
93
+ return { ok: false, error: result.error.message };
94
+ }
95
+ if (result.status !== 0) {
96
+ return { ok: false, error: `npm exited with code ${result.status}` };
97
+ }
98
+ return { ok: true };
99
+ }
44
100
  export function registerInitCommand(program) {
45
101
  program
46
102
  .command("init")
@@ -79,14 +135,16 @@ async function runInit(program) {
79
135
  const sc = getServerConfig(config, serverUrl);
80
136
  const isAuthenticated = !!(sc?.token);
81
137
  const hasWorkspace = !!(sc?.workspaceId);
82
- // Already fully configured
138
+ // Already fully configured — still offer skill / global install if missing
83
139
  if (isAuthenticated && hasWorkspace) {
84
140
  console.log(` ${CHECK} Already authenticated as ${bold(sc?.email || "unknown")}`);
85
141
  console.log(` ${CHECK} Workspace is active`);
86
142
  console.log();
143
+ await maybeInstallSkill();
144
+ const installedGlobally = await maybeInstallGlobally();
87
145
  console.log(` You're all set! Here are some commands to try:`);
88
146
  console.log();
89
- printNextSteps();
147
+ printNextSteps(installedGlobally ? "cn" : detectCnCommand());
90
148
  return;
91
149
  }
92
150
  // Count remaining steps
@@ -150,6 +208,9 @@ async function runInit(program) {
150
208
  console.log(` ${WARN} ${dim("Connection")} could not reach API`);
151
209
  }
152
210
  }
211
+ // ── Claude Code skill + global install ──────────────────────
212
+ await maybeInstallSkill();
213
+ const installedGlobally = await maybeInstallGlobally();
153
214
  // ── Optional: Connect to AI app ─────────────────────────────
154
215
  console.log();
155
216
  const mcpChoice = await select({
@@ -207,6 +268,68 @@ async function runInit(program) {
207
268
  }
208
269
  }
209
270
  console.log();
210
- printNextSteps();
271
+ printNextSteps(installedGlobally ? "cn" : detectCnCommand());
272
+ }
273
+ // ── Skill install ───────────────────────────────────────────
274
+ async function maybeInstallSkill() {
275
+ // Only relevant for Claude Code users.
276
+ if (!hasClaudeConfigDir())
277
+ return;
278
+ console.log();
279
+ const wantSkill = await confirm({
280
+ message: "Install the Claude Code skill so your agent knows how to use cn?",
281
+ default: true,
282
+ });
283
+ if (!wantSkill)
284
+ return;
285
+ try {
286
+ const result = installSkill();
287
+ if (result.alreadyUpToDate) {
288
+ console.log(` ${CHECK} Skill already installed at ${dim(result.destPath)}`);
289
+ }
290
+ else {
291
+ console.log(` ${CHECK} Skill installed at ${dim(result.destPath)}`);
292
+ }
293
+ }
294
+ catch (err) {
295
+ console.log(` ${WARN} Could not install skill: ${dim(err instanceof Error ? err.message : String(err))}`);
296
+ console.log(` ${dim(` Expected destination: ${getSkillDestPath()}`)}`);
297
+ }
298
+ }
299
+ // ── Global install ──────────────────────────────────────────
300
+ /** Returns true if `cn` is now globally available. */
301
+ async function maybeInstallGlobally() {
302
+ // Only offer if running through a dlx-style runner — otherwise the user already has cn globally.
303
+ if (!isRunningUnderDlx())
304
+ return true;
305
+ console.log();
306
+ const wantGlobal = await confirm({
307
+ message: "Install `cn` globally so future calls are faster?",
308
+ default: true,
309
+ });
310
+ if (!wantGlobal) {
311
+ console.log(` ${dim("You can install later with:")} ${cyan("npm install -g @creator-notes/cli")}`);
312
+ return false;
313
+ }
314
+ console.log();
315
+ console.log(` ${dim("Running")} ${cyan("npm install -g @creator-notes/cli")}${dim("...")}`);
316
+ console.log();
317
+ const result = installGlobally();
318
+ if (result.ok) {
319
+ console.log(` ${CHECK} ${cyan("cn")} is now globally available`);
320
+ return true;
321
+ }
322
+ const errMsg = result.error || "unknown error";
323
+ const looksLikePermissionError = /eacces|permission denied|operation not permitted/i.test(errMsg);
324
+ console.log(` ${WARN} Global install failed: ${dim(errMsg)}`);
325
+ if (looksLikePermissionError) {
326
+ console.log(` ${dim("This looks like a permissions issue. Either use a Node version manager")}`);
327
+ console.log(` ${dim("(nvm, fnm, asdf) or run with sudo:")} ${cyan("sudo npm install -g @creator-notes/cli")}`);
328
+ }
329
+ else {
330
+ console.log(` ${dim("You can run it manually:")} ${cyan("npm install -g @creator-notes/cli")}`);
331
+ }
332
+ console.log(` ${dim("Or keep using")} ${cyan("npx @creator-notes/cli")}${dim(" — both work.")}`);
333
+ return false;
211
334
  }
212
335
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Auto-install the `cn` skill into ~/.claude/skills/cn/SKILL.md so Claude
3
+ * Code sessions auto-discover it.
4
+ *
5
+ * The skill ships inside the published package at <package>/skills/cn/SKILL.md.
6
+ * At runtime this file lives at <package>/dist/lib/install-skill.js, so the
7
+ * skill source is two directories up.
8
+ */
9
+ export interface SkillInstallResult {
10
+ installed: boolean;
11
+ destPath: string;
12
+ alreadyUpToDate?: boolean;
13
+ }
14
+ /** Where the skill lives on disk inside the installed package. */
15
+ export declare function getBundledSkillPath(): string;
16
+ /** Where the skill should be copied to in the user's Claude config. */
17
+ export declare function getSkillDestPath(): string;
18
+ /** True if the user appears to be a Claude Code user (has ~/.claude). */
19
+ export declare function hasClaudeConfigDir(): boolean;
20
+ /** True if the destination skill already exists. */
21
+ export declare function skillAlreadyInstalled(): boolean;
22
+ /**
23
+ * Copy the bundled skill into ~/.claude/skills/cn/SKILL.md.
24
+ * Caller is responsible for any prompting / confirmation.
25
+ */
26
+ export declare function installSkill(): SkillInstallResult;
27
+ //# sourceMappingURL=install-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../src/lib/install-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,oDAAoD;AACpD,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAUD;;;GAGG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,CAejD"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Auto-install the `cn` skill into ~/.claude/skills/cn/SKILL.md so Claude
3
+ * Code sessions auto-discover it.
4
+ *
5
+ * The skill ships inside the published package at <package>/skills/cn/SKILL.md.
6
+ * At runtime this file lives at <package>/dist/lib/install-skill.js, so the
7
+ * skill source is two directories up.
8
+ */
9
+ import { copyFileSync, existsSync, mkdirSync, readFileSync } from "fs";
10
+ import { dirname, resolve } from "path";
11
+ import { homedir } from "os";
12
+ import { fileURLToPath } from "url";
13
+ /** Where the skill lives on disk inside the installed package. */
14
+ export function getBundledSkillPath() {
15
+ const __dirname = dirname(fileURLToPath(import.meta.url));
16
+ return resolve(__dirname, "..", "..", "skills", "cn", "SKILL.md");
17
+ }
18
+ /** Where the skill should be copied to in the user's Claude config. */
19
+ export function getSkillDestPath() {
20
+ return resolve(homedir(), ".claude", "skills", "cn", "SKILL.md");
21
+ }
22
+ /** True if the user appears to be a Claude Code user (has ~/.claude). */
23
+ export function hasClaudeConfigDir() {
24
+ return existsSync(resolve(homedir(), ".claude"));
25
+ }
26
+ /** True if the destination skill already exists. */
27
+ export function skillAlreadyInstalled() {
28
+ return existsSync(getSkillDestPath());
29
+ }
30
+ function filesAreIdentical(a, b) {
31
+ try {
32
+ return readFileSync(a).equals(readFileSync(b));
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ }
38
+ /**
39
+ * Copy the bundled skill into ~/.claude/skills/cn/SKILL.md.
40
+ * Caller is responsible for any prompting / confirmation.
41
+ */
42
+ export function installSkill() {
43
+ const source = getBundledSkillPath();
44
+ const dest = getSkillDestPath();
45
+ if (!existsSync(source)) {
46
+ throw new Error(`Bundled skill not found at ${source}`);
47
+ }
48
+ if (existsSync(dest) && filesAreIdentical(source, dest)) {
49
+ return { installed: false, destPath: dest, alreadyUpToDate: true };
50
+ }
51
+ mkdirSync(dirname(dest), { recursive: true });
52
+ copyFileSync(source, dest);
53
+ return { installed: true, destPath: dest };
54
+ }
55
+ //# sourceMappingURL=install-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../src/lib/install-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAQpC,kEAAkE;AAClE,MAAM,UAAU,mBAAmB;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,kBAAkB;IAChC,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAEhC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC"}
@@ -373,6 +373,13 @@ server.tool("cn_canvas_bulk_add", "Add one or more items to a canvas. Use this f
373
373
  items: allItems,
374
374
  });
375
375
  }));
376
+ server.tool("cn_canvas_place", "Place items on a canvas using a DECLARATIVE LAYOUT (no x/y math). The server measures every item, packs them with no overlaps, and inserts them in a single batch. PREFER THIS over cn_canvas_bulk_add whenever you can express the layout as stacks/grids/anchors — which is almost always. The agent should describe STRUCTURE (rows, columns, what's near what), not pixel coordinates.\n\nThe call is best-effort, NOT atomic: per-item failures are reported in the response (HTTP 207) but the items that succeeded stay on the canvas. Always inspect `items[].error` and `edges[].error` in the response.\n\nThe `doc` argument is a layout document:\n { root: <LayoutNode>, edges?: [{from, to, label?}], origin?: {x, y} }\n\n<LayoutNode> is one of:\n • { kind: 'stack', axis: 'vertical'|'horizontal', gap?: 'tight'|'medium'|'spacious'|<px>, align?: 'start'|'center'|'end', items: [<LayoutNode>...] }\n • { kind: 'grid', columns: <n>, gap?: ..., items: [<LayoutNode>...] }\n • { kind: 'anchor', to: '<displayId or canvas node id>', direction: 'right'|'left'|'above'|'below', gap?: ..., child: <LayoutNode> }\n • { kind: 'item', type: 'note'|'text'|'richtext'|'list'|'canvas', key?: '<name>', ...item-specific fields }\n\nLeaf item shapes (no x/y!):\n note: { kind:'item', type:'note', noteId:'NOTE-3', key?:'a' }\n text: { kind:'item', type:'text', content:'Hello', fontSize?:32, colorVariant?:'normal'|'muted'|'highlighted' }\n richtext: { kind:'item', type:'richtext', content:'# Markdown OK', size?:'small'|'medium'|'large', colorHex?:'#3B82F6' }\n list: { kind:'item', type:'list', name:'My list', noteIds?:['NOTE-1','NOTE-2'], viewMode?:'list'|'grid' }\n canvas: { kind:'item', type:'canvas', linkedCanvasId:'<id>' }\n\nEdges reference endpoints by, in priority order: `@<key>` (any item with a `key` placed in the same call), the original noteId/displayId of a note placed in this call (e.g. 'NOTE-7'), or the displayId / convex id of a node already on the canvas.\n\nExample (a SWOT-like quadrant):\n {\n root: {\n kind:'stack', axis:'vertical', gap:'spacious',\n items:[\n { kind:'stack', axis:'horizontal', gap:'spacious', items:[\n { kind:'grid', columns:2, items:[\n { kind:'item', type:'note', noteId:'STR-1' },\n { kind:'item', type:'note', noteId:'STR-2' },\n ]},\n { kind:'grid', columns:2, items:[\n { kind:'item', type:'note', noteId:'WEAK-1' },\n ]},\n ]},\n { kind:'stack', axis:'horizontal', gap:'spacious', items:[ /* opportunities + threats */ ]},\n ],\n },\n }", {
377
+ canvasId: z.string().describe("Canvas ID"),
378
+ doc: z.any().describe("Layout document. See tool description for shape."),
379
+ }, async ({ canvasId, doc }) => withErrorHandling(() => api.post(`/api/canvas/${encodeURIComponent(canvasId)}?workspaceId=${encodeURIComponent(workspaceId)}`, {
380
+ action: "placeLayout",
381
+ doc,
382
+ })));
376
383
  server.tool("cn_canvas_bulk_move", "Move multiple nodes to new positions in one operation. More efficient than calling cn_canvas_move_node multiple times.", {
377
384
  canvasId: z.string().describe("Canvas ID"),
378
385
  moves: z.array(z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creator-notes/cli",
3
- "version": "0.2.20",
3
+ "version": "0.2.22",
4
4
  "description": "CLI for CreatorNotes — create notes, build canvases, search knowledge from the terminal",
5
5
  "type": "module",
6
6
  "bin": {
@@ -100,7 +100,13 @@ cn canvas add-richtext <canvasId> --content "<content>" [--size small|medium|lar
100
100
  cn canvas add-list <canvasId> --name "<name>" --notes <id1,id2,...> [--view list|grid] [--x <n>] [--y <n>]
101
101
  cn canvas add-link <canvasId> --target <otherCanvasId> [--x <n>] [--y <n>]
102
102
 
103
- # Bulk add multiple notes at once (more efficient than repeated add-node)
103
+ # Place items using a declarative layout (NO x/y math server packs them)
104
+ # This is the PREFERRED way to add multiple items. See "Canvas Layout" below.
105
+ cn canvas place <canvasId> --spec ./layout.json
106
+ cn canvas place <canvasId> --spec-stdin # JSON from stdin
107
+ cn canvas place <canvasId> --spec-inline '<short JSON>' # for tiny specs only
108
+
109
+ # Bulk add with explicit positions (escape hatch — only for pixel-perfect templates)
104
110
  cn canvas bulk-add <canvasId> --notes '[{"noteId":"NOTE-1","x":100,"y":100},{"noteId":"NOTE-2","x":400,"y":100}]'
105
111
 
106
112
  # Move / remove nodes
@@ -230,109 +236,177 @@ cn config set-server <url>
230
236
 
231
237
  ### Canvas Layout
232
238
 
233
- When adding 3+ items to a canvas, **plan all positions upfront** and use `bulk-add` in a single call instead of repeated `add-node` calls.
234
-
235
- #### Grid Cell System (Note Units)
236
-
237
- All canvas positioning uses a **note unit (1u)** as the base measurement. 1u = 400px wide × 180px tall. Every item type has a known width in note units — you must account for this when planning layouts.
238
-
239
- | Item type | Width (px) | Width (u) | Height (px) | Height (u) |
240
- |-----------|-----------|-----------|-------------|------------|
241
- | Note node | 400 | 1.0 | 180 | 1.0 |
242
- | Text node | ~280 | 0.7 | ~40 | 0.2 |
243
- | Richtext small | 560 | 1.4 | varies | varies |
244
- | Richtext medium | 1120 | 2.8 | varies | varies |
245
- | Richtext large | 1680 | 4.2 | varies | varies |
246
- | List node (grid) | 580 | 1.45 | 160+ | varies |
247
- | Canvas link | 400 | 1.0 | 80 | 0.4 |
248
- | Edge label | ~80 | 0.2 | ~14 | — |
249
-
250
- Node center offset from top-left: `(+140, +50)`.
239
+ **Don't compute coordinates by hand. Use `cn canvas place` with a layout spec.**
251
240
 
252
- #### Richtext Nodes
241
+ The server measures every item, packs them into a no-overlap layout, and inserts them in a single batch. You describe **structure** (rows, columns, what's near what) — the server resolves pixels. This is what `cn canvas place` is for, and you should reach for it whenever you're adding more than one item.
253
242
 
254
- Use `add-richtext` for formatted content with headings, lists, bold, italic, and code blocks:
243
+ The call is **best-effort, not transactional** per-item failures are reported in the response (HTTP 207) but the items that succeeded stay on the canvas. Always inspect `items[].error` and `edges[].error` before assuming success.
255
244
 
256
- | Size | Width (px) | Width (u) | Use for |
257
- |------|-----------|-----------|---------|
258
- | `small` (default) | 560 | 1.4 | Annotations, callouts, small formatted notes |
259
- | `medium` | 1120 | 2.8 | Section descriptions, formatted explanations |
260
- | `large` | 1680 | 4.2 | Billboard-scale hero text, full-width banners |
245
+ Use `cn canvas bulk-add` with explicit `x/y` ONLY for pixel-perfect templates (e.g. demo recordings or tutorial walkthroughs that need to match a specific screenshot).
261
246
 
262
- Optional `--color` sets a tinted background (hex, e.g. `#3B82F6` blue, `#F59E0B` amber, `#6366F1` indigo).
247
+ #### The layout DSL
263
248
 
264
- **Content via file (IMPORTANT):** For multi-line richtext, **always use `--content-file`**: write markdown to a temp file first, then pass the path. Inline `--content` does NOT interpret `\n` as newlines bash passes literal backslash-n, which renders as broken text.
249
+ A layout document is `{ root, edges?, origin? }` where `root` is one of four node kinds:
265
250
 
266
- **Richtext height is dynamic** it depends on content length, font size, and padding (colored nodes have much larger padding). The server computes `estimatedHeight` (px) and returns it in the JSON response from `add-richtext` and `bulk-add` (for richtext items).
267
-
268
- **Workflow:** Create richtext nodes first with `--json`, read `estimatedHeight` from the response, then use it to calculate positions for items below: `nextY = richtextY + estimatedHeight + vGap`.
251
+ - **`stack`**items flow along one axis (like CSS flexbox)
252
+ ```json
253
+ { "kind": "stack", "axis": "vertical", "gap": "medium",
254
+ "align": "start", "items": [ /* LayoutNode */ ] }
255
+ ```
256
+ - **`grid`** — N columns, items wrap to new rows (like CSS grid auto-flow)
257
+ ```json
258
+ { "kind": "grid", "columns": 3, "gap": "medium",
259
+ "items": [ /* LayoutNode */ ] }
260
+ ```
261
+ - **`anchor`** — place a sub-tree relative to an EXISTING canvas node
262
+ ```json
263
+ { "kind": "anchor", "to": "NOTE-12", "direction": "right",
264
+ "gap": "medium", "child": /* LayoutNode */ }
265
+ ```
266
+ - **`item`** — a leaf node (no x/y!). One per visible thing on the canvas.
269
267
 
270
- **Fallback estimates** (only when you can't create richtext first):
268
+ `gap` accepts a preset (`"tight"`, `"medium"`, `"spacious"`) or a raw pixel number. Defaults to `"medium"`.
271
269
 
272
- | Size | Colored | Uncolored |
273
- |------|---------|-----------|
274
- | small | 1.5u (270px) | 1u (180px) |
275
- | medium | 2u (360px) | 1.5u (270px) |
276
- | large | 2.5u (450px) | 2u (360px) |
270
+ #### Leaf item shapes
277
271
 
278
- **Layout impact — CRITICAL:** A `medium` richtext is 2.8u wide (1120px) — it spans almost 3 note columns. You MUST account for this when planning positions. Items below a richtext must use its actual height (not 180px) to calculate the next row.
272
+ ```json
273
+ { "kind": "item", "type": "note", "noteId": "NOTE-3", "key": "a" }
274
+ { "kind": "item", "type": "text", "content": "Hello", "fontSize": 32, "colorVariant": "muted" }
275
+ { "kind": "item", "type": "richtext", "content": "# Markdown OK", "size": "medium", "colorHex": "#3B82F6" }
276
+ { "kind": "item", "type": "list", "name": "Risks", "noteIds": ["A","B","C"], "viewMode": "list" }
277
+ { "kind": "item", "type": "canvas", "linkedCanvasId": "abc..." }
278
+ ```
279
279
 
280
- #### Text Node Sizing
280
+ The optional `key` lets edges and other items reference this leaf later (`@<key>`).
281
281
 
282
- | Size | Use for |
283
- |------|---------|
284
- | `heading` (default) | Section headers, zone titles, canvas labels |
285
- | `paragraph` | Descriptions, annotations, supporting context |
282
+ `richtext.content` accepts markdown directly the server converts to TipTap before measuring.
286
283
 
287
- **Never use ALL CAPS** for text node content. Use title case instead (e.g., "Key Tensions" not "KEY TENSIONS").
284
+ #### Edges
288
285
 
289
- #### Layout Density
286
+ Edges live at the top level alongside `root`. Each endpoint is resolved in this priority order:
290
287
 
291
- Gaps between items are expressed as **multiples of 1u**:
288
+ 1. **`@<key>`** any item placed in the same call that carries a matching `key`
289
+ 2. **Original `noteId`** of a note placed in this call (e.g. `"NOTE-7"`) — no `key` needed
290
+ 3. **Display id or convex id** of a node already on the canvas
292
291
 
293
- | Density | H gap (px) | V gap (px) | When to use |
294
- |---------|-----------|-----------|-------------|
295
- | **tight** | 60 | 27 | Same concern, one board retro, kanban |
296
- | **medium** | 200 | 72 | Organized, clear separation — SWOT, roadmap |
297
- | **spacious** | 400 | 144 | Distinct topics, breathing room |
292
+ ```json
293
+ "edges": [
294
+ { "from": "@a", "to": "@b", "label": "depends on" },
295
+ { "from": "NOTE-7", "to": "@a" }
296
+ ]
297
+ ```
298
298
 
299
- #### Positioning Algorithm (Notes Only)
299
+ #### Examples
300
+
301
+ **Fan-out under a heading** (the failure case the agent kept getting wrong):
302
+ ```json
303
+ {
304
+ "root": {
305
+ "kind": "stack", "axis": "vertical", "gap": "medium",
306
+ "items": [
307
+ { "kind": "item", "type": "richtext",
308
+ "content": "# Goals\nWhat we're committing to this quarter.",
309
+ "size": "medium" },
310
+ { "kind": "grid", "columns": 4,
311
+ "items": [
312
+ { "kind": "item", "type": "note", "noteId": "GOAL-1" },
313
+ { "kind": "item", "type": "note", "noteId": "GOAL-2" },
314
+ { "kind": "item", "type": "note", "noteId": "GOAL-3" },
315
+ { "kind": "item", "type": "note", "noteId": "GOAL-4" }
316
+ ] }
317
+ ]
318
+ }
319
+ }
320
+ ```
300
321
 
301
- 1. **Build the graph** — list all notes and their relationships.
302
- 2. **Assign ranks** — Rank 0 for root nodes (no incoming edges), Rank N = `max(parent ranks) + 1`.
303
- 3. **Calculate positions** — `Y = 100 + rank × (180 + vGap)`. Center each rank horizontally with `(400 + hGap)` spacing.
304
- 4. **Use `bulk-add`** for all notes, then add edges with `add-edge`.
322
+ **SWOT-style four-quadrant layout**:
323
+ ```json
324
+ {
325
+ "root": {
326
+ "kind": "stack", "axis": "vertical", "gap": "spacious",
327
+ "items": [
328
+ { "kind": "stack", "axis": "horizontal", "gap": "spacious", "items": [
329
+ { "kind": "grid", "columns": 2, "items": [
330
+ { "kind": "item", "type": "note", "noteId": "STR-1" },
331
+ { "kind": "item", "type": "note", "noteId": "STR-2" }
332
+ ] },
333
+ { "kind": "grid", "columns": 2, "items": [
334
+ { "kind": "item", "type": "note", "noteId": "WEAK-1" }
335
+ ] }
336
+ ] },
337
+ { "kind": "stack", "axis": "horizontal", "gap": "spacious", "items": [
338
+ { "kind": "grid", "columns": 2, "items": [
339
+ { "kind": "item", "type": "note", "noteId": "OPP-1" }
340
+ ] },
341
+ { "kind": "grid", "columns": 2, "items": [
342
+ { "kind": "item", "type": "note", "noteId": "THR-1" }
343
+ ] }
344
+ ] }
345
+ ]
346
+ }
347
+ }
348
+ ```
305
349
 
306
- #### Mixed-Type Layout (Notes + Richtext + Text)
350
+ **Anchor a new column to the right of an existing note**:
351
+ ```json
352
+ {
353
+ "root": {
354
+ "kind": "anchor", "to": "NOTE-12", "direction": "right", "gap": "medium",
355
+ "child": {
356
+ "kind": "stack", "axis": "vertical", "gap": "tight",
357
+ "items": [
358
+ { "kind": "item", "type": "note", "noteId": "NEW-1" },
359
+ { "kind": "item", "type": "note", "noteId": "NEW-2" }
360
+ ]
361
+ }
362
+ }
363
+ }
364
+ ```
307
365
 
308
- When a canvas mixes node types, plan as a **row-based grid** where each row's Y depends on the tallest item in the previous row.
366
+ **Diamond topology with edges**:
367
+ ```json
368
+ {
369
+ "root": {
370
+ "kind": "stack", "axis": "vertical", "gap": "medium", "align": "center",
371
+ "items": [
372
+ { "kind": "item", "type": "note", "noteId": "A", "key": "root" },
373
+ { "kind": "stack", "axis": "horizontal", "gap": "medium", "items": [
374
+ { "kind": "item", "type": "note", "noteId": "B", "key": "left" },
375
+ { "kind": "item", "type": "note", "noteId": "C", "key": "right" }
376
+ ] },
377
+ { "kind": "item", "type": "note", "noteId": "D", "key": "tail" }
378
+ ]
379
+ },
380
+ "edges": [
381
+ { "from": "@root", "to": "@left" },
382
+ { "from": "@root", "to": "@right" },
383
+ { "from": "@left", "to": "@tail" },
384
+ { "from": "@right", "to": "@tail" }
385
+ ]
386
+ }
387
+ ```
309
388
 
310
- **Execution order:**
311
- 1. Create richtext/text nodes first (`add-richtext --json`) — capture `estimatedHeight` from response
312
- 2. Calculate note positions using actual richtext heights for Y offsets
313
- 3. `bulk-add` all notes with correctly calculated positions
314
- 4. `add-edge` for all connections
389
+ #### Workflow
315
390
 
316
- **Row Y calculation:**
317
- ```
318
- Row 0 Y = 100
319
- Row 1 Y = Row0_Y + tallestItemInRow0 + vGap
320
- Row 2 Y = Row1_Y + tallestItemInRow1 + vGap
321
- ```
391
+ 1. Write the layout doc to a temp file (`/tmp/layout.json`).
392
+ 2. Run `cn canvas place <canvasId> --spec /tmp/layout.json --json`.
393
+ 3. The response includes `items[]` (with resolved `positionX/Y`, `width`, `height`, `id`, and your `key`), `edges[]` (with resolved edge ids), and `bbox` (the bounding box of the whole layout).
322
394
 
323
- **Row X calculation** — place items left-to-right using actual widths:
324
- ```
325
- Item 1: x = 100, right edge = 100 + itemWidth
326
- Item 2: x = rightEdge1 + hGap
327
- ```
395
+ #### Constraints
328
396
 
329
- #### Common Topologies
397
+ - **Anchors take zero space in their parent** — when nested inside a `stack` or `grid`, an anchor reserves no slot, so siblings collapse together. Anchors are best used at the root or as their own top-level branch.
398
+ - **Anchor `to:` must be a node already on the canvas** — local `@key` refs only work for edges, not for anchor targets in this version.
399
+ - **Never use ALL CAPS** for text node content. Use title case (e.g., "Key Tensions" not "KEY TENSIONS").
400
+ - **Multi-line richtext content** is best authored as markdown — the server converts it server-side.
330
401
 
331
- **Linear chain** (A→B→C→D): stack vertically at X=300, Y increments of `180 + vGap`.
402
+ #### When the layout engine isn't enough
332
403
 
333
- **Fan-out** (A→B, A→C, A→D): root on top, children spread horizontally at `400 + hGap` intervals.
404
+ A few cases still need explicit `x/y` via `bulk-add`:
405
+ - Reproducing a canvas pixel-for-pixel for a demo/screenshot
406
+ - Templates with intentional off-grid placement
407
+ - Adding a single item next to a known coordinate without invoking the solver
334
408
 
335
- **Diamond** (A→B, A→C, B→D, C→D): 2-column layout centered under root.
409
+ In all other cases and especially when adding 3+ items at once — use `place`.
336
410
 
337
411
  ### Interlinking Notes
338
412