Skip to content

build: keep pnpm-workspace.yaml to the workspace list (directory blocker) - #38

Merged
MyPrototypeWhat merged 1 commit into
mainfrom
claude/directory-pnpm-config
Oct 22, 2026
Merged

MyPrototypeWhat merged 1 commit into
mainfrom
claude/directory-pnpm-config

Conversation

@MyPrototypeWhat

Copy link
Copy Markdown
Collaborator

Why

Anthropic's plugin directory validation blocks plugins/refkit with this finding:

Package registry redirected — ../../pnpm-workspace.yaml above the plugin path points the plugin's package launcher at a registry, index, config or cache of the submitter's choosing (onlybuiltdependencies)

The directory treats every pnpm setting in a pnpm-workspace.yaml above a plugin that runs npx as a possible redirect. Here the only setting was onlyBuiltDependencies: [esbuild].

What changes

  • pnpm-workspace.yaml keeps only packages. onlyBuiltDependencies: [esbuild] is removed. esbuild gets its platform binary from its optional @esbuild/<platform> dependency, so its install script isn't needed. pnpm now prints "Ignored build scripts: esbuild" on install.
  • plugin-manifest tests check two things:
    • pnpm-workspace.yaml declares only packages;
    • there is no .npmrc, bunfig.toml or uv.toml at the repo root or in plugins/.

Verification

On a clean pnpm install --frozen-lockfile in a fresh worktree:

  • esbuild's build script was skipped and @esbuild/darwin-arm64 was installed.
  • typecheck, lint and build pass.
  • test:run: 658 passed, 25 skipped.
  • smoke:artifact passes all 3 scenarios: pack, clean npm install, and booting the MCP CLI.

After merge, use Re-validate in the developer portal. Expected outcome: no blocking findings, and the pinned-npx policy hold remains.

Anthropic's plugin directory blocks plugins/refkit ("Package registry
redirected") because pnpm-workspace.yaml above it carried a pnpm setting
(onlyBuiltDependencies: esbuild). esbuild resolves its platform binary from its
optional dependency, so its install script isn't needed. plugin-manifest pins
that nothing between the repo root and the plugin configures a package manager.
@MyPrototypeWhat
MyPrototypeWhat merged commit f9e79b2 into main Oct 22, 2026
1 check passed
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