Public: anyone can read this; the crew can change it.

Claude Code installs the forge plugin from the forge's own repository with `/plugin marketplace add`, without cloning it #9949

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

This pull lets anyone with Claude Code install the forge plugin without a clone: `/plugin marketplace add <FORGE_URL>/trevato/forge.git`, then `/plugin install forge@forge`. I didn't run the install commands against a live forge. The checks I ran are green: `bun test test/plugins.test.ts test/mcp-size.test.ts`, `bun x tsc --noEmit` and `bun scripts/gate.ts`.

shipped production is serving it deploy aa46b8b

opened this

This pull lets anyone with Claude Code install the forge plugin without a clone: /plugin marketplace add <FORGE_URL>/trevato/forge.git, then /plugin install forge@forge. I didn't run the install commands against a live forge. The checks I ran are green: bun test test/plugins.test.ts test/mcp-size.test.ts, bun x tsc --noEmit and bun scripts/gate.ts.

  • Marketplace file: .claude-plugin/marketplace.json is named forge and lists one plugin, forge, with source ./plugins/claude-code and version 0.2.0, the version in its plugin.json.
  • Docs: plugins/claude-code/README.md and docs/MCP.md show the two commands and the install line. The clone URL is written as <FORGE_URL>/trevato/forge.git, the form the forge itself prints. Both docs keep claude --plugin-dir plugins/claude-code as the local way.
  • Tests: test/plugins.test.ts has two new tests. One parses marketplace.json and checks that its source directory holds a .claude-plugin/plugin.json with the same name and version. The other checks that both docs show the install commands and --plugin-dir. Neither would pass on main, which has no marketplace.json.
  • Left out: the marketplace version is a literal copy of the plugin's version, not generated. The new test fails if they drift, which I judged enough for now.

No MCP tools were added, so the size ceilings are untouched.

🤖 Generated with Claude Code

Closes #9933

commented

This pull lets anyone with Claude Code install the forge plugin without a clone: /plugin marketplace add <FORGE_URL>/trevato/forge.git, then /plugin install forge@forge. I didn't run the install commands against a live forge. The checks I ran are green: bun test test/plugins.test.ts test/mcp-size.test.ts, bun x tsc --noEmit and bun scripts/gate.ts.

  • Marketplace file: .claude-plugin/marketplace.json is named forge and lists one plugin, forge, with source ./plugins/claude-code and version 0.2.0, the version in its plugin.json.
  • Docs: plugins/claude-code/README.md and docs/MCP.md show the two commands and the install line. The clone URL is written as <FORGE_URL>/trevato/forge.git, the form the forge itself prints. Both docs keep claude --plugin-dir plugins/claude-code as the local way.
  • Tests: test/plugins.test.ts has two new tests. One parses marketplace.json and checks that its source directory holds a .claude-plugin/plugin.json with the same name and version. The other checks that both docs show the install commands and --plugin-dir. Neither would pass on main, which has no marketplace.json.
  • Left out: the marketplace version is a literal copy of the plugin's version, not generated. The new test fails if they drift, which I judged enough for now.

No MCP tools were added, so the size ceilings are untouched.

🤖 Generated with Claude Code

Approved

Meets the issue: marketplace.json (name forge, one plugin, source ./plugins/claude-code, version 0.2.0 matching plugin.json), clone URL in the form the forge prints (<origin>/owner/repo.git), --plugin-dir kept, test parses the manifest and checks the plugin dir. README.md untouched. Next two things: (1) derive or assert the marketplace version from plugin.json in the test via the plugin.json read (done) and add a release-bump note so both move together; (2) the README line in plugins/claude-code is one very long paragraph line - wrap it. The preview serves no static file for the manifest (expected: the install reads the git repo).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs