diff --git a/.changeset-held/README.md b/.changeset-held/README.md new file mode 100644 index 0000000..73457b6 --- /dev/null +++ b/.changeset-held/README.md @@ -0,0 +1,12 @@ +# Held changesets + +Changesets for packages listed in `.changeset/config.json` → `ignore` are parked +here instead of `.changeset/`, because `changesets/action` does not account for +the ignore list: leftover ignored-package changesets make it try to open a +Version Packages PR (which comes out empty and errors) instead of publishing. + +They cannot live in a subdirectory of `.changeset/` either — changesets treats +directories there as its legacy v1 changeset format and crashes. + +To release a held package: move its files back into `.changeset/` and remove the +package from `ignore` in the same PR. diff --git a/.changeset/engine-runtime.md b/.changeset-held/engine-runtime.md similarity index 100% rename from .changeset/engine-runtime.md rename to .changeset-held/engine-runtime.md diff --git a/.changeset/workflow-authoring-surface.md b/.changeset-held/workflow-authoring-surface.md similarity index 100% rename from .changeset/workflow-authoring-surface.md rename to .changeset-held/workflow-authoring-surface.md diff --git a/AGENTS.md b/AGENTS.md index 034c210..6b5ab19 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -155,6 +155,7 @@ This section captures project-specific knowledge, tool quirks, and lessons learn - Use `pnpm test:run` in automated/agent workflows. Do not use `pnpm test` there because it starts watch mode. - Prefer `pnpm lint:fix` before spending time on manual lint/style cleanup. - Releases are changesets-based: a PR changing a published package should include a changeset (`pnpm changeset`). On merge to `main`, `changesets/action` opens a "Version Packages" PR; merging that publishes to npm. Do not add bumpp/changelogithub — those were the old single-package flow. +- To hold a package back from a release, add it to `ignore` in `.changeset/config.json` — but its pending changesets must then be parked in `.changeset-held/` (see its README), NOT left in `.changeset/`: `changesets/action` doesn't account for the ignore list when deciding version-PR vs publish, so leftover ignored-package changesets produce an empty Version PR that errors and blocks publishing. They can't go in a `.changeset/` subdirectory either (changesets treats directories there as its legacy v1 format and crashes). To release the held package later, move its changesets back and remove it from `ignore` in the same PR. - Run root scripts from the repo root; they fan out over `packages/*`. Per-package work can be done with `cd packages/`. ### Patterns & Conventions