docs(LINCHPIN-5254): Correct the release tooling described in CLAUDE.md - #12
Merged
Conversation
CLAUDE.md claimed this repo "has no commitlint, husky, release-please, or Renovate — it's a plain npm package published by hand". Only the commitlint and husky half was true. Actually present: release-please (release-please.yml, release-please-config.json, .release-please-manifest.json) which has cut #6, #9 and #11; Renovate, which has opened #3, #4, #7 and #8; and an npm publish job authenticating via Trusted Publishing over OIDC rather than a stored token. The same section also told maintainers to run npm version and npm publish from main, which would fight release-please and bypass Trusted Publishing entirely. An agent reading this would hand-edit package.json and CHANGELOG.md, which is exactly what commit-and-release forbids, and would not know the PR title is CI-enforced. That gate matters because squash merges turn the PR title into the commit message release-please parses, so a malformed title corrupts the changelog rather than failing loudly. Also notes that README.md is a release-please extra-files version target, so its x-release-please markers are not to be touched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes LINCHPIN-5254.
Problem
CLAUDE.mdsaid:Only the commitlint/husky half is true. Verified against the repo:
.husky/release-please.yml,release-please-config.json,.release-please-manifest.json; cut #6, #9, #11renovate.json; opened #3, #4, #7, #8The same section also told maintainers to run
npm version patch \|\| minor \|\| major && npm publishfrommain, which would fight release-please and bypass Trusted Publishing.Why it matters
An agent trusting that paragraph would hand-edit
package.jsonandCHANGELOG.md— precisely whatcommit-and-releaseforbids — and wouldn't know the PR title is CI-enforced. That gate is load-bearing: squash merges make the PR title the commit message release-please parses, so a malformed title corruptsCHANGELOG.mdinstead of failing loudly.I hit this while shipping #10 — reading the workflows rather than the doc is how I knew
NO-TASKwas an accepted scope and thatfeatmaps to "Features ✨".Change
Docs only. Rewrites both passages to describe the real setup, points at
commit-and-releaserather than restating its rules (one owner per concern), and notes thatREADME.mdis a release-pleaseextra-filestarget so its version markers stay untouched.Verify
npm run validate→ 22 skills, 0 errors, 0 warnings.🤖 Generated with Claude Code