Contributing

August 25, 2026 · View on GitHub

Thanks for your interest in dsh-github-sidebar! This is a small DSH client plugin; issues, fixes and feature requests are welcome.

Development setup

pnpm install
pnpm run bundle     # build lib/client.js
pnpm run watch      # rebuild on change

The plugin has two halves:

  • src/index.ts — the host half: a minimal profile bundle plugin (activation row + Config schema). No runtime behaviour.
  • src/client/ — the browser half: registers GitHubSidebar into the DSH details slot, fetches GitHub data, and keeps the details column open. Built to lib/client.js.

After changing src/client, regenerate lib/client.js (it is committed so GitHub installs work without a build step).

Publishing

  1. Update the repository URL in package.json (repository, homepage, bugs) to your real GitHub repo.
  2. Bump the version: npm version patch (or minor / major).
  3. GitHub: create the repository, push, and add topics on the repo's Topics page: dsh-plugin, deepseek-harness, dsh.
  4. npm (so users can dsh plugin add dsh-github-sidebar):
    npm login
    npm publish
    
    prepublishOnly runs pnpm run build automatically, so lib/client.js is always fresh in the published tarball.
  5. Tag the release on GitHub (v0.1.0, …) so the community can find stable versions.

Guidelines

  • Keep the bundle self-contained: no value imports from other @deepseek-ai/* packages (the client bundle externalizes only the DSH platform modules; cross-plugin collaboration goes through cordis services).
  • Type-only imports are fine (they are erased before bundling).
  • Regenerate lib/client.js in the same PR as any src/client change.