You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(npm): let an unproven package name fail without failing the release
v0.9.0 died on `403 — Package name too similar to existing package cp-cli`.
npm applies a typosquatting similarity check that runs only on a real publish:
`npm view scc-cli` returned 404 and `npm publish --dry-run` passed, and neither
says anything about it. Because the rejected name published first, `set -e`
took `@protonspy/scc` down with it — six platform packages reached the registry
at 0.9.0 with no launcher that resolves them, and no tag was cut.
LAUNCHERS entries now carry `required`, and the tiers are directories so both
publish order and failure policy are visible in the layout: dist/scc-*/, then
dist/launchers/, then dist/launchers-optional/. A required name is already ours
and a failure there is real; an unproven one is attempted last and warns.
The corollary is the load-bearing half: only a required name may appear in
documentation, the embedded entry.md included. Pointing an install line at a
package that might be refused is the same bug somewhere more expensive, so the
docs go back to @protonspy/scc and `spec-claude-code-cli` ships untested and
undocumented. Promote it in the release after the one that proves it publishes.
Template version stays 9 rather than bumping: no v0.9.0 binary is reachable —
the tag and GitHub Release steps were skipped, and no launcher on the registry
resolves the orphaned platform packages — so the v9 that named scc-cli never
shipped to anyone and is corrected in place.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J54qbk8RpC2tZH8LBz6T2b