- name
- release-and-publish
- description
- Publish an approved, verified mcp-reporter release to npm and GitHub using the annotated tag digest.
- metadata
- {"author":"cyanheads","version":"1.0","type":"project-workflow"}
# Release and publish
Requires explicit publishing authorization and a completed `git-wrapup`: synchronized version/changelog, reviewed commits, annotated `v<version>` at HEAD, and no unresolved working-tree changes. Read `CLAUDE.md`. This CLI targets npm and GitHub Releases; no MCP Registry, MCPB, Docker, or hosting steps apply.
## 1. Verify wrapup
Read package version, current branch, origin, tag target, annotation and status. Verify tag signing when configured; a signature block must never be interpreted as release text. An existing tag conflict is a stop, not permission to replace it.
## 2. Run the gates
Run `bun run devcheck`, `bun run rebuild`, `bun run test:package`, and `bun audit`. Inspect output and resolve failures/warnings. Confirm the package allowlist excludes local configs, reports, tests, backups and credentials. Review any transitive advisory by its actual installed dependency path.
## 3. Push the reviewed commits and exact tag
Push the intended branch, then the exact release tag. Do not push unrelated tags. A rejection requires reconciliation, never force-push or stash. A PR route does not authorize merging.
## 4. Publish npm
Run `bun publish --access public`. Verify the name is still `mcp-reporter`. Complete configured interactive authentication when requested by the registry. An already-published version is successful only after querying and verifying that exact package/version; never treat arbitrary publish errors as success.
## 5. Record skipped server destinations
There is no `server.json`, MCP Registry registration, MCPB bundle or container deployment for this client. Do not create placeholder metadata or destinations to satisfy a server workflow.
## 6. Create the GitHub Release
Run `bun run release:github`. It uses the annotated tag and creates the title `v<VERSION>: <tag subject>` with `--verify-tag --notes-from-tag`. The annotation's subject omits the version and its flat digest ends in a per-version changelog link. Existing-release recovery updates the title; inspect the existing body before replacing any published content.
## 7. Reconcile tracked work
After verifying delivery, add concise resolution comments on addressed first-party issues with release/commit links, then close completed issues. Do not close another contributor's issue without authorization. Keep incomplete or blocked work open with accurate scope.
## 8. Report artifacts and partial failures
Return the npm version URL and GitHub Release URL. On a failure, state which destinations succeeded and the exact failing step. Retry transient network errors at most twice with brief backoff; do not retry authentication, integrity or semantic failures blindly.
## 9. Verify reachability
Query the exact npm version and `gh release view v<version> --json url,tagName,name,isDraft`. Check the title and tag against local metadata. Distinguish a blocked verification from evidence that publication failed. Never report a release as complete based only on a push exit code.
GitHubで見る