🤖 fix: publish npm package as @coder/shux - #3897
Conversation
Move the canonical npm package to the Coder scope while retaining the mux forwarding package and CLI alias. --- _Generated with `mux` • Model: `openai:gpt-5.6-sol` • Thinking: `xhigh` • Cost: `$11.36`_ <!-- mux-attribution: model=openai:gpt-5.6-sol thinking=xhigh costs=11.36 -->
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
@codex review Please review the scoped npm publishing migration and legacy |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ea1ab098ea
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Update the no-install editor configuration and regenerated built-in documentation to invoke @coder/shux. --- _Generated with `mux` • Model: `openai:gpt-5.6-sol` • Thinking: `xhigh` • Cost: `$14.36`_ <!-- mux-attribution: model=openai:gpt-5.6-sol thinking=xhigh costs=14.36 -->
|
@codex review Addressed the ACP no-install example by switching it to |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Publish the canonical CLI package as
@coder/shuxwhile preserving the existingmuxnpm handle as a version-locked forwarding package. The@coder/shuxpackage continues to install bothshuxandmuxbinaries, desktop artifacts remain namedshux-*, and install/automation documentation now uses the scoped package spec.Implementation
@coder/shuxwith public scoped publishingpackages/mux-compatto depend on and execute the matching@coder/shuxversionnpm pack --jsoninstead of assumingshux-*.tgzmuxforwarding packagemake static-checkremains greenOperator actions
Required once before automated npm publishing can succeed:
@coderscope must make an authenticated initial public publish of@coder/shux. Use a non-user-facing bootstrap version/dist-tag (for example,0.0.0-bootstrapwith thebootstraptag) so neitherlatestnornextpoints at a placeholder.@coder/shuxpackage settings on npm, configure the GitHub Actions trusted publisher with:codermuxpublish-npm.ymlnpm publishPublish to NPMworkflow (normallynextfor the first post-merge main build).No operator action is required for the legacy
muxhandle: its existing publish path remains in place and will publish the forwarding package in lockstep. The unrelated unscopedshuxpackage is not used by this change.Validation
make static-checkmake smoke-testbun test src/common/compat/productIdentity.test.ts(8 tests)@coder/shux, both CLI binaries, public access)muxpackage pack/install/execute smoke testRisks
The first automated publish is intentionally gated on the one-time npm bootstrap and trusted-publisher setup above. After that setup, package versions remain locked together, and CI exercises both the canonical tarball and the separately published
muxforwarding package.Generated with
mux• Model:openai:gpt-5.6-sol• Thinking:xhigh• Cost:$11.36