plugin: add marketplace.json + correct install instructions
Some checks are pending
ci / check (push) Waiting to run
Some checks are pending
ci / check (push) Waiting to run
A repo with only plugin.json is recognized as a plugin but not as a
marketplace, which is what `/plugin marketplace add` needs. Adding
.claude-plugin/marketplace.json that declares the marketplace
('rasterandstate') and lists fj as its single plugin.
The correct two-step install is now:
/plugin marketplace add rasterandstate/fj-claude-plugin
/plugin install fj@rasterandstate
README.md and claude/README.md updated accordingly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0a65a8eed8
commit
0984e737a3
|
|
@ -151,8 +151,9 @@ cargo build --release # ~4 MB stripped binary at target/release/fj
|
||||||
plugin so AI agents and developers using Claude Code can drive fj
|
plugin so AI agents and developers using Claude Code can drive fj
|
||||||
directly from natural-language requests.
|
directly from natural-language requests.
|
||||||
|
|
||||||
```sh
|
```text
|
||||||
/plugin install rasterandstate/fj-claude-plugin
|
/plugin marketplace add rasterandstate/fj-claude-plugin
|
||||||
|
/plugin install fj@rasterandstate
|
||||||
```
|
```
|
||||||
|
|
||||||
The source of truth for the plugin lives in [`claude/`](claude/) inside
|
The source of truth for the plugin lives in [`claude/`](claude/) inside
|
||||||
|
|
|
||||||
16
claude/.claude-plugin/marketplace.json
Normal file
16
claude/.claude-plugin/marketplace.json
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"name": "rasterandstate",
|
||||||
|
"owner": {
|
||||||
|
"name": "Raster & State",
|
||||||
|
"email": "hello@rasterstate.com",
|
||||||
|
"url": "https://rasterstate.com"
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
{
|
||||||
|
"name": "fj",
|
||||||
|
"source": ".",
|
||||||
|
"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).",
|
||||||
|
"keywords": ["fj", "forgejo", "gitea", "git", "cli"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -10,16 +10,12 @@ issues, cut a release, request a review, etc.) on a non-GitHub host.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
This directory is itself a complete Claude Code plugin. Two ways to
|
This directory is both a Claude Code plugin AND a single-plugin
|
||||||
install:
|
marketplace. Add the marketplace once, then install:
|
||||||
|
|
||||||
```sh
|
```text
|
||||||
# From a local clone of the upstream fj repo:
|
/plugin marketplace add rasterandstate/fj-claude-plugin
|
||||||
/plugin install /path/to/fj/claude
|
/plugin install fj@rasterandstate
|
||||||
|
|
||||||
# From the canonical mirror repo (preferred for users who aren't
|
|
||||||
# already cloning fj for development):
|
|
||||||
/plugin install rasterandstate/fj-claude-plugin
|
|
||||||
```
|
```
|
||||||
|
|
||||||
After install, the skill activates automatically when relevant.
|
After install, the skill activates automatically when relevant.
|
||||||
|
|
@ -29,11 +25,13 @@ After install, the skill activates automatically when relevant.
|
||||||
```
|
```
|
||||||
claude/
|
claude/
|
||||||
├── .claude-plugin/
|
├── .claude-plugin/
|
||||||
│ └── plugin.json plugin manifest (name, version, keywords)
|
│ ├── plugin.json plugin manifest (name, version, keywords)
|
||||||
├── README.md this file
|
│ └── marketplace.json makes this directory a single-plugin
|
||||||
|
│ marketplace; required for `/plugin install`
|
||||||
|
├── README.md this file
|
||||||
└── skills/
|
└── skills/
|
||||||
└── fj/
|
└── fj/
|
||||||
└── SKILL.md the skill body — what Claude reads
|
└── SKILL.md the skill body — what Claude reads
|
||||||
```
|
```
|
||||||
|
|
||||||
## Updating
|
## Updating
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue