@neurodock/cli 0.8.1 → 0.9.0

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 (36) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +45 -11
  3. package/dist/assets/hooks/proactive_guardrail.py +11 -23
  4. package/dist/assets/schemas/neurotype-addenda.schema.json +167 -0
  5. package/dist/assets/schemas/profile.example.yaml +9 -0
  6. package/dist/assets/schemas/profile.schema.json +116 -0
  7. package/dist/assets/skills/adhd-daily-planner/SKILL.md +131 -0
  8. package/dist/assets/skills/asd-meeting-translator/SKILL.md +177 -0
  9. package/dist/assets/skills/audhd-context-recovery/SKILL.md +93 -0
  10. package/dist/assets/skills/dyspraxia-task-pacer/SKILL.md +174 -0
  11. package/dist/assets/skills/hyperfocus-formatter/SKILL.md +89 -0
  12. package/dist/assets/skills/ocd-decision-finalizer/SKILL.md +109 -0
  13. package/dist/assets/skills/visual-organizer/SKILL.md +94 -0
  14. package/dist/commands/host.d.ts.map +1 -1
  15. package/dist/commands/host.js +4 -6
  16. package/dist/commands/host.js.map +1 -1
  17. package/dist/commands/install-all.d.ts +27 -0
  18. package/dist/commands/install-all.d.ts.map +1 -1
  19. package/dist/commands/install-all.js +53 -1
  20. package/dist/commands/install-all.js.map +1 -1
  21. package/dist/commands/install-skills.d.ts +26 -0
  22. package/dist/commands/install-skills.d.ts.map +1 -0
  23. package/dist/commands/install-skills.js +164 -0
  24. package/dist/commands/install-skills.js.map +1 -0
  25. package/dist/commands/setup.d.ts +12 -0
  26. package/dist/commands/setup.d.ts.map +1 -1
  27. package/dist/commands/setup.js +2 -0
  28. package/dist/commands/setup.js.map +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +37 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/skills.d.ts +40 -0
  33. package/dist/lib/skills.d.ts.map +1 -0
  34. package/dist/lib/skills.js +115 -0
  35. package/dist/lib/skills.js.map +1 -0
  36. package/package.json +3 -3
@@ -0,0 +1,164 @@
1
+ /*
2
+ * SPDX-License-Identifier: AGPL-3.0-or-later
3
+ * Copyright (c) 2026 NeuroDock contributors.
4
+ */
5
+ /**
6
+ * `neurodock install-skills` — copy the bundled per-neurotype skills into
7
+ * the user's client personal-skills directory so Claude Code / Claude
8
+ * Desktop discover them.
9
+ *
10
+ * Why this exists:
11
+ *
12
+ * Marketplace/plugin users already get the skills bundled into the
13
+ * Claude Code plugin (see `scripts/sync-skills.mjs`). Users who install
14
+ * via `@neurodock/cli` only got the MCP servers wired — no skills. This
15
+ * command closes that gap by copying the skills the CLI tarball ships
16
+ * (under `dist/assets/skills/`) into `~/.claude/skills/neurodock-<name>/`.
17
+ *
18
+ * Target directories:
19
+ *
20
+ * - Claude Code -> ~/.claude/skills/ (personal skills)
21
+ * - Claude Desktop -> ~/.claude/skills/ (same personal-skills dir)
22
+ * - Cursor -> skipped (no skills system today)
23
+ *
24
+ * Idempotent: re-running overwrites/refreshes each `SKILL.md` atomically.
25
+ */
26
+ import { mkdirSync } from "node:fs";
27
+ import { join } from "node:path";
28
+ import { atomicWriteOverwrite } from "../util/atomic-write.js";
29
+ import { readEnv } from "../lib/env.js";
30
+ import { bundledSkillsCandidates, clientSkillsDir, discoverBundledSkills, namespacedSkillDir, readIfExists, } from "../lib/skills.js";
31
+ /** Clients that have a personal-skills directory we can write to. */
32
+ const SKILLS_CAPABLE = [
33
+ "claude-code",
34
+ "claude-desktop",
35
+ ];
36
+ const SKILLS_INCAPABLE = ["cursor"];
37
+ export async function runInstallSkills(options, deps = {}) {
38
+ const env = readEnv(deps.envOverrides ?? {});
39
+ const messages = [];
40
+ // 1. Locate the bundled skills.
41
+ const sourceDir = resolveSkillsSource(deps, env);
42
+ const skills = discoverBundledSkills(sourceDir);
43
+ if (skills.length === 0) {
44
+ messages.push("[install-skills] could not find any bundled skills.");
45
+ messages.push(" This is a packaging bug — the skills should ship with @neurodock/cli " +
46
+ "(under dist/assets/skills/). Re-install the CLI or run a fresh build.");
47
+ return { messages, installed: 0, exitCode: 1 };
48
+ }
49
+ // 2. Resolve which client target dirs to write to. We do NOT gate on the
50
+ // client config existing: skills live in ~/.claude/skills regardless of
51
+ // whether the MCP config file is present, and the dir is shared anyway.
52
+ const targets = resolveTargets(options.client);
53
+ // 3. Skipped clients (e.g. Cursor) — clear notice, never an error.
54
+ const skipped = resolveSkipped(options.client);
55
+ for (const s of skipped) {
56
+ messages.push(`Skipping ${s}: it has no skills system, so there is nowhere to install skills.`);
57
+ }
58
+ if (targets.length === 0) {
59
+ messages.push("No skills-capable client selected. Nothing to install.");
60
+ messages.push("Skills install into Claude Code / Claude Desktop's ~/.claude/skills directory.");
61
+ return { messages, installed: 0, exitCode: 0 };
62
+ }
63
+ // The personal-skills dir is shared between Claude Code and Claude Desktop,
64
+ // so de-duplicate the resolved paths to avoid copying the same files twice.
65
+ const skillsDirs = uniqueSkillsDirs(targets, env);
66
+ if (options.dryRun) {
67
+ messages.push("Dry run. No skills written.");
68
+ messages.push(`Would install ${skills.length} skill(s) into ${skillsDirs.length} location(s):`);
69
+ for (const dir of skillsDirs) {
70
+ messages.push(` ${dir}`);
71
+ for (const skill of skills) {
72
+ messages.push(` + ${join(`neurodock-${skill.name}`, "SKILL.md")}`);
73
+ }
74
+ }
75
+ return { messages, installed: 0, exitCode: 0 };
76
+ }
77
+ // 4. Install.
78
+ let installed = 0;
79
+ messages.push(`Installing ${skills.length} NeuroDock skill(s) into ${skillsDirs.length} location(s)...`);
80
+ for (const dir of skillsDirs) {
81
+ messages.push(` ${dir}`);
82
+ for (const skill of skills) {
83
+ const line = installSkill(skill, dir);
84
+ messages.push(` ${line.text}`);
85
+ if (line.ok)
86
+ installed += 1;
87
+ }
88
+ }
89
+ messages.push("");
90
+ messages.push(`Summary: installed ${installed} of ${skills.length * skillsDirs.length} skill copy(ies) across ${skillsDirs.length} location(s).`);
91
+ messages.push("Restart Claude Code / Claude Desktop so it discovers the new skills.");
92
+ return { messages, installed, exitCode: 0 };
93
+ }
94
+ function installSkill(skill, skillsDir) {
95
+ // Read-and-catch (no existsSync-then-read): the source SKILL.md was
96
+ // confirmed readable during discovery, but re-read defensively.
97
+ const content = readIfExists(skill.skillMd);
98
+ if (content === null) {
99
+ return {
100
+ ok: false,
101
+ text: `[skip] neurodock-${skill.name} — source SKILL.md disappeared`,
102
+ };
103
+ }
104
+ const destDir = namespacedSkillDir(skillsDir, skill.name);
105
+ const destFile = join(destDir, "SKILL.md");
106
+ try {
107
+ mkdirSync(destDir, { recursive: true });
108
+ atomicWriteOverwrite(destFile, content);
109
+ return { ok: true, text: `[ok] neurodock-${skill.name}` };
110
+ }
111
+ catch (err) {
112
+ const detail = err instanceof Error ? err.message : String(err);
113
+ return {
114
+ ok: false,
115
+ text: `[fail] neurodock-${skill.name} — ${truncate(detail)}`,
116
+ };
117
+ }
118
+ }
119
+ function resolveSkillsSource(deps, env) {
120
+ if (deps.skillsSourceDir !== undefined)
121
+ return deps.skillsSourceDir;
122
+ // Pick the first candidate that actually contains a skill. We probe by
123
+ // discovery rather than existsSync to avoid a TOCTOU window.
124
+ for (const candidate of bundledSkillsCandidates(import.meta.url, env)) {
125
+ if (discoverBundledSkills(candidate).length > 0)
126
+ return candidate;
127
+ }
128
+ // Fall back to the first candidate; discovery there will return [] and the
129
+ // caller reports the packaging-bug message.
130
+ return bundledSkillsCandidates(import.meta.url, env)[0] ?? "";
131
+ }
132
+ function resolveTargets(client) {
133
+ if (client === "all")
134
+ return SKILLS_CAPABLE;
135
+ if (SKILLS_CAPABLE.includes(client))
136
+ return [client];
137
+ return [];
138
+ }
139
+ function resolveSkipped(client) {
140
+ if (client === "all")
141
+ return SKILLS_INCAPABLE;
142
+ if (SKILLS_INCAPABLE.includes(client))
143
+ return [client];
144
+ return [];
145
+ }
146
+ function uniqueSkillsDirs(clients, env) {
147
+ const seen = new Set();
148
+ const dirs = [];
149
+ for (const client of clients) {
150
+ const dir = clientSkillsDir(client, env);
151
+ if (dir === null)
152
+ continue;
153
+ if (seen.has(dir))
154
+ continue;
155
+ seen.add(dir);
156
+ dirs.push(dir);
157
+ }
158
+ return dirs;
159
+ }
160
+ function truncate(s, max = 120) {
161
+ const first = s.split("\n")[0] ?? "";
162
+ return first.length > max ? `${first.slice(0, max - 1)}…` : first;
163
+ }
164
+ //# sourceMappingURL=install-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-skills.js","sourceRoot":"","sources":["../../src/commands/install-skills.ts"],"names":[],"mappings":"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"}
@@ -30,11 +30,23 @@ export interface SetupOptions {
30
30
  readonly yes: boolean;
31
31
  readonly dryRun: boolean;
32
32
  readonly noNativeHost: boolean;
33
+ /**
34
+ * Opt-out: skip copying the per-neurotype skills into the client's
35
+ * personal-skills directory. Off (skills installed) by default — see
36
+ * `install-all`'s `--no-skills`.
37
+ */
38
+ readonly noSkills: boolean;
33
39
  /**
34
40
  * Opt-in: also register the standalone guardrail daemon at user-login
35
41
  * autostart. Off by default — see the module comment above.
36
42
  */
37
43
  readonly daemon: boolean;
44
+ /**
45
+ * Extra browser-extension ids to allow on the native host (e.g. a
46
+ * locally-loaded unpacked build). Passed through to install-all on top
47
+ * of the published store ids.
48
+ */
49
+ readonly extensionIds?: ReadonlyArray<string>;
38
50
  }
39
51
  export interface SetupDependencies {
40
52
  /** Override the install-all runner. Tests inject a stub. */
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,aAAa,IAAI,oBAAoB,EACrC,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,IAAI,sBAAsB,EACzC,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,sBAAsB,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAuEtB"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,aAAa,IAAI,oBAAoB,EACrC,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,IAAI,sBAAsB,EACzC,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,sBAAsB,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAyEtB"}
@@ -39,6 +39,8 @@ export async function runSetup(options, deps = {}) {
39
39
  yes: options.yes,
40
40
  dryRun: options.dryRun,
41
41
  noNativeHost: options.noNativeHost,
42
+ noSkills: options.noSkills,
43
+ ...(options.extensionIds ? { extensionIds: options.extensionIds } : {}),
42
44
  });
43
45
  messages.push(...installAllResult.messages);
44
46
  // Run the hooks step even when install-all reported a problem: the
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,aAAa,IAAI,oBAAoB,GAGtC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,IAAI,sBAAsB,GAE1C,MAAM,oBAAoB,CAAC;AAiC5B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAqB,EACrB,OAA0B,EAAE;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI,oBAAoB,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,IAAI,sBAAsB,CAAC;IACpE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CACX,mEAAmE,CACpE,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE5C,mEAAmE;IACnE,kEAAkE;IAClE,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,OAAO,CAAC,MAAM;KAC9B,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,QAAQ,GACZ,gBAAgB,CAAC,QAAQ,KAAK,CAAC;QAC7B,CAAC,CAAC,gBAAgB,CAAC,QAAQ;QAC3B,CAAC,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;IAEV,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC,MAAM;YACZ,CAAC,CAAC,yCAAyC;YAC3C,CAAC,CAAC,2CAA2C,CAChD,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CACX,+FAA+F,CAChG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CACX,0FAA0F,CAC3F,CAAC;QACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,gBAAgB;QAC5B,KAAK,EAAE,WAAW;QAClB,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC,eAAO,MAAM,WAAW,QAAsB,CAAC;AAE/C,wBAAgB,YAAY,IAAI,OAAO,CAkmBtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,eAAO,MAAM,WAAW,QAAsB,CAAC;AAE/C,wBAAgB,YAAY,IAAI,OAAO,CA+qBtC"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ import { runHostInstall, runHostUninstall } from "./commands/host.js";
19
19
  import { runInstallHooks } from "./commands/install-hooks.js";
20
20
  import { runGuardrailStatus } from "./commands/guardrail.js";
21
21
  import { runInstallAll } from "./commands/install-all.js";
22
+ import { runInstallSkills } from "./commands/install-skills.js";
22
23
  import { runSetup } from "./commands/setup.js";
23
24
  import { runExamples } from "./commands/examples.js";
24
25
  import { runPluginAdd, runPluginRemove, runPluginList, runPluginEnable, runPluginDisable, runPluginValidate, } from "./commands/plugin.js";
@@ -82,6 +83,10 @@ export function buildProgram() {
82
83
  .option("--yes", "answer yes to all prompts (idempotent re-runs, collisions)", false)
83
84
  .option("--dry-run", "print what would happen without writing anything", false)
84
85
  .option("--no-native-host", "skip registering the optional native-messaging host (browser extension <-> profile.yaml)")
86
+ .option("--no-skills", "skip copying the per-neurotype skills into ~/.claude/skills (Claude Code / Claude Desktop)")
87
+ .option("--extension-id <id>", "extra browser-extension id to allow on the native host, e.g. a " +
88
+ "locally-loaded unpacked build (repeatable; published store ids are " +
89
+ "always included)", (value, prev) => [...prev, value], [])
85
90
  .action(async (opts) => {
86
91
  const client = validateClient(opts.client);
87
92
  const profile = validateProfile(opts.profile);
@@ -94,6 +99,10 @@ export function buildProgram() {
94
99
  yes: opts.yes === true,
95
100
  dryRun: opts.dryRun === true,
96
101
  noNativeHost: opts.nativeHost === false,
102
+ noSkills: opts.skills === false,
103
+ ...(opts.extensionId.length > 0
104
+ ? { extensionIds: opts.extensionId }
105
+ : {}),
97
106
  });
98
107
  for (const m of r.messages)
99
108
  print(m);
@@ -111,8 +120,12 @@ export function buildProgram() {
111
120
  .option("--yes", "answer yes to all prompts (idempotent re-runs, collisions)", false)
112
121
  .option("--dry-run", "print what would happen without writing anything", false)
113
122
  .option("--no-native-host", "skip registering the optional native-messaging host (browser extension <-> profile.yaml)")
123
+ .option("--no-skills", "skip copying the per-neurotype skills into ~/.claude/skills (Claude Code / Claude Desktop)")
114
124
  .option("--daemon", "also register the optional standalone guardrail daemon at user-login " +
115
125
  "autostart (off by default — the Claude Code hook covers the common cases)", false)
126
+ .option("--extension-id <id>", "extra browser-extension id to allow on the native host, e.g. a " +
127
+ "locally-loaded unpacked build (repeatable; published store ids are " +
128
+ "always included)", (value, prev) => [...prev, value], [])
116
129
  .action(async (opts) => {
117
130
  const client = validateClient(opts.client);
118
131
  const profile = validateProfile(opts.profile);
@@ -125,7 +138,29 @@ export function buildProgram() {
125
138
  yes: opts.yes === true,
126
139
  dryRun: opts.dryRun === true,
127
140
  noNativeHost: opts.nativeHost === false,
141
+ noSkills: opts.skills === false,
128
142
  daemon: opts.daemon === true,
143
+ ...(opts.extensionId.length > 0
144
+ ? { extensionIds: opts.extensionId }
145
+ : {}),
146
+ });
147
+ for (const m of r.messages)
148
+ print(m);
149
+ process.exit(r.exitCode);
150
+ });
151
+ program
152
+ .command("install-skills")
153
+ .description("copy the per-neurotype NeuroDock skills into your client's personal " +
154
+ "skills directory (~/.claude/skills for Claude Code / Claude Desktop)")
155
+ .option("--client <id>", "claude-desktop | claude-code | cursor | all", "all")
156
+ .option("--dry-run", "print what would be installed without writing anything", false)
157
+ .option("--yes", "answer yes to all prompts (idempotent re-runs refresh in place)", false)
158
+ .action(async (opts) => {
159
+ const client = validateClient(opts.client);
160
+ const r = await runInstallSkills({
161
+ client,
162
+ dryRun: opts.dryRun === true,
163
+ yes: opts.yes === true,
129
164
  });
130
165
  for (const m of r.messages)
131
166
  print(m);
@@ -230,6 +265,7 @@ export function buildProgram() {
230
265
  .option("--yes", "answer yes to all prompts (idempotent re-runs, collisions)", false)
231
266
  .option("--dry-run", "print what would happen without writing anything", false)
232
267
  .option("--no-native-host", "skip re-registering the optional native-messaging host")
268
+ .option("--no-skills", "skip refreshing the per-neurotype skills in ~/.claude/skills (Claude Code / Claude Desktop)")
233
269
  .action(async (opts) => {
234
270
  const client = validateClient(opts.client);
235
271
  const profile = validateProfile(opts.profile);
@@ -242,6 +278,7 @@ export function buildProgram() {
242
278
  yes: opts.yes === true,
243
279
  dryRun: opts.dryRun === true,
244
280
  noNativeHost: opts.nativeHost === false,
281
+ noSkills: opts.skills === false,
245
282
  });
246
283
  for (const m of r.messages)
247
284
  print(m);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,uDAAuD;AACvD,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;QACxD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,+DAA+D;QAC/D,8BAA8B;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;AAE/C,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,yCAAyC,CAAC;SACtD,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,CAAC;SAC1D,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAEzC,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CACL,eAAe,EACf,6CAA6C,EAC7C,KAAK,CACN;SACA,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,CAAC;SACxD,MAAM,CAAC,WAAW,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACrE,MAAM,CACL,OAAO,EACP,4DAA4D,EAC5D,KAAK,CACN;SACA,MAAM,CACL,KAAK,EAAE,IAKN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAC3B,MAAM;YACN,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CACV,mEAAmE,CACpE;SACA,MAAM,CACL,eAAe,EACf,6CAA6C,EAC7C,KAAK,CACN;SACA,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,CAAC;SACxD,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,CAAC;SACrD,MAAM,CACL,gBAAgB,EAChB,8CAA8C,EAC9C,KAAK,CACN;SACA,MAAM,CACL,OAAO,EACP,4DAA4D,EAC5D,KAAK,CACN;SACA,MAAM,CACL,WAAW,EACX,kDAAkD,EAClD,KAAK,CACN;SACA,MAAM,CACL,kBAAkB,EAClB,0FAA0F,CAC3F;SACA,MAAM,CACL,aAAa,EACb,4FAA4F,CAC7F;SACA,MAAM,CACL,qBAAqB,EACrB,iEAAiE;QAC/D,qEAAqE;QACrE,kBAAkB,EACpB,CAAC,KAAa,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EACnD,EAAc,CACf;SACA,MAAM,CACL,KAAK,EAAE,IAYN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC;YAC5B,MAAM;YACN,OAAO;YACP,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,YAAY,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK;YACvC,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK;YAC/B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,sEAAsE;QACpE,kEAAkE;QAClE,gEAAgE,CACnE;SACA,MAAM,CACL,eAAe,EACf,6CAA6C,EAC7C,KAAK,CACN;SACA,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,CAAC;SACxD,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,CAAC;SACrD,MAAM,CACL,gBAAgB,EAChB,0DAA0D,EAC1D,KAAK,CACN;SACA,MAAM,CACL,OAAO,EACP,4DAA4D,EAC5D,KAAK,CACN;SACA,MAAM,CACL,WAAW,EACX,kDAAkD,EAClD,KAAK,CACN;SACA,MAAM,CACL,kBAAkB,EAClB,0FAA0F,CAC3F;SACA,MAAM,CACL,aAAa,EACb,4FAA4F,CAC7F;SACA,MAAM,CACL,UAAU,EACV,uEAAuE;QACrE,2EAA2E,EAC7E,KAAK,CACN;SACA,MAAM,CACL,qBAAqB,EACrB,iEAAiE;QAC/D,qEAAqE;QACrE,kBAAkB,EACpB,CAAC,KAAa,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EACnD,EAAc,CACf;SACA,MAAM,CACL,KAAK,EAAE,IAaN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC;YACvB,MAAM;YACN,OAAO;YACP,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,YAAY,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK;YACvC,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CACV,sEAAsE;QACpE,sEAAsE,CACzE;SACA,MAAM,CACL,eAAe,EACf,6CAA6C,EAC7C,KAAK,CACN;SACA,MAAM,CACL,WAAW,EACX,wDAAwD,EACxD,KAAK,CACN;SACA,MAAM,CACL,OAAO,EACP,iEAAiE,EACjE,KAAK,CACN;SACA,MAAM,CAAC,KAAK,EAAE,IAAuD,EAAE,EAAE;QACxE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC;YAC/B,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;SACvB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,2EAA2E,CAC5E;SACA,MAAM,CACL,iBAAiB,EACjB,yDAAyD,CAC1D;SACA,MAAM,CAAC,QAAQ,EAAE,8CAA8C,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,IAAwC,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;SACzB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,CAAC,GAAG,MAAM,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAEpC,UAAU;SACP,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,CAAC,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,uCAAuC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,UAAU;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CACL,eAAe,EACf,2DAA2D,CAC5D;SACA,MAAM,CACL,UAAU,EACV,+DAA+D,EAC/D,KAAK,CACN;SACA,MAAM,CAAC,KAAK,EAAE,IAAwC,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CACH,iBAAiB,CAAC,CAAC,YAAY,uCAAuC,CACvE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC,kBAAkB,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,CAAC,UAAU,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7B,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,wFAAwF,CACzF;SACA,MAAM,CACL,eAAe,EACf,6CAA6C,EAC7C,KAAK,CACN;SACA,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,CAAC;SACxD,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,CAAC;SACrD,MAAM,CACL,gBAAgB,EAChB,qDAAqD,EACrD,KAAK,CACN;SACA,MAAM,CACL,OAAO,EACP,4DAA4D,EAC5D,KAAK,CACN;SACA,MAAM,CACL,WAAW,EACX,kDAAkD,EAClD,KAAK,CACN;SACA,MAAM,CACL,kBAAkB,EAClB,wDAAwD,CACzD;SACA,MAAM,CACL,aAAa,EACb,6FAA6F,CAC9F;SACA,MAAM,CACL,KAAK,EAAE,IAUN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;YACxB,MAAM;YACN,OAAO;YACP,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,YAAY,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK;YACvC,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK;SAChC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,gFAAgF,CACjF;SACA,MAAM,CACL,eAAe,EACf,6CAA6C,EAC7C,KAAK,CACN;SACA,MAAM,CAAC,WAAW,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,IAAyC,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CACV,uEAAuE,CACxE;SACA,MAAM,CACL,eAAe,EACf,6CAA6C,EAC7C,KAAK,CACN;SACA,MAAM,CAAC,WAAW,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACrE,MAAM,CACL,OAAO,EACP,gEAAgE,EAChE,KAAK,CACN;SACA,MAAM,CACL,SAAS,EACT,kEAAkE,EAClE,KAAK,CACN;SACA,MAAM,CACL,KAAK,EAAE,IAKN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC;YAC3B,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;SAC3B,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CACV,qEAAqE;QACnE,oEAAoE,CACvE;SACA,MAAM,CACL,WAAW,EACX,uDAAuD,EACvD,KAAK,CACN;SACA,MAAM,CACL,aAAa,EACb,2EAA2E,EAC3E,KAAK,CACN;SACA,MAAM,CACL,aAAa,EACb,sEAAsE,EACtE,KAAK,CACN;SACA,MAAM,CACL,kBAAkB,EAClB,8DAA8D;QAC5D,sEAAsE,EACxE,KAAK,CACN;SACA,MAAM,CACL,KAAK,EAAE,IAKN,EAAE,EAAE;QACH,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;YAClC,aAAa,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI;SAC3C,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEJ,MAAM,YAAY,GAAG,OAAO;SACzB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,yDAAyD,CAAC,CAAC;IAC1E,YAAY;SACT,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,wEAAwE,CACzE;SACA,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,6FAA6F,CAC9F,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,sEAAsE,CACvE;SACA,MAAM,CACL,qBAAqB,EACrB,sDAAsD,EACtD,CAAC,KAAa,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EACnD,EAAc,CACf;SACA,MAAM,CAAC,CAAC,IAA+B,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,KAAK,CAAC,8CAA8C,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,KAAK,CACH,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAC/C,CAAC,CAAC,YACJ,GAAG,MAAM,EAAE,CACZ,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CACV,0EAA0E,CAC3E;SACA,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,KAAK,CAAC,4CAA4C,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,KAAK,CACH,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAC/C,CAAC,CAAC,YACJ,GAAG,MAAM,EAAE,CACZ,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,qEAAqE,CACtE,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CACV,2EAA2E,CAC5E;SACA,MAAM,CAAC,OAAO,EAAE,mDAAmD,EAAE,KAAK,CAAC;SAC3E,MAAM,CACL,WAAW,EACX,kDAAkD,EAClD,KAAK,CACN;SACA,MAAM,CACL,SAAS,EACT,uDAAuD,EACvD,KAAK,CACN;SACA,MAAM,CACL,KAAK,EACH,MAAc,EACd,IAAuD,EACvD,EAAE;QACF,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC;YAC3B,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;SAC3B,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,KAAK,CAAC,WAAW,CAAC;SAClB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,OAAO,EAAE,8BAA8B,EAAE,KAAK,CAAC;SACtD,MAAM,CACL,WAAW,EACX,kDAAkD,EAClD,KAAK,CACN;SACA,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAuC,EAAE,EAAE;QACtE,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC;YAC9B,IAAI;YACJ,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;SAC7B,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,4EAA4E,CAC7E;SACA,MAAM,CAAC,QAAQ,EAAE,+BAA+B,EAAE,KAAK,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CACV,kFAAkF,CACnF;SACA,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CACV,2EAA2E,CAC5E;SACA,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CACV,+FAA+F,CAChG;SACA,MAAM,CAAC,QAAQ,EAAE,+BAA+B,EAAE,KAAK,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAuB,EAAE,EAAE;QACxD,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC;YAChC,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;SACzB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IACE,KAAK,KAAK,KAAK;QACf,KAAK,KAAK,gBAAgB;QAC1B,KAAK,KAAK,aAAa;QACvB,KAAK,KAAK,QAAQ,EAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,CAAc;IACjC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,MAAM,GACV,CAAC,CAAC,MAAM,KAAK,MAAM;QACjB,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACrB,CAAC,CAAC,MAAM;QACV,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;YACnB,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnB,CAAC,CAAC,MAAM;YACV,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,MAAM,CAAC;IACjB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,OAAO,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;IAC7B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAE3C,IAAI,MAAM,EAAE,CAAC;IACX,YAAY,EAAE;SACX,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { ClientId } from "../types.js";
2
+ import { type EnvSnapshot } from "./env.js";
3
+ /** A single bundled skill discovered in the CLI package. */
4
+ export interface BundledSkill {
5
+ /** Source skill directory name, e.g. `adhd-daily-planner`. */
6
+ readonly name: string;
7
+ /** Absolute path to the skill's `SKILL.md`. */
8
+ readonly skillMd: string;
9
+ }
10
+ /**
11
+ * The personal-skills directory Claude Code AND Claude Desktop both read.
12
+ * Returns `null` for clients without a skills system (Cursor).
13
+ */
14
+ export declare function clientSkillsDir(client: ClientId, env?: EnvSnapshot): string | null;
15
+ /**
16
+ * Namespace an installed skill so it is collision-free and recognisably
17
+ * NeuroDock's: `<dir>/neurodock-<name>/`.
18
+ */
19
+ export declare function namespacedSkillDir(skillsDir: string, name: string): string;
20
+ /**
21
+ * Candidate locations for the bundled skills, in precedence order:
22
+ *
23
+ * 1. Published tarball: `dist/assets/skills/` (copy-assets.mjs target).
24
+ * From `dist/commands/install-skills.js` that is `../assets/skills`.
25
+ * 2. Dev/workspace: the monorepo's `packages/skills/` source of truth,
26
+ * so the command works under `tsx`/vitest without a prior build.
27
+ */
28
+ export declare function bundledSkillsCandidates(moduleUrl: string, env?: EnvSnapshot): ReadonlyArray<string>;
29
+ /**
30
+ * Enumerate bundled skills under `sourceDir`. A skill is any direct child
31
+ * directory that contains a readable `SKILL.md`. Returns an empty array if
32
+ * `sourceDir` is missing/unreadable (the caller treats that as a packaging
33
+ * bug).
34
+ *
35
+ * Read-and-catch throughout — no `existsSync`-then-read TOCTOU windows.
36
+ */
37
+ export declare function discoverBundledSkills(sourceDir: string): ReadonlyArray<BundledSkill>;
38
+ /** Read a file's text, or null if absent — avoids a check-then-read race. */
39
+ export declare function readIfExists(filePath: string): string | null;
40
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,UAAU,CAAC;AAErD,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,EAChB,GAAG,GAAE,WAAuB,GAC3B,MAAM,GAAG,IAAI,CAYf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,WAAuB,GAC3B,aAAa,CAAC,MAAM,CAAC,CAavB;AAKD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAChB,aAAa,CAAC,YAAY,CAAC,CAiB7B;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa5D"}
@@ -0,0 +1,115 @@
1
+ /*
2
+ * SPDX-License-Identifier: AGPL-3.0-or-later
3
+ * Copyright (c) 2026 NeuroDock contributors.
4
+ */
5
+ /**
6
+ * Skills-delivery helpers for `neurodock install-skills`.
7
+ *
8
+ * Two concerns live here, kept separate from the command body so they can
9
+ * be unit-tested and reused:
10
+ *
11
+ * 1. Locating the *bundled* skills inside the @neurodock/cli package
12
+ * (shipped to `dist/assets/skills/<name>/SKILL.md` by
13
+ * `scripts/copy-assets.mjs`, with dev/workspace fall-backs).
14
+ * 2. Resolving each MCP client's *personal skills directory* on disk.
15
+ *
16
+ * The personal-skills directory is the same for Claude Code and Claude
17
+ * Desktop — both read `~/.claude/skills/<name>/SKILL.md`. Cursor has no
18
+ * skills system, so it has no target (the caller skips it).
19
+ */
20
+ import { readdirSync, readFileSync } from "node:fs";
21
+ import { dirname, join, resolve } from "node:path";
22
+ import { fileURLToPath } from "node:url";
23
+ import { readEnv } from "./env.js";
24
+ /**
25
+ * The personal-skills directory Claude Code AND Claude Desktop both read.
26
+ * Returns `null` for clients without a skills system (Cursor).
27
+ */
28
+ export function clientSkillsDir(client, env = readEnv()) {
29
+ switch (client) {
30
+ case "claude-code":
31
+ case "claude-desktop":
32
+ // Both desktop and code discover *personal* skills from ~/.claude/skills.
33
+ return join(env.home, ".claude", "skills");
34
+ case "cursor":
35
+ // Cursor has no skills system today.
36
+ return null;
37
+ default:
38
+ return null;
39
+ }
40
+ }
41
+ /**
42
+ * Namespace an installed skill so it is collision-free and recognisably
43
+ * NeuroDock's: `<dir>/neurodock-<name>/`.
44
+ */
45
+ export function namespacedSkillDir(skillsDir, name) {
46
+ return join(skillsDir, `neurodock-${name}`);
47
+ }
48
+ /**
49
+ * Candidate locations for the bundled skills, in precedence order:
50
+ *
51
+ * 1. Published tarball: `dist/assets/skills/` (copy-assets.mjs target).
52
+ * From `dist/commands/install-skills.js` that is `../assets/skills`.
53
+ * 2. Dev/workspace: the monorepo's `packages/skills/` source of truth,
54
+ * so the command works under `tsx`/vitest without a prior build.
55
+ */
56
+ export function bundledSkillsCandidates(moduleUrl, env = readEnv()) {
57
+ // `here` is the calling module's dir: src/commands (tsx/vitest) or
58
+ // dist/commands (published). The candidates below cover both.
59
+ const here = dirname(fileURLToPath(moduleUrl));
60
+ return [
61
+ // Published tarball: dist/commands -> dist/assets/skills.
62
+ resolve(here, "..", "assets", "skills"),
63
+ // Monorepo dev: dist|src/commands -> packages/skills (up three levels).
64
+ resolve(here, "..", "..", "..", "skills"),
65
+ // Monorepo dev, one level deeper (defensive against nested build output).
66
+ resolve(here, "..", "..", "..", "..", "skills"),
67
+ join(env.cwd, "packages", "skills"),
68
+ ];
69
+ }
70
+ /** Names of files that must never ship as part of an installed skill. */
71
+ const EXCLUDED_TOP_LEVEL_FILES = new Set(["README.md", "CHANGELOG.md"]);
72
+ /**
73
+ * Enumerate bundled skills under `sourceDir`. A skill is any direct child
74
+ * directory that contains a readable `SKILL.md`. Returns an empty array if
75
+ * `sourceDir` is missing/unreadable (the caller treats that as a packaging
76
+ * bug).
77
+ *
78
+ * Read-and-catch throughout — no `existsSync`-then-read TOCTOU windows.
79
+ */
80
+ export function discoverBundledSkills(sourceDir) {
81
+ let entries;
82
+ try {
83
+ entries = readdirSync(sourceDir, { withFileTypes: true });
84
+ }
85
+ catch {
86
+ return [];
87
+ }
88
+ const skills = [];
89
+ for (const entry of entries) {
90
+ if (!entry.isDirectory())
91
+ continue;
92
+ if (EXCLUDED_TOP_LEVEL_FILES.has(entry.name))
93
+ continue;
94
+ const skillMd = join(sourceDir, entry.name, "SKILL.md");
95
+ if (readIfExists(skillMd) === null)
96
+ continue;
97
+ skills.push({ name: entry.name, skillMd });
98
+ }
99
+ return skills.sort((a, b) => a.name.localeCompare(b.name));
100
+ }
101
+ /** Read a file's text, or null if absent — avoids a check-then-read race. */
102
+ export function readIfExists(filePath) {
103
+ try {
104
+ return readFileSync(filePath, "utf8");
105
+ }
106
+ catch (err) {
107
+ if (typeof err === "object" &&
108
+ err !== null &&
109
+ err.code === "ENOENT") {
110
+ return null;
111
+ }
112
+ throw err;
113
+ }
114
+ }
115
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAoB,OAAO,EAAE,MAAM,UAAU,CAAC;AAUrD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAgB,EAChB,MAAmB,OAAO,EAAE;IAE5B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,gBAAgB;YACnB,0EAA0E;YAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACX,qCAAqC;YACrC,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IAChE,OAAO,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,MAAmB,OAAO,EAAE;IAE5B,mEAAmE;IACnE,8DAA8D;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,OAAO;QACL,0DAA0D;QAC1D,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACvC,wEAAwE;QACxE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;QACzC,0EAA0E;QAC1E,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAExE;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB;IAEjB,IAAI,OAAoE,CAAC;IACzE,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI;YAAE,SAAS;QAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IACE,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG,KAAK,IAAI;YACX,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAChD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodock/cli",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "NeuroDock installer and diagnostic CLI — wires the MCP servers, manages plugins, and validates your profile.",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "CHANGELOG.md"
42
42
  ],
43
43
  "dependencies": {
44
- "@neurodock/native-host": "^0.1.0",
44
+ "@neurodock/native-host": "^0.2.1",
45
45
  "ajv": "^8.17.1",
46
46
  "ajv-formats": "^3.0.1",
47
47
  "chalk": "^5.3.0",
@@ -50,7 +50,7 @@
50
50
  "yaml": "^2.6.1"
51
51
  },
52
52
  "devDependencies": {
53
- "@types/node": "^22.19.20",
53
+ "@types/node": "^22.19.21",
54
54
  "@types/prompts": "^2.4.9",
55
55
  "rimraf": "^6.0.1",
56
56
  "tsx": "^4.22.4",