Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Use it instead of `npm link` (a symlinked React library breaks with duplicate-Re
## Gotchas

- Every user-visible change needs a changeset (`npx changeset`) in the same PR, or it ships with no release note. `patch` is for bug fixes only; new API surface is `minor`.
- Releasing (maintainers only): `npm run publish` from the root, on a clean `master`. It builds and tests, applies the pending changesets, publishes to npm, then tags, pushes, and opens the GitHub releases. An interrupted release is resumed by re-running it, never undone. See `bin/publish.mjs`.
- Releasing (maintainers only): `npm run publish` from the root, on a clean `master`. It builds and tests, applies the pending changesets, publishes to npm, then tags, pushes, and opens the GitHub releases. An interrupted release is resumed by re-running it, never undone. See `toolchain/publish.mjs`.
- One `name@X.Y.Z` tag and one GitHub release **per package**. `changeset publish` does the publishing and the tagging itself, in that order and only for the packages npm accepted, so a tag can't outlive a failed publish. What is being released comes from `changeset publish-plan --output`, not from anything the script reconstructs. Each release's body is that package's own `CHANGELOG.md` section — when a package moved only because the other one did, that section is just its dependency bump, which is the honest thing to show. Releases up to v2.2.7 used a single `vX.Y.Z` tag instead; those tags stay where they are.

## More detail
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
"build": "turbo run build",
"lint": "biome ci packages",
"changeset": "changeset",
"publish": "node bin/publish.mjs",
"publish-next": "node bin/publish.mjs --tag next",
"format": "biome check packages --apply && biome format --write packages",
"publish": "node toolchain/publish.mjs",
"publish-next": "node toolchain/publish.mjs --tag next",
"format": "biome check toolchain packages --apply && biome format --write toolchain packages",
"prepare": "husky"
},
"license": "MIT",
Expand Down
8 changes: 8 additions & 0 deletions toolchain/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# toolchain

Everything that acts on **this repository** rather than shipping to a user.

`packages/*` is the product. This is the machinery that turns the product into
releases: it reads the repo, writes into it, and produces something outside it —
a version bump, a changelog, a commit, a tag, an npm package, a GitHub release.
Nothing in here is published, and nothing in here is imported by code that is.
File renamed without changes.