Skip to content

chore: move the Claude Code plugin into its own folder - #31

Merged
Revinand merged 1 commit into
masterfrom
chore/plugin-folder
Nov 6, 2026
Merged

Revinand merged 1 commit into
masterfrom
chore/plugin-folder

Conversation

@SergeevDmitry

Copy link
Copy Markdown
Member

What changed

The Claude Code plugin moves from the repository root into its own folder, plugins/agent-commerce-gateway:

  • .claude-plugin/plugin.json moves into the folder. The plugin is renamed agent-commerce-gateway and gains displayName, documentationUrl and supportUrl, fields the Anthropic directory listing reads.
  • skills/agent-commerce moves into the folder unchanged (100% renames). The skill keeps its name.
  • A new README.md in the folder describes the plugin, what it runs, sends and fetches, and its safety rules. The directory shows it as the listing description.
  • .claude-plugin/marketplace.json stays at the root and points at the folder.
  • The root README links the new skill path and the new install command.
  • scripts/check-package-metadata.mjs reads the moved manifest and also checks documentationUrl and supportUrl, so the support link cannot point outside this repository.
  • tests/unit/cli/skill.test.ts reads the new paths and checks that the plugin folder holds the skill and a README but no package.json.

Why

With the root as the plugin, installing it copied the whole repository, and Claude Code installed the dependencies from its lockfile. Installed from the current master into a clean Claude Code config, the plugin cache held all 637 repository files plus a 428 MB node_modules, dev dependencies included. From this branch it holds the 7 plugin files (37 KB).

The Anthropic plugin directory checks everything in the plugin folder. The root has more than 512 files, non-image files over 256 KiB (architecture/agent-commerce.pdf, package-lock.json, forge-std's safeconsole.sol), binaries (.pdf, .wasm) and a lockfile beside package.json. Each of these holds a submission for manual review. The new folder avoids them.

Compatibility

  • The Claude Code install command becomes /plugin install agent-commerce-gateway@agent-commerce. An existing install of agent-commerce@agent-commerce no longer finds its plugin in the marketplace and has to be reinstalled under the new name.
  • npx skills add devlab-group/agent-commerce --skill agent-commerce keeps working: the skills CLI reads the skills/ folder of each local plugin in marketplace.json.
  • Links to the old path skills/agent-commerce on GitHub stop resolving after the merge.
  • The skills.sh page devlab-group/agent-commerce/agent-commerce may need to be re-indexed after the merge. The ClawHub copy of the skill is uploaded separately and is not affected.
  • The npm package does not change: it still ships LICENSE, README.md, package.json and dist/.

How it was tested

Node 22.23.2, macOS:

  • npm run check:contract: contract surface unchanged.
  • npm run lint and npm run typecheck: clean.
  • npm test: 3481 passed, 3 failed, 29 skipped. The same 3 fail on master on the same machine: the two gateway-entrypoint tests because macOS ships bash 3.2 without mapfile, and the adapters 413 test, which also passed on a second run. CI on master is green.
  • npm run check:metadata: OK, and it exits 1 when supportUrl points at another host.
  • claude plugin validate . and claude plugin validate ./plugins/agent-commerce-gateway (Claude Code 2.1.197): pass. The only warnings are that Claude Code itself does not read documentationUrl and supportUrl.
  • claude plugin marketplace add from this checkout, then claude plugin install agent-commerce-gateway@agent-commerce, in a separate config directory: installs version 2.6.0 with the 7 plugin files.
  • npx skills@1.7.6 add <checkout> --list lists the agent-commerce skill, the same as on master.
  • npm pack --dry-run: the same non-dist files as master.

Not covered

  • npm run test:e2e was not run locally; this change does not touch the gateway.
  • The directory submission itself, which is made in the developer portal after the merge, and Anthropic's review of the plugin name.
  • No change to the skill's content.

The plugin was the repository root, so installing it copied the whole
repository, and its package.json and lockfile put a dependency install
on every user. Anthropic's plugin directory also checks everything in the
plugin folder: the root holds more than 512 files, files over 256 KiB
and binaries, which hold a submission for manual review.

The plugin now lives in plugins/agent-commerce-gateway with its manifest,
the agent-commerce skill and a README for the directory listing. It is
renamed agent-commerce-gateway and the marketplace points at the folder;
the skill keeps its name and content. The manifest gains displayName,
documentationUrl and supportUrl, and the metadata check covers the two
new links.
@Revinand
Revinand merged commit 3d016ba into master Nov 6, 2026
6 checks 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.

2 participants