@creator-notes/cli 0.2.20 → 0.2.23

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,CAk8B7D"}
@@ -157,8 +157,9 @@ export function registerCanvasCommands(program) {
157
157
  if (opts.audience !== undefined)
158
158
  body.targetAudience = opts.audience;
159
159
  const data = await api.post("/api/canvas", body);
160
+ const canvas = data.canvas ?? {};
160
161
  if (cfg.quiet) {
161
- outputQuiet(String(data._id || data.id || ""));
162
+ outputQuiet(String(canvas.id || canvas._id || ""));
162
163
  return;
163
164
  }
164
165
  if (cfg.json) {
@@ -166,7 +167,7 @@ export function registerCanvasCommands(program) {
166
167
  }
167
168
  else {
168
169
  console.log(`Created canvas: ${name}`);
169
- console.log(`ID: ${data._id || data.id}`);
170
+ console.log(`ID: ${canvas.id || canvas._id || "(unknown)"}`);
170
171
  }
171
172
  }
172
173
  catch (error) {
@@ -527,6 +528,87 @@ export function registerCanvasCommands(program) {
527
528
  handleError(error, cfg.json);
528
529
  }
529
530
  });
531
+ canvas
532
+ .command("place")
533
+ .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.")
534
+ .argument("<canvasId>", "Canvas ID")
535
+ .option("--spec <path>", "Path to a JSON file containing the layout document")
536
+ .option("--spec-stdin", "Read the layout document from stdin")
537
+ .option("--spec-inline <json>", "Pass the layout document inline as a JSON string (short specs only)")
538
+ .option("--dry-run", "Validate the spec and return solved positions without mutating the canvas")
539
+ .action(async (canvasId, opts) => {
540
+ const cfg = resolveConfig(program.opts());
541
+ const api = new ApiClient(cfg.serverUrl, cfg.token);
542
+ try {
543
+ let raw;
544
+ if (opts.spec) {
545
+ raw = readFileSafe(opts.spec);
546
+ }
547
+ else if (opts.specInline) {
548
+ raw = opts.specInline;
549
+ }
550
+ else if (opts.specStdin) {
551
+ raw = await new Promise((resolve, reject) => {
552
+ const chunks = [];
553
+ process.stdin.on("data", (c) => chunks.push(c));
554
+ process.stdin.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")));
555
+ process.stdin.on("error", reject);
556
+ });
557
+ }
558
+ else {
559
+ throw new ValidationError("One of --spec, --spec-inline, or --spec-stdin is required");
560
+ }
561
+ let doc;
562
+ try {
563
+ doc = JSON.parse(raw);
564
+ }
565
+ catch (e) {
566
+ throw new ValidationError(`Layout spec is not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
567
+ }
568
+ const data = await api.post(`/api/canvas/${encodeURIComponent(canvasId)}?workspaceId=${encodeURIComponent(cfg.workspaceId)}`, {
569
+ action: "placeLayout",
570
+ doc,
571
+ ...(opts.dryRun ? { dryRun: true } : {}),
572
+ });
573
+ if (cfg.json) {
574
+ outputJson(data);
575
+ }
576
+ else {
577
+ const items = (data.items || []);
578
+ const edges = (data.edges || []);
579
+ const bbox = data.bbox;
580
+ if (data.dryRun) {
581
+ console.log(`[dry run] Would place ${items.length} item${items.length === 1 ? "" : "s"} ` +
582
+ `and ${edges.length} edge${edges.length === 1 ? "" : "s"} (no changes made).`);
583
+ if (bbox?.width && bbox?.height) {
584
+ console.log(`Layout bounding box: ${Math.round(bbox.width)} × ${Math.round(bbox.height)}px`);
585
+ }
586
+ return;
587
+ }
588
+ const placed = items.filter((r) => r.id && !r.error).length;
589
+ const failed = items.filter((r) => !r.id || r.error).length;
590
+ const edgesAdded = edges.filter((e) => e.id && !e.error).length;
591
+ const edgesFailed = edges.filter((e) => !e.id || e.error).length;
592
+ console.log(`Placed ${placed} items${failed > 0 ? ` (${failed} failed)` : ""}, ` +
593
+ `${edgesAdded} edges${edgesFailed > 0 ? ` (${edgesFailed} failed)` : ""}`);
594
+ if (bbox?.width && bbox?.height) {
595
+ console.log(`Layout bounding box: ${Math.round(bbox.width)} × ${Math.round(bbox.height)}px`);
596
+ }
597
+ // Surface item-level errors so the user doesn't have to re-run with --json
598
+ for (const item of items) {
599
+ if (item.error)
600
+ console.log(` ✗ item[${item.index}] (${item.type}): ${item.error}`);
601
+ }
602
+ for (const edge of edges) {
603
+ if (edge.error)
604
+ console.log(` ✗ edge ${edge.from} → ${edge.to}: ${edge.error}`);
605
+ }
606
+ }
607
+ }
608
+ catch (error) {
609
+ handleError(error, cfg.json);
610
+ }
611
+ });
530
612
  canvas
531
613
  .command("bulk-move")
532
614
  .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