Skip to content

Document distribution and inline the local-build client config#484

Merged
alistair3149 merged 2 commits into
masterfrom
worktree-distribution-docs
Jul 23, 2026
Merged

Document distribution and inline the local-build client config#484
alistair3149 merged 2 commits into
masterfrom
worktree-distribution-docs

Conversation

@alistair3149

@alistair3149 alistair3149 commented Jul 23, 2026

Copy link
Copy Markdown
Member

Two independent changes, one per commit: record how distribution works, and move the client-config examples to where they are read.

Document the distribution channels and plugin layout

New docs/distribution.md, for contributors adding an install channel, editing a plugin manifest, or testing an install before publishing. It records:

  • The channel map (npm package, MCP registry entry, .mcpb bundle, Docker image, Gemini CLI extension, and the two plugin marketplaces), and the rule for when a client earns a committed manifest versus a README npx snippet.
  • The four constraints that fix the Claude Code and Codex plugin layout: Claude Code's fixed catalog path, Codex rejecting a plugin whose source is the repository root, the shared .mcp.json that Claude Code discovers and Codex references by path, and the differing source shapes. Also why .mcp.json must stay out of the repository root, since Claude Code would load it as a project server for anyone working in this repository.
  • A per-manifest table of the fields scripts/sync-manifests.cjs overwrites. Each of the seven manifests takes a different subset, so the table is the contract: a field in it is overwritten at release, anything else is hand-maintained.
  • The three edits that wire a new manifest into that sync, including adding it to the git add list in the version script. Missing that one syncs the file but leaves it out of the release commit.
  • A runbook for installing the plugin from a local directory on both CLIs, without publishing.

AGENTS.md points at the page, it has a row in the documentation-conventions.md genres table, and the sync bullet in docs/releasing.md is shortened to a link so the field list has a single home.

Remove mcp.json and mcp.docker.json

No client loads a repository-root mcp.json automatically (Claude Code uses .mcp.json, Cursor .cursor/mcp.json, VS Code .vscode/mcp.json), both files carried placeholder paths that had to be edited before use, and docs/testing.md was their only reader. Their command and args now sit inline at the step that uses them, matching how the README presents client configuration. This also removes the mcp.json / .mcp.json near-collision in the repository root.

Verification

  • lint, fmt:check, and validate:server-json pass; full suite green (1579 tests).
  • Every install command in the new runbook was run against both CLIs. claude plugin marketplace add rejects a bare . and requires ./; both CLIs accept ./, which is the form the doc uses.
  • The per-manifest field table was cross-checked programmatically against the script's targets array.
  • The inlined command and args were diffed against the deleted files argument by argument.
  • No remaining references to the removed files.

Considered, omitted: a CHANGELOG.md entry, since neither change alters observable server behaviour; and glama.json, which is directory-listing metadata rather than an install channel.

🤖 Generated with Claude Code

alistair3149 and others added 2 commits July 23, 2026 16:33
Add docs/distribution.md for contributors adding an install channel,
editing a plugin manifest, or testing an install before publishing. It
records the channel map, the constraints that fix the Claude Code and
Codex plugin layout, the per-manifest field list that
scripts/sync-manifests.cjs overwrites, the three edits that wire a new
manifest into that sync, and the local-directory marketplace install that
exercises a plugin without publishing.

Point AGENTS.md at the new page, add it to the genres table in
docs/documentation-conventions.md, and shorten the sync bullet in
docs/releasing.md to a link so the field list has a single home.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove mcp.json and mcp.docker.json. No client loads a repository-root
mcp.json automatically, both files carried placeholder paths that had to
be edited before use, and docs/testing.md was their only reader. Their
command and args now sit inline at the step that uses them, matching how
the README presents client configuration.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alistair3149
alistair3149 force-pushed the worktree-distribution-docs branch from 5140316 to 0a1f935 Compare July 23, 2026 20:34
@alistair3149
alistair3149 merged commit feea884 into master Jul 23, 2026
1 check passed
@alistair3149
alistair3149 deleted the worktree-distribution-docs branch July 23, 2026 20:43
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