plugin: restructure to marketplace + plugins/<name> layout
Some checks are pending
ci / check (push) Waiting to run

Source-of-truth claude/ now matches the proven shape used by
anthropics/claude-plugins-official and other shipping marketplaces:

  claude/.claude-plugin/marketplace.json    references ./plugins/fj
  claude/plugins/fj/.claude-plugin/plugin.json
  claude/plugins/fj/skills/fj/SKILL.md

Previous string-source "./" and structured {source: url} forms both
tripped "source type your Claude Code version does not support."
The relative sub-path form works.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stephen Way 2026-05-13 16:26:03 -07:00
parent 17d34d2d5d
commit e7d25ecde7
No known key found for this signature in database
4 changed files with 13 additions and 9 deletions

View file

@ -13,10 +13,7 @@
{ {
"name": "fj", "name": "fj",
"description": "Teach Claude Code to use fj, a CLI for Forgejo and Gitea-compatible instances. Activates when the user mentions fj, Forgejo, Gitea, or any forge-side action (issues, PRs, releases, code search, labels, milestones, webhooks).", "description": "Teach Claude Code to use fj, a CLI for Forgejo and Gitea-compatible instances. Activates when the user mentions fj, Forgejo, Gitea, or any forge-side action (issues, PRs, releases, code search, labels, milestones, webhooks).",
"source": { "source": "./plugins/fj",
"source": "url",
"url": "https://github.com/rasterandstate/fj-claude-plugin.git"
},
"license": "MIT", "license": "MIT",
"category": "developer-tools", "category": "developer-tools",
"keywords": ["fj", "forgejo", "gitea", "git", "cli"], "keywords": ["fj", "forgejo", "gitea", "git", "cli"],

View file

@ -25,15 +25,22 @@ After install, the skill activates automatically when relevant.
``` ```
claude/ claude/
├── .claude-plugin/ ├── .claude-plugin/
│ ├── plugin.json plugin manifest (name, version, keywords) │ └── marketplace.json marketplace manifest — declares plugins[]
│ └── marketplace.json makes this directory a single-plugin
│ marketplace; required for `/plugin install`
├── README.md this file ├── README.md this file
└── skills/ └── plugins/
└── fj/
├── .claude-plugin/
│ └── plugin.json plugin manifest (name, version, keywords)
└── skills/
└── fj/ └── fj/
└── SKILL.md the skill body — what Claude reads └── SKILL.md the skill body — what Claude reads
``` ```
The marketplace lives at the root; each plugin lives in `plugins/<name>/`.
`marketplace.json` references plugins via `"source": "./plugins/<name>"`.
This is the working pattern used by `anthropics/claude-plugins-official`
and other shipping marketplaces.
## Updating ## Updating
This `claude/` directory is the source of truth, inside the fj repo at This `claude/` directory is the source of truth, inside the fj repo at