# Releasing to the dsh-plugin community This repository is packaged for the DeepSeek Harness community convention: a public GitHub repository with the `dsh-plugin` topic and a directly installable DSH package. ## Before the first public release 1. Confirm redistribution rights for every file in `native/assets/presets/`. Remove or replace any asset whose provenance is unclear. 2. Confirm the GitHub owner in both READMEs is current. 3. Confirm the `repository`, `homepage`, and `bugs` URLs in `package.json` are current. 4. Build and test from the intended Harness revision listed in `COMPATIBILITY.md`. 5. On macOS, sign and notarize the helper before describing the release as suitable for general users. The Alpha may remain unsigned only if that limitation is prominent. 6. Run `node scripts/verify-release.mjs`. 7. Run `pnpm pack --dry-run` and inspect the complete file list for secrets, local paths, and missing runtime files. 8. Install the resulting archive with a fresh `DSH_HOME`, confirm the plugin appears, exercise one preset and one custom-pet flow, then uninstall it. ## GitHub repository setup 1. Create a public repository named `dsh-nailong-desktop-pet`. 2. Push this directory as the repository root. 3. Add the repository topic `dsh-plugin`. Optional additional topics: `deepseek-harness`, `desktop-pet`, `macos`. 4. Keep the default branch buildable and do not commit local Harness configuration, uploaded characters, signing credentials, or private certificates. 5. Create an immutable version tag from the exact tested commit. ## Release assets For Alpha 2, create a GitHub prerelease named `v0.1.0-alpha.2` and attach: - `dsh-desktop-pet-0.1.0-alpha.2.tgz` - `SHA256SUMS` The release notes should include compatibility, macOS signing status, known limitations, installation and rollback commands, and a warning that this is an unofficial Alpha. Pinned install command after publication: ```sh dsh plugin --profile web add github:2002yxy/dsh-nailong-desktop-pet#v0.1.0-alpha.2 ``` Rollback/removal command: ```sh dsh plugin --profile web remove dsh-desktop-pet ``` ## Later versions For each iteration, update `CHANGELOG.md`, bump `package.json`, rebuild all precompiled runtime artifacts, repeat the clean-profile test, create a new immutable tag, and publish a new prerelease or release. Never move an existing tag after users may have installed it.