Skip to content
NeuroDock

CLI

CommandJob
neurodock initDetect installed MCP clients, scaffold the profile, register the five substrate servers.
neurodock install-allOne-command install: detect uv or pip, install the six Python packages, then run init.
neurodock examplesPrint copy-pasteable prompts that exercise every wired NeuroDock MCP tool.
neurodock doctorVerify the install. Profile readable, all servers start, embedding backend reachable.
neurodock validateAjv-driven schema validation against the canonical profile schema.
neurodock updateUpgrade NeuroDock — re-installs the six MCP servers via pip/uv and re-wires clients.
neurodock syncRe-shape stale NeuroDock MCP entries in client configs without upgrading packages.
neurodock uninstallReverse what init did. Preserves data unless --purge.
neurodock host installRegister the optional Chrome Native Messaging host with installed browsers.
neurodock host uninstallRemove the native messaging host manifests / registry pointers.
neurodock profile showPrint the loaded profile with loader defaults applied.
neurodock profile validateValidate ~/.neurodock/profile.yaml against the schema.
neurodock plugin addInstall a plugin from a local directory into ~/.neurodock/plugins/.
neurodock plugin removeRemove an installed plugin.
neurodock plugin listList installed plugins and their enabled state.
neurodock plugin enableActivate an installed plugin (writes the .enabled marker).
neurodock plugin disableDeactivate an installed plugin (removes the .enabled marker; keeps files).
neurodock plugin validateValidate a plugin manifest without installing.
neurodock install-hooksWire the proactive-guardrail hook into Claude Code, optionally autostart the daemon.
Terminal window
npx neurodock init

Detect Claude Desktop, Claude Code, and Cursor; scaffold ~/.neurodock/profile.yaml; register the five substrate MCP servers in each detected client.

FlagDefaultMeaning
--client <id>allRestrict to claude-desktop, claude-code, cursor, or all.
--profile <id>exampleUse example (richer) or minimal (smaller) preset.
--dry-runfalsePrint every file that would be created or modified without touching anything.
--yesfalseAnswer yes to all prompts (idempotent re-runs, collisions).

Exit codes: 0 on success.

Example:

Terminal window
npx neurodock init --client claude-desktop --profile minimal --dry-run
Terminal window
npx neurodock install-all

The one-command first-time install. Detects whether uv is on PATH (preferred) and falls back to python -m pip, installs the six Python MCP servers (neurodock-mcp-chronometric, neurodock-mcp-cognitive-graph, neurodock-mcp-task-fractionator, neurodock-mcp-translation, neurodock-mcp-guardrail, neurodock-evals), verifies each entrypoint with <command> --help, and then runs neurodock init to wire MCP clients. Collapses six pip install lines plus an init into one.

FlagDefaultMeaning
--client <id>allclaude-desktop, claude-code, cursor, or all.
--profile <id>exampleminimal or example.
--installer <id>autouv, pip, or auto.
--skip-installfalseSkip the Python install step; only run init.
--yesfalseAnswer yes to all prompts.
--dry-runfalsePrint what would happen without writing.

Exit codes: 0 on success; 1 if any entrypoint is missing from PATH; 2 if init fails.

Example:

Terminal window
npx neurodock install-all --installer uv --yes
Terminal window
neurodock examples

Print a copy-pasteable prompt cheat-sheet that exercises every wired NeuroDock MCP tool. Detects which servers are wired across all detected client configs and prints 2–3 example prompts per server, each annotated with the underlying tool name. Honours NO_COLOR / FORCE_COLOR.

FlagDefaultMeaning
--server <name>Filter to a single server (e.g. neurodock-chronometric).
--jsonfalsePrint the example data as JSON for scripting.

Exit codes: 0 on success.

Example:

Terminal window
neurodock examples --server neurodock-guardrail
Terminal window
neurodock doctor

Checklist diagnostic. Each line is PASS, FAIL, or SKIP with a short reason.

Checks:

  • Node >= 22.
  • uv available (skip if absent — pip fallback is acceptable).
  • Python available.
  • Profile presence and schema validity.
  • Client config JSON syntax for each detected client.
  • NeuroDock server wiring in each detected client.

Exit codes: 0 if all checks pass; 1 otherwise.

Terminal window
neurodock validate

Ajv-driven schema validation against packages/core/schemas/profile.schema.json. Reports field-path violations with file:line references.

FlagDefaultMeaning
--file <path>resolved profile pathValidate an alternate file.
--strictfalseAlso flag unknown keys (default allows forward-compat extras, per ADR 0004).

Exit codes: 0 if valid; 1 if missing, unparseable, or invalid.

Terminal window
neurodock update

Upgrades NeuroDock to the latest version. Same code path as install-all — re-runs pip install --upgrade (or uv tool install) for every NeuroDock MCP server, re-wires the detected MCP clients, and re-registers the optional native-messaging host. This is the verb users look for when they want a version bump.

FlagDefaultMeaning
--client <id>allclaude-desktop, claude-code, cursor, or all.
--profile <id>exampleminimal or example.
--installer <id>autouv, pip, or auto.
--skip-installfalseSkip the Python upgrade step (only re-wire clients).
--yesfalseAnswer yes to all prompts.
--dry-runfalsePrint what would happen without writing.
--no-native-hostn/aSkip re-registering the optional native-messaging host.

Exit codes: 0 ok; 1 an entrypoint is missing from PATH after install; 2 init failed.

Before 0.5.0, neurodock update only re-shaped client configs (without upgrading packages). That behaviour moved to neurodock sync.

Terminal window
neurodock sync

Re-shape stale NeuroDock MCP entries in existing client configs (version drift, command/args/cwd changes) without upgrading any packages. Non-NeuroDock entries and unrelated top-level keys round-trip untouched. Useful when the desired wiring shape changed but you don’t need a package upgrade.

FlagDefaultMeaning
--client <id>allclaude-desktop, claude-code, cursor, or all.
--dry-runfalsePrint the diff without writing anything.

Exit codes: 0 on success.

Terminal window
neurodock uninstall

Reverses what init did. Removes NeuroDock MCP entries from each client config while preserving customisations. Asks (interactively) whether to delete ~/.neurodock/profile.yaml and ~/.neurodock/cognitive-graph.sqlite; defaults to no.

FlagDefaultMeaning
--client <id>allclaude-desktop, claude-code, cursor, or all.
--dry-runfalsePrint the diff without writing.
--yesfalseSkip interactive prompts (still preserves data unless --purge).
--purgefalseAlso delete ~/.neurodock/profile.yaml and cognitive-graph.sqlite.

Exit codes: 0 on success.

Terminal window
neurodock host install

Register the optional NeuroDock native messaging host (com.neurodock.profile) with installed browsers so the browser extension can read and write ~/.neurodock/profile.yaml directly. Per-platform manifest dispatch lives in @neurodock/native-host.

FlagDefaultMeaning
--extension-id <id>Browser extension id allowed to connect. Repeatable.

Exit codes: 0 on success.

Terminal window
neurodock host uninstall

Remove the native messaging host manifests and (on Windows) the registry pointers. No flags.

Exit codes: 0 on success.

Terminal window
neurodock profile show

Print the loaded profile with loader-applied defaults filled in. Useful for confirming what the substrate actually reads, since defaults are not written into the file on disk.

Exit codes: 0 on success; 1 if no profile is found at the resolved path.

Terminal window
neurodock profile validate

Validate ~/.neurodock/profile.yaml against the canonical schema. Returns the same checks as the top-level validate command but scoped to the resolved profile path with no file/strict flags.

Exit codes: 0 if valid; 1 if missing or invalid.

Terminal window
neurodock plugin add <source>

Install a plugin from a local directory into ~/.neurodock/plugins/<name>/. The <source> is a path to a directory containing a valid plugin.yaml. See ADR 0007 for the plugin contract.

FlagDefaultMeaning
--yesfalseSkip the overwrite prompt; refuse without --force.
--dry-runfalsePrint what would happen without writing anything.
--forcefalseOverwrite an existing install of the same plugin name.

Exit codes: 0 on success; non-zero when the source is missing, the manifest fails validation, or the target exists without --force.

Terminal window
neurodock plugin remove <name>

Remove an installed plugin from ~/.neurodock/plugins/. Aliased as neurodock plugin uninstall.

FlagDefaultMeaning
--yesfalseSkip the confirmation prompt.
--dry-runfalsePrint what would happen without writing anything.

Exit codes: 0 on success.

Terminal window
neurodock plugin list

List plugins installed under ~/.neurodock/plugins/ and their enabled state.

FlagDefaultMeaning
--jsonfalsePrint machine-readable output.

Exit codes: 0.

Terminal window
neurodock plugin enable <name>

Activate an installed plugin. Writes a .enabled marker file the substrate reads at startup. No flags.

Exit codes: 0 on success; non-zero if the plugin is not installed.

Terminal window
neurodock plugin disable <name>

Deactivate an installed plugin (removes the .enabled marker; keeps the files in place so re-enabling is one command). No flags.

Exit codes: 0 on success; non-zero if the plugin is not installed.

Terminal window
neurodock plugin validate <source>

Validate a plugin manifest without installing. Checks plugin.yaml against plugin.schema.json and reports field-path violations.

FlagDefaultMeaning
--jsonfalsePrint machine-readable output.

Exit codes: 0 if valid; non-zero otherwise.

FlagMeaning
-v, --versionPrint the CLI version (0.6.2).
-h, --helpShow help for the program or a subcommand.
VariableEffect
NEURODOCK_PROFILE_PATHOverride the default profile location.
NO_COLOR / FORCE_COLORDisable or force ANSI colour output.
CodeMeaning
0Success.
1User-actionable failure (bad input, missing profile, validation error, missing entrypoint on PATH).
2Init failure during install-all (Python packages installed but client wiring failed).
Terminal window
neurodock install-hooks --self-test
neurodock install-hooks --install-daemon --self-test
neurodock install-hooks --uninstall
neurodock install-hooks --dry-run

Wires the proactive-guardrail hook into Claude Code’s hook system so chronometric + rumination + sycophancy checks fire automatically on every Nth tool call, without the user having to invoke them.

Flags

FlagEffect
--dry-runPrint what would happen without writing ~/.claude/settings.json. Echoes the exact hook command so you can spot path-escape bugs before they bite.
--self-testAfter install, run the script’s self-test to verify Python is on PATH and heuristics fire.
--install-daemonAlso register the standalone Phase 3 daemon at user-login autostart (HKCU Run / LaunchAgent / systemd --user).
--uninstallRemove NeuroDock hook entries from settings.json and the daemon autostart entry. Leaves the script files in ~/.neurodock/hooks/.

What it writes

  • ~/.neurodock/hooks/proactive_guardrail.py — Phase 1 hook (stdlib only, no pip install required).
  • ~/.neurodock/hooks/neurodock_daemon.py — Phase 3 daemon (same).
  • 4 entries in ~/.claude/settings.json under hooks: SessionStart, PreToolUse, PostToolUse, Stop.
  • Optionally: per-OS autostart entry for the daemon.

Opt-out

Terminal window
export NEURODOCK_GUARDRAILS=off # disables hook + daemon without removing them
neurodock install-hooks --uninstall # removes them entirely

See Proactive guardrails for the full design + opt-out matrix.