Skip to content

Commit 962d1d4

Browse files
Copilotheaths
andauthored
Make marketplace and plugins discoverable by both GitHub Copilot CLI and Claude Code (#3)
* Initial plan * Make marketplace and plugins discoverable by both GitHub Copilot CLI and Claude Code Co-authored-by: heaths <1532486+heaths@users.noreply.github.com> * Fix .claude/settings.json example in Sharing with contributors section Co-authored-by: heaths <1532486+heaths@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: heaths <1532486+heaths@users.noreply.github.com>
1 parent b40a394 commit 962d1d4

4 files changed

Lines changed: 64 additions & 11 deletions

File tree

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
2+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
23
"name": "heaths-plugins",
4+
"description": "Collection of agents, skills, and tools used in personal projects",
35
"owner": {
46
"name": "Heath Stewart"
57
},
68
"metadata": {
7-
"description": "Collection of agents, skills, and tools used in personal projects",
8-
"version": "0.4.2"
9+
"version": "0.4.3"
910
},
1011
"plugins": [
1112
{
@@ -28,7 +29,7 @@
2829
"name": "linting",
2930
"source": "plugins/linting",
3031
"description": "Skills and tools for formatting and linting",
31-
"version": "0.2.3"
32+
"version": "0.2.4"
3233
}
3334
]
34-
}
35+
}

AGENTS.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
## Architecture
44

5-
This is a GitHub Copilot CLI plugin marketplace. The marketplace is defined in `.github/plugin/marketplace.json` and contains multiple plugins, each under `plugins/<name>/`. Plugins can declare skills (prompt-based capabilities in `SKILL.md` files) and MCP servers (in `.mcp.json` files).
5+
This is a plugin marketplace compatible with [GitHub Copilot CLI] and [Claude Code]. The marketplace is defined in `.claude-plugin/marketplace.json` and contains multiple plugins, each under `plugins/<name>/`. Plugins can declare skills (prompt-based capabilities in `SKILL.md` files) and MCP servers (in `.mcp.json` files).
66

77
### Key files
88

9-
- `.github/plugin/marketplace.json` — marketplace manifest listing all plugins with their versions and sources.
10-
- `plugins/<name>/.github/plugin/plugin.json` — per-plugin details including name, description, version, author, and skills.
9+
- `.claude-plugin/marketplace.json` — marketplace manifest listing all plugins with their versions and sources.
10+
- `plugins/<name>/.claude-plugin/plugin.json` — per-plugin details including name, description, version, author, and skills.
1111
- `plugins/<name>/skills/<skill-name>/SKILL.md` — skill definition with YAML frontmatter (`name`, `description`, `compatibility`) and markdown instructions.
1212
- `plugins/<name>/.mcp.json` — MCP server configuration for a plugin.
1313

@@ -37,7 +37,7 @@ The marketplace and each plugin have independent semver versions in `marketplace
3737

3838
### In-repository plugins
3939

40-
Plugins that live in this repository (`source` is a local path like `"plugins/<name>"`) should include the following fields in both `marketplace.json` and their `plugins/<name>/.github/plugin/plugin.json`:
40+
Plugins that live in this repository (`source` is a local path like `"plugins/<name>"`) should include the following fields in both `marketplace.json` and their `plugins/<name>/.claude-plugin/plugin.json`:
4141

4242
- `name`, `description`, `version`, `author` — required everywhere
4343
- `category`, `keywords` — include in `plugin.json` for discoverability
@@ -49,15 +49,15 @@ Plugins sourced from an external GitHub repository (`source` is an object with `
4949
- `name`, `description`, `version` — basic identity
5050
- `source` — object with `"source": "github"` and `"repo": "<owner>/<repo>"`
5151
- `repository` — full URL to the repository (e.g., `"https://github.com/<owner>/<repo>"`)
52-
- `author`, `license`, `category`, `keywords` — copy from the remote plugin's `.github/plugin/plugin.json` for discoverability
52+
- `author`, `license`, `category`, `keywords` — copy from the remote plugin's `.claude-plugin/plugin.json` for discoverability
5353

5454
The remote repository owns its own `plugin.json`; do not duplicate skill or MCP server definitions locally.
5555

