Skip to content

docs: rewrite publishing-guide.md against the actual 0.20.0 release process#11

Open
TjWheeler wants to merge 1 commit into
mainfrom
docs/publishing-guide-rewrite
Open

docs: rewrite publishing-guide.md against the actual 0.20.0 release process#11
TjWheeler wants to merge 1 commit into
mainfrom
docs/publishing-guide-rewrite

Conversation

@TjWheeler

Copy link
Copy Markdown
Owner

Captures the hard-won lessons from the 0.20.0 release cycle that the previous guide was missing.

What changed

New sections:

  • Branch model — explicit on main (default), development (integration), master (abandoned).
  • Hard rules — promoted from a callout to a discoverable section. Codifies:
    • No workspace-internal peerDependencies (the 1.0.0 escalation trigger)
    • Every new published package must be added to the fixed group
    • Changeset bodies are release notes, not PR descriptions
  • Pre-flight checklistnpm whoami, check for Dependabot PRs, audit changeset bodies for staleness, install + typecheck + test.
  • Step 3: Preview the version plan (pnpm changeset status --verbose) — the safety net we wished we had before running version blind. Shows what bumps will happen without applying them, with a stop-immediately list if the plan is wrong.
  • Troubleshooting — covers 0.x → 1.0.0 jump, missing fixed-group entry, stale changeset body, Dependabot lockfile conflict, rollback procedure.

Restructured:

  • Version bump now described as branch-and-PR (chore/version-packages-X.Y.Z), not a direct commit on main. Matches the auto-mode classifier guard and matches what we actually did for 0.20.0.
  • MFA expectations made concrete: 6 OTPs in succession, dependency order listed.

Corrected:

  • Workspace References table no longer claims peerDependencies is the convention for workspace-internal links — that pattern was removed in the peer-dep fix PR.
  • dependencies row updated to workspace:^ → caret range.
  • The "why no GitHub Action" note now explains the real root cause (peer-dep escalation) instead of the wrong "pre-1.0 minor as major" theory I previously wrote.

Why this matters

The previous doc was technically accurate where it touched, but every gap was load-bearing: skipping changeset status meant the 1.0.0 escalation only showed up after the working tree was damaged; missing Dependabot guidance meant a lockfile conflict surfaced mid-release; the buried peer-dep callout meant nobody noticed it until the action had been throwing 1.0.0 PRs for a while. Each gap cost us recovery time.

This rewrite is structured so a future release can be driven straight from the doc, top to bottom, without diagnosis loops.

The previous version was missing the hard-won lessons from the last
release cycle:
- No coverage of the main vs master branch model
- No pre-flight checklist (npm whoami, Dependabot, changeset audit)
- No mention of pnpm changeset status --verbose as the pre-apply
  safety net that catches version-plan problems before they damage
  the working tree
- Version bump described as a direct commit on main; should be on
  a branch and PR'd
- Workspace References table claimed peerDependencies use
  workspace:^ for in-repo packages, but those have been removed
- No troubleshooting section for the most common failure modes
  (1.0.0 escalation, missing fixed-group entry, stale changeset
  body, lockfile conflict with Dependabot)
- The peer-dep rule was buried in a callout instead of being
  promoted to a discoverable Hard rules section
- MFA expectations underspecified

This rewrite captures the actual process used for 0.20.0:
pre-flight → changeset → land work via PR → preview version plan
→ apply on a branch → PR the bump → publish from main → verify.
Hard rules section codifies the constraints that prevent the
0.x to 1.0.0 escalation from returning.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant