@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.
- package/CHANGELOG.md +43 -0
- package/README.md +45 -11
- package/dist/assets/hooks/proactive_guardrail.py +11 -23
- package/dist/assets/schemas/neurotype-addenda.schema.json +167 -0
- package/dist/assets/schemas/profile.example.yaml +9 -0
- package/dist/assets/schemas/profile.schema.json +116 -0
- package/dist/assets/skills/adhd-daily-planner/SKILL.md +131 -0
- package/dist/assets/skills/asd-meeting-translator/SKILL.md +177 -0
- package/dist/assets/skills/audhd-context-recovery/SKILL.md +93 -0
- package/dist/assets/skills/dyspraxia-task-pacer/SKILL.md +174 -0
- package/dist/assets/skills/hyperfocus-formatter/SKILL.md +89 -0
- package/dist/assets/skills/ocd-decision-finalizer/SKILL.md +109 -0
- package/dist/assets/skills/visual-organizer/SKILL.md +94 -0
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +4 -6
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/install-all.d.ts +27 -0
- package/dist/commands/install-all.d.ts.map +1 -1
- package/dist/commands/install-all.js +53 -1
- package/dist/commands/install-all.js.map +1 -1
- package/dist/commands/install-skills.d.ts +26 -0
- package/dist/commands/install-skills.d.ts.map +1 -0
- package/dist/commands/install-skills.js +164 -0
- package/dist/commands/install-skills.js.map +1 -0
- package/dist/commands/setup.d.ts +12 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +2 -0
- package/dist/commands/setup.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/skills.d.ts +40 -0
- package/dist/lib/skills.d.ts.map +1 -0
- package/dist/lib/skills.js +115 -0
- package/dist/lib/skills.js.map +1 -0
- 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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"}
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
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":"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"}
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neurodock/cli",
|
|
3
|
-
"version": "0.
|
|
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
|
|
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.
|
|
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",
|