5656
## Pre-commit checklist
5757

5858
Before committing, verify:
5959

60-
1. If any files under `plugins/<name>/` changed, that plugin's `version` in both `marketplace.json` and `plugins/<name>/.github/plugin/plugin.json` has been bumped following semver rules above.
60+
1. If any files under `plugins/<name>/` changed, that plugin's `version` in both `marketplace.json` and `plugins/<name>/.claude-plugin/plugin.json` has been bumped following semver rules above.
6161
2. If a plugin was added or removed from the marketplace, the marketplace `metadata.version` has been bumped accordingly (minor for additions, minor for removals if still 0.x.y, or major for removals once 1.0.0 or later).
6262
3. Otherwise, if any plugin version was bumped, the marketplace `metadata.version` patch version has been incremented.
6363

@@ -73,3 +73,6 @@ The commit or pull request body should provide additional context when the title
7373
- SKILL.md frontmatter fields should not end with a trailing period.
7474
- Line endings are LF (enforced by `.gitattributes` and `.editorconfig`).
7575
- JSON files use 2-space indentation.
76+
77+
[GitHub Copilot CLI]: https://github.com/features/copilot/cli/
78+
[Claude Code]: https://claude.ai/code

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,64 @@
22

33
## Installation
44

5+
Plugins are compatible with both [GitHub Copilot CLI] and [Claude Code].
6+
7+
### GitHub Copilot CLI
8+
59
To install this marketplace into [GitHub Copilot CLI] run:
610

711
```bash
812
copilot plugin marketplace add heaths/plugins
913
```
1014

15+
### Claude Code
16+
17+
To install this marketplace into [Claude Code] run:
18+
19+
```text
20+
/plugin marketplace add heaths/plugins
21+
```
22+
23+
## Sharing with contributors
24+
25+
You can recommend this marketplace and its plugins to everyone who works in a repository by committing a `.claude/settings.json` file to that repository. When contributors trust the project folder in [Claude Code], they are prompted to install the marketplace and any enabled plugins.
26+
27+
Example `.claude/settings.json`:
28+
29+
```json
30+
{
31+
"extraKnownMarketplaces": {
32+
"heaths-plugins": {
33+
"source": {
34+
"source": "github",
35+
"repo": "heaths/plugins"
36+
}
37+
}
38+
},
39+
"enabledPlugins": {
40+
"linting@heaths-plugins": true
41+
}
42+
}
43+
```
44+
45+
> **Note:** [GitHub Copilot CLI] does not currently support project-level plugin recommendations. Contributors using Copilot CLI should run the marketplace and plugin install commands above individually.
46+
1147
## Plugins
1248

1349
### azsdk-samples-mcp
1450

1551
Discovers and retrieves code samples from Azure SDK packages in .NET, Node.js, and Rust projects.
1652

1753
```bash
54+
# GitHub Copilot CLI
1855
copilot plugin install azsdk-samples-mcp@heaths-plugins
1956
```
2057

58+
```text
59+
# Claude Code
60+
/plugin install azsdk-samples-mcp@heaths-plugins
61+
```
62+
2163
### linting
2264

2365
Skills and tools for formatting and linting.
@@ -28,11 +70,18 @@ Skills and tools for formatting and linting.
2870
| lint-markdown | Check and fix formatting and other issues in markdown files using markdownlint-cli2 |
2971

3072
```bash
73+
# GitHub Copilot CLI
3174
copilot plugin install linting@heaths-plugins
3275
```
3376

77+
```text
78+
# Claude Code
79+
/plugin install linting@heaths-plugins
80+
```
81+
3482
## License
3583

3684
Licensed under the [MIT](LICENSE.txt) license.
3785

3886
[GitHub Copilot CLI]: https://github.com/features/copilot/cli/
87+
[Claude Code]: https://claude.ai/code

plugins/linting/.github/plugin/plugin.json renamed to plugins/linting/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "linting",
33
"description": "Skills and tools for formatting and linting",
4-
"version": "0.2.3",
4+
"version": "0.2.4",
55
"author": {
66
"name": "Heath Stewart"
77
},

0 commit comments

Comments
 (0)