feat(plugin): add marketplace manifest so the plugin is installable#106
Merged
Conversation
The plugin was only loadable via `--plugin-dir` (local) — `/plugin install github.com/...` (as the README claimed) doesn't work without a marketplace. Add `.claude-plugin/marketplace.json` at the repo root registering the plugin (source: ./plugin), so it's installable by anyone. Install flow (verified against the CLI — validate ✔, local `marketplace add ./` resolved the ./plugin source and listed it): /plugin marketplace add nativeapptemplate/nativeapptemplate-agent /plugin install nativeapptemplate-agent@nativeapptemplate Fix the now-correct install instructions in plugin/README.md (was the bogus `/plugin install github.com/...`) and add the marketplace flow to the root README. Marketplace name `nativeapptemplate`; plugin name `nativeapptemplate-agent` (matches plugin.json, so skills stay `/nativeapptemplate-agent:*`). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ENSE) The marketplace owner and plugin.json author read bare "Daisuke"; the canonical attribution everywhere else (package.json author, LICENSE copyright) is the full name "Daisuke Adachi". Align both, since marketplace owner is public catalog metadata shown when users add the marketplace. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
owner identifies the catalog/distribution, so use the org/brand (with its GitHub URL) rather than a personal name — reads as the official marketplace and scales to more plugins/maintainers. plugin.json author stays "Daisuke Adachi" (the person who wrote it; matches package.json + LICENSE). Co-Authored-By: Claude Opus 4.7 (1M context) <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.
Why
After #105 the plugin was on
mainbut only loadable viaclaude --plugin-dir ./plugin(local). Theplugin/READMEclaimed/plugin install github.com/...works — it doesn't: Claude Code installs plugins from a marketplace, and the repo defined none. (Same "claimed without verifying" pattern as the npx/mobile-mcp bugs — caught it this time before relying on it.)What
.claude-plugin/marketplace.jsonat the repo root, registering the plugin withsource: ./plugin.plugin/README.mdinstall section (removed the bogus/plugin install github.com/...) → real marketplace flow.README.mdplugin paragraph.Install flow (now real)
…or local dev:
claude --plugin-dir ./plugin. Marketplace namenativeapptemplate; plugin namenativeapptemplate-agent(matchesplugin.json, so skills stay/nativeapptemplate-agent:generate-app/:walk-app).Verified against the CLI (not just docs)
claude plugin validate .✔ (marketplace; cross-checks the./pluginsource + itsplugin.jsonversion parity) andclaude plugin validate ./plugin✔.claude plugin marketplace add ./→ resolved./pluginand listed the plugin; then removed the test marketplace to leave the config clean.Note
Two
.claude-plugin/dirs now coexist by design:./.claude-plugin/marketplace.json(catalog) and./plugin/.claude-plugin/plugin.json(the plugin). Different concepts;plugin.jsonstays the source of truth for version/metadata.🤖 Generated with Claude Code