Skip to content

chore: drop changesets - #5

Merged
EliRobinson merged 1 commit into
mainfrom
chore/drop-changesets
Sep 5, 2026
Merged

EliRobinson merged 1 commit into
mainfrom
chore/drop-changesets

Conversation

@EliRobinson

Copy link
Copy Markdown
Owner

Every package in this workspace is private: true, never published, and consumed only through workspace:*. Nothing reads the version numbers changesets generates.

Its real output was a per-package CHANGELOG. But a CHANGELOG that only updates when someone remembers to write a changeset is worse than none — it reads as "nothing changed" rather than "nobody recorded it".

The sibling next-template has never had changesets, for the same reason. This brings the two in line.

It was also the only thing keeping release.yml alive

That workflow could not keep working without ongoing maintenance. It opens its version PR as app/github-actions using GITHUB_TOKEN, and GitHub deliberately does not trigger workflows for that actor — a recursion guard. Against the Protect main ruleset's required ci / e2e-web checks, every version PR sits blocked on checks that can never run.

We hit exactly that on #4 and had to close and reopen it by hand to release. Fixing it properly means a PAT stored as a repo secret, rotated like any other credential — real ongoing cost for version numbers nobody consumes.

Removed

  • .changeset/
  • .github/workflows/release.yml
  • @changesets/cli, and the changeset / version-packages scripts
  • the six CHANGELOGs its single run produced

Package versions go back to 0.0.0. With no tool tracking them, a private package sitting at 1.0.0 claims a stability nothing maintains.

Untouched: Conventional Commits, commitlint and Husky. Git history stays the record of what changed, which is where it was actually accurate anyway.

Verified

lint, typecheck, test, test -- --ci --coverage and build all pass; the lockfile carries no @changesets entries.

🤖 Generated with Claude Code

Every package here is private, never published, and consumed only through
`workspace:*`. Nothing reads the version numbers changesets generates, so its
real output was a per-package CHANGELOG — and one that only updates when someone
remembers to write a changeset is worse than none, because it reads as "nothing
changed" rather than "nobody recorded it".

The sibling next-template has never had changesets for the same reason. This
brings the two in line.

It was also the only thing keeping release.yml alive, and that workflow could not
work without ongoing maintenance: it opens its version PR as app/github-actions
using GITHUB_TOKEN, and GitHub deliberately does not trigger workflows for that
actor. Against the "Protect main" ruleset's required checks, every version PR
would sit blocked on checks that can never run, needing a manual close/reopen to
release. Fixing that properly needs a PAT stored as a secret — real ongoing cost
for version numbers nobody consumes.

Removed: .changeset/, release.yml, the @changesets/cli dependency, the changeset
and version-packages scripts, and the six CHANGELOGs its single run produced.
Package versions go back to 0.0.0, since with no tool tracking them a private
package sitting at 1.0.0 claims a stability nothing maintains.

Conventional Commits, commitlint and Husky are untouched — git history stays the
record of what changed.

Verified: lint, typecheck, test (both plain and the CI `-- --ci --coverage`
form) and build all pass, and the lockfile carries no @changesets entries.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@EliRobinson
EliRobinson merged commit f78e33b into main Sep 5, 2026
2 checks passed
@EliRobinson
EliRobinson deleted the chore/drop-changesets branch September 5, 2026 06:05
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