Skip to content

Releases: zoahdev/dsh-plugin-doctor

dsh-plugin-doctor v1.14.0 — profile-deps + native-modules (#2081)

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 17:16

dsh-plugin-doctor v1.14.0

Two new --profile tripwires for the installation-reliability class reported in
discussion #2081:

  • profile-deps — detects a pruned runtime @deepseek-ai scope (a bare
    npm install inside $DSH_HOME/profiles/node_modules prunes the whole tree
    and dsh web then fails with ERR_MODULE_NOT_FOUND).
  • native-modules — flags missing koffi/node-pty (npm 11 defaults
    allow-scripts=false, so native builds are silently skipped).

Verified: 45/45 tests, pnpm typecheck clean, and both checks run against a
real ~/.dsh/profiles/web profile (195-entry runtime scope, koffi + node-pty
present → PASS).

安装 / Install:

dsh plugin --profile web add ./dsh-plugin-doctor-1.14.0.tgz

Full troubleshooting guidance (npm 11 allow-scripts, Node >= 22.19, never
npm-install inside a profile dir): https://github.com/zoahdev/dsh-docs/blob/main/docs/troubleshooting.md

dsh-plugin-doctor v1.13.0 - dsh env explain

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 13:59

dsh-plugin-doctor v1.13.0

New command: dsh env explain (secret-safe environment provenance, discussion #1953)

  • Explains which layer won for one env key: launch environment > project .env > user .env.
  • Empty values never mask lower layers (#981 semantics) - the skip is recorded.
  • The raw value never appears anywhere: �alue is the constant [redacted]; tests assert the real value string is absent from the serialized report.
  • JSON envelope per the #1953 contract: key / resolved / source / layers / value.
  • States: absent / empty / selected / lower-precedence / non-regular-path / unreadable (rejected-protected reserved for harness-internal rules).

Usage:
npx dsh-plugin-doctor env explain DEEPSEEK_API_KEY
npx dsh-plugin-doctor env explain MY_KEY --json

Tests: 40/40 + dsh-doctor/v1 contract check green.

dsh-plugin-doctor v1.12.0 - entry-points check

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 13:59

dsh-plugin-doctor v1.12.0

New profile check: entry-points

  • Scans every installed plugin's main/exports targets and FAILs when a build artifact is missing (source-copy marketplace install without build crashes dsh web at boot - discussion #1965).
  • Covers unscoped/scoped packages, string exports, and exports["."] maps.
  • Usage:
    px dsh-plugin-doctor --profile ~/.dsh/profiles/web

Tests: 35/35 + dsh-doctor/v1 contract check green.

dsh-plugin-doctor v1.11.0 — shell-launcher risk check

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 12:22

New shell-launcher preflight check (heuristic): warns when child_process usage invokes explorer/start/open/powershell/cmd surfaces that can bypass approval and workspace limits (discussions #1923/#1863). 31/31 tests; doctor self-check exit 0.

dsh-plugin-doctor v1.10.2 — fix SQL exec false positive

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 12:19

pre-execute-side-effects lint no longer flags bare exec( calls (node:sqlite DatabaseSync.exec and DSL methods are SQL, not shell) — the dsh-mneme false-positive class (#1928). New regression test; 28/28 tests; doctor self-check exit 0.

dsh-plugin-doctor v1.10.1

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 11:23

Fixes pre-execute-side-effects self-false-positives: only real listener registrations count (quoted event names / method calls), tests dirs are skipped, and the regex no longer matches its own source. 27/27 tests; doctor now passes its own check (exit 0).

dsh-plugin-doctor v1.10.0

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 09:59

New large-files profile check: warns when profile files exceed 100 MB (session logs can hit the ~512 MB JSON.stringify cap, discussion #1859). Skips dependency trees; 25/25 tests pass.

dsh-plugin-doctor v1.9.0

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 09:57

New pre-execute-side-effects lint (heuristic): flags pre-execute listeners that call host-level side-effect APIs (child_process/fs writes/network) before returning ask — the #1863 class. Runs in the default pipeline; 22/22 tests pass (serialized to avoid pnpm contention).

dsh-plugin-doctor v1.8.0

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 09:47

New win-bash environment check: verifies the default /bin/bash used by the minimal preset can resolve on Windows (PATH/Git for Windows/WSL), with an actionable message pointing at discussion #1856. 19/19 tests pass.

dsh-plugin-doctor v1.7.0

Choose a tag to compare

@zoahdev zoahdev released this 15 Aug 09:36

Adds the check subcommand — an alias of the pre-publish pipeline matching the proposed \dsh plugin check\ surface from RFC #1846. 16/16 tests pass.