Summary
The repo is already a pnpm monorepo, but the docs subproject and parts of the publish workflow still go through npm. That split makes CI harder to reason about and recently contributed to runner cache pressure during publish.
Failing run for context:
Scope
- Move
docs/ onto pnpm instead of its own npm lockfile flow
- Add
docs to the pnpm workspace if that is the cleanest path
- Replace
npm install / npm run --prefix docs ... workflow steps with pnpm equivalents
- Remove
docs/package-lock.json once the docs flow is fully pnpm-managed
- Audit root scripts that still shell out to npm for docs commands and convert them to pnpm
Important note
changeset publish can publish with pnpm in a pnpm repo, but Changesets still shells out to npm for some registry metadata/auth operations (npm info, npm profile get). So this issue is about moving the repo-owned docs/release workflow pieces to pnpm where possible, not fully removing npm from the release environment.
Acceptance criteria
docs/ no longer depends on package-lock.json
- Docs install/build/dev commands run through pnpm
- Publish/docs workflows no longer call npm for repo-managed install/script execution where pnpm can be used instead
- CI passes with the new workflow
Summary
The repo is already a pnpm monorepo, but the docs subproject and parts of the publish workflow still go through npm. That split makes CI harder to reason about and recently contributed to runner cache pressure during publish.
Failing run for context:
Scope
docs/onto pnpm instead of its own npm lockfile flowdocsto the pnpm workspace if that is the cleanest pathnpm install/npm run --prefix docs ...workflow steps with pnpm equivalentsdocs/package-lock.jsononce the docs flow is fully pnpm-managedImportant note
changeset publishcan publish with pnpm in a pnpm repo, but Changesets still shells out to npm for some registry metadata/auth operations (npm info,npm profile get). So this issue is about moving the repo-owned docs/release workflow pieces to pnpm where possible, not fully removing npm from the release environment.Acceptance criteria
docs/no longer depends onpackage-lock.json