# Contributing Thanks for your interest in `dsh-github-sidebar`! This is a small DSH client plugin; issues, fixes and feature requests are welcome. ## Development setup ```sh 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`): ```sh 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.