feat: add the rms plugin to the marketplace - #1
Draft
navado wants to merge 1 commit into
Draft
Conversation
`/plugin install rms@kdcube` — requirements captured as a side-effect of coding work: the rms stdio MCP server, an inbox-first capture and review loop, code markers for traceability, and conformance validation. The entry is the marketplace's first sourced from another repository. The plugin's manifest lives in kdcube/rms-rs under claude-plugin/, referenced here with a git-subdir source pinned by ref. That placement is a correctness requirement rather than a convenience. The plugin ships integration text that the rms binary generates and content-hashes, and `rms validate` checks that hash at runtime. Releasing plugin and binary from repositories with independent cadences would let the two drift, so a freshly installed plugin could report `outdated` against the binary it had just fetched. One repository and one tag removes the failure mode by construction, and the ref pin keeps the bump here deliberate and reviewable. README gains an "External plugin sources" section stating when this pattern is appropriate — a plugin generated by, or version-locked to, an artifact built elsewhere — and that in-tree remains the default. The name follows both rules in the naming convention: `rms` is the product's own name rather than a generic capability word, and it already names the binary, the CLI and the MCP server. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J1XGNXitstXGgVJ9ps2e7X
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.
Adds
/plugin install rms@kdcube— requirements captured as a side-effect of coding work: thermsstdio MCP server, an inbox-first capture/review loop, code markers for traceability, and conformance validation.What's in this PR
.claude-plugin/marketplace.jsonrmsentryREADME.mdCHANGELOG.mdNo plugin code lands here. That's the point of the next section.
Why
rmsis sourced from another repositoryThis is the marketplace's first entry that doesn't live in
plugins/claude/. It uses agit-subdirsource pinned byref:The reason is correctness, not convenience. The
rmsplugin ships integration text that thermsbinary generates and content-hashes (INTEGRATION_VERSION+ blake3), andrms validateverifies that hash at runtime, reportingsynced/outdated/tampered. If the plugin shipped from here, plugin and binary would have independent release cadences — and a user who just installed the plugin could have it reportoutdatedagainst the binary the plugin itself had just fetched.Co-locating plugin and binary in one repository, released under one tag, removes that failure mode by construction. The
refpin then keeps this repository in control: nothing upstream reaches users until a bump lands here and is reviewed.README.mddocuments this as a bounded exception — appropriate when a plugin is generated by, or version-locked to, an artifact built elsewhere — with in-tree remaining the default.Naming convention
Checked against both rules in the README:
rmsis the product's own name, not a capability word likerequirementsordocs./rms:<command>matches what the tool calls itself everywhere else.Blocked on — this is why it's a draft
kdcube/rms-rsdoes not exist yet. Until it does and carries av0.1.0tag withclaude-plugin/in it, this entry resolves to nothing and installingrms@kdcubewill fail.Merge checklist:
kdcube/rms-rscreated and pushedclaude-plugin/present in that repo (manifest, Setup hook, commands, bootstrap skill)v0.1.0tagged, with release archives attached for the Setup hook to fetch/plugin marketplace add kdcube/agent-plugins→/plugin install rms@kdcubeverified on a machine with no Rust and no Noderms validatereportssyncedafter a plugin-drivenrms initIf the tag lands under a different version, update
refbefore merging.Plan and rationale: kdcube/rms#2.
🤖 Generated with Claude Code
https://claude.ai/code/session_01J1XGNXitstXGgVJ9ps2e7X