Thanks for improving dsh-usage-chart.
- Use Node.js 20 or newer and install dependencies with
npm ci; the release workflow uses Node.js 24. The committed npm lockfile is the CI/release source of truth. Do not introduce a second package-manager lockfile unless the workflow is deliberately migrated. - Keep Host-only code in
src/index.tsand browser code insrc/client/. - Add or update tests for behavior changes.
- Run
npm run verifyandnpm pack --dry-runbefore opening a pull request. - Update both changelogs and READMEs for user-visible changes; keep architecture/roadmap notes current when contracts change. Leave the release entry pending until publication, then record its actual date.
Pull requests should be focused and should not include generated lib/, local profiles, API keys, logs, or screenshots containing account information.
For UI changes, run the visual probe scripts against a running DSH Web before opening a PR:
node scripts/verify-render.mjs (plus shot.mjs, probe-panel.mjs, probe-popover.mjs).
They resolve Chrome, target URL, session, and screenshot output through DSH_PROBE_*
environment variables — see the README's development section for the table.
This plugin supports DSH 0.1.x and 0.2.x Host/Client bundle conventions; its peer ranges cover both. @deepseek-ai/dsh-client-runtime was retired in DSH 0.2.0 — do not reintroduce imports, build externals, or peer entries for it. Changes to injected services, slots, module-loader externals, or cordis.patch.yml must include clean Web-profile installation evidence for each supported DSH line. Record the exact runtime/plugin versions, installation source, and result separately. Unit/shape tests or a linked-build browser probe do not certify clean-profile installation; explicitly document any untested line.
Before a release, check package.json against the lockfile root (including peer metadata), run npm run verify, and inspect npm pack --dry-run for the exported runtime/type files and README screenshots. Tag the final verified commit, not an earlier merge commit.