# Handoff to the publishing AI

You are receiving a complete standalone DSH plugin repository. Treat the current directory as the npm package root.

## Required outcome

Publish this package as a public npm DSH bundle and publish the same directory as a public GitHub repository tagged `dsh-plugin`.

## Do not do these things

- Do not install the package from a GitHub tarball as the normal release path.
- Do not move `package.json` into another directory.
- Do not remove `cordis.patch.yml`, `lib/client.js`, or the `dsh.client` manifest block.
- Do not publish the parent `deepseek-harness` monorepo as this plugin.

## Checklist

1. Select the final npm package name and GitHub repository URL.
2. Run `node scripts/rename-package.mjs <name> <repository-url>` if the default name is not wanted.
3. Review the DSH peer dependency ranges against the target DSH release.
4. Run `node scripts/verify-distribution.mjs`.
5. Run `npm pack --dry-run` and inspect the tarball file list.
6. Run `npm publish --access public`.
7. Push this directory to the GitHub repository and add the `dsh-plugin` topic.
8. Install the published version into a disposable Web profile and run `dsh --dump-config` or `dsh web`.
9. Confirm **Settings → Plugins → Plugin manager** loads and market results prefer npm packages.

For GitHub-only distribution, create semver Release tags such as `v0.1.2`. The Host checks those Releases for source dependencies, including pinned commit installs; without a semver Release, only unpinned GitHub sources can use the repository-head fallback.

For the restart smoke test, publish the matching `lib/index.js` and `lib/client.js` together. A native Web restart can close the triggering HTTP request; the updated client treats a Web-only `Failed to fetch` as the expected process replacement and reports that the runtime is reconnecting.

The `lib/` artifacts are intentionally prebuilt and are the release source of truth for this handoff. Do not force a rebuild from the Harness monorepo during publication unless you are deliberately preparing a new artifact release.
