build: distribute as standalone @deploygate/mcp npm package#26
Open
tnj wants to merge 6 commits into
Open
Conversation
f220831 to
0a51f35
Compare
Rename to the scoped @deploygate/mcp, point bin at the zero-dependency bundle, trim files to bundle+README+LICENSE, move sdk/zod to devDependencies (zero runtime deps), drop the library main entry, and publish publicly. Add packaging-invariant tests. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add a release_created-gated step sequence to the release-please job that runs npm ci + npm run bundle + npm publish, authenticating with the NPM_TOKEN secret. Triggers on the first release after this merges. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add an Installation subsection covering npx @deploygate/mcp for any MCP client, with a config example and the shared-token auth note. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Replace the NPM_TOKEN secret with npm trusted publishing (OIDC): grant id-token: write, ensure npm >= 11.5.1, and drop NODE_AUTH_TOKEN from npm publish. Requires configuring a trusted publisher for @deploygate/mcp on npmjs.com (package must be published once first to enable it). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
45ab70d to
f2a9177
Compare
Member
Author
|
/gemini review |
- plugin.test.ts: assert plugin/scripts/bundle.js starts with `#\!/usr/bin/env node`, locking the invariant that esbuild preserves from src/index.ts. - README: replace the duplicated `~/.config/deploygate/token` note in the standalone-npx section with a link to the existing Authentication section, which already documents the Windows path. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Distribute the DeployGate MCP server as a standalone npm package (
npx @deploygate/mcp) in addition to the existing git-based Claude Code / Codex plugin marketplace — from the same repo, same source, single version.package.json: renamed to the scoped@deploygate/mcp;binpoints at the existing zero-dependency esbuild bundle (plugin/scripts/bundle.js);filestrimmed to bundle + README + LICENSE;@modelcontextprotocol/sdkandzodmoved todevDependencies(the published package has zero runtime dependencies — the bundle inlines them);mainremoved (CLI/server, not a library);publishConfig.access: publicadded.release.yml: arelease_created-gated step sequence (npm install -g npm@latest→npm ci→npm run bundle→npm publish) added to the existing release-please job, authenticating via npm trusted publishing (OIDC) —permissions: id-token: write, no long-lived token.README.md: new "Standalone MCP server (any MCP client)" section with thenpxconfig example (Claude Desktop / Cursor / Cline) and the shared-token auth note..gitignore: ignoredocs/superpowers/(agent workflow design docs stay local, untracked).plugin.test.ts(name, bin target exists, trimmedfiles, public access, zero runtime deps, nomain).The git-based plugin marketplace distribution is unchanged.
Test Plan
npm run buildclean,npm testgreen (incl. new packaging tests)npm pack --dry-runships exactlypackage.json,plugin/scripts/bundle.js,LICENSE,README.mdprintf '<initialize JSON>' | node plugin/scripts/bundle.jsreturns a valid MCPinitializeresult (server starts from the bundle)release.ymlYAML parses; publish steps arerelease_created-gated withid-token: writeand no token env@deploygate/mcpvia OIDC🤖 Generated with Claude Code