diff --git a/.github/plugin/marketplace.json b/.claude-plugin/marketplace.json similarity index 79% rename from .github/plugin/marketplace.json rename to .claude-plugin/marketplace.json index c57b553..9c20944 100644 --- a/.github/plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -1,11 +1,12 @@ { + "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", "name": "heaths-plugins", + "description": "Collection of agents, skills, and tools used in personal projects", "owner": { "name": "Heath Stewart" }, "metadata": { - "description": "Collection of agents, skills, and tools used in personal projects", - "version": "0.4.2" + "version": "0.4.3" }, "plugins": [ { @@ -28,7 +29,7 @@ "name": "linting", "source": "plugins/linting", "description": "Skills and tools for formatting and linting", - "version": "0.2.3" + "version": "0.2.4" } ] -} \ No newline at end of file +} diff --git a/AGENTS.md b/AGENTS.md index 0f1ef58..779ce78 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,12 +2,12 @@ ## Architecture -This is a GitHub Copilot CLI plugin marketplace. The marketplace is defined in `.github/plugin/marketplace.json` and contains multiple plugins, each under `plugins//`. Plugins can declare skills (prompt-based capabilities in `SKILL.md` files) and MCP servers (in `.mcp.json` files). +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//`. Plugins can declare skills (prompt-based capabilities in `SKILL.md` files) and MCP servers (in `.mcp.json` files). ### Key files -- `.github/plugin/marketplace.json` — marketplace manifest listing all plugins with their versions and sources. -- `plugins//.github/plugin/plugin.json` — per-plugin details including name, description, version, author, and skills. +- `.claude-plugin/marketplace.json` — marketplace manifest listing all plugins with their versions and sources. +- `plugins//.claude-plugin/plugin.json` — per-plugin details including name, description, version, author, and skills. - `plugins//skills//SKILL.md` — skill definition with YAML frontmatter (`name`, `description`, `compatibility`) and markdown instructions. - `plugins//.mcp.json` — MCP server configuration for a plugin. @@ -37,7 +37,7 @@ The marketplace and each plugin have independent semver versions in `marketplace ### In-repository plugins -Plugins that live in this repository (`source` is a local path like `"plugins/"`) should include the following fields in both `marketplace.json` and their `plugins//.github/plugin/plugin.json`: +Plugins that live in this repository (`source` is a local path like `"plugins/"`) should include the following fields in both `marketplace.json` and their `plugins//.claude-plugin/plugin.json`: - `name`, `description`, `version`, `author` — required everywhere - `category`, `keywords` — include in `plugin.json` for discoverability @@ -49,7 +49,7 @@ Plugins sourced from an external GitHub repository (`source` is an object with ` - `name`, `description`, `version` — basic identity - `source` — object with `"source": "github"` and `"repo": "/"` - `repository` — full URL to the repository (e.g., `"https://github.com//"`) -- `author`, `license`, `category`, `keywords` — copy from the remote plugin's `.github/plugin/plugin.json` for discoverability +- `author`, `license`, `category`, `keywords` — copy from the remote plugin's `.claude-plugin/plugin.json` for discoverability The remote repository owns its own `plugin.json`; do not duplicate skill or MCP server definitions locally. @@ -57,7 +57,7 @@ The remote repository owns its own `plugin.json`; do not duplicate skill or MCP Before committing, verify: -1. If any files under `plugins//` changed, that plugin's `version` in both `marketplace.json` and `plugins//.github/plugin/plugin.json` has been bumped following semver rules above. +1. If any files under `plugins//` changed, that plugin's `version` in both `marketplace.json` and `plugins//.claude-plugin/plugin.json` has been bumped following semver rules above. 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). 3. Otherwise, if any plugin version was bumped, the marketplace `metadata.version` patch version has been incremented. @@ -73,3 +73,6 @@ The commit or pull request body should provide additional context when the title - SKILL.md frontmatter fields should not end with a trailing period. - Line endings are LF (enforced by `.gitattributes` and `.editorconfig`). - JSON files use 2-space indentation. + +[GitHub Copilot CLI]: https://github.com/features/copilot/cli/ +[Claude Code]: https://claude.ai/code diff --git a/README.md b/README.md index ef7930d..819a391 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,48 @@ ## Installation +Plugins are compatible with both [GitHub Copilot CLI] and [Claude Code]. + +### GitHub Copilot CLI + To install this marketplace into [GitHub Copilot CLI] run: ```bash copilot plugin marketplace add heaths/plugins ``` +### Claude Code + +To install this marketplace into [Claude Code] run: + +```text +/plugin marketplace add heaths/plugins +``` + +## Sharing with contributors + +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. + +Example `.claude/settings.json`: + +```json +{ + "extraKnownMarketplaces": { + "heaths-plugins": { + "source": { + "source": "github", + "repo": "heaths/plugins" + } + } + }, + "enabledPlugins": { + "linting@heaths-plugins": true + } +} +``` + +> **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. + ## Plugins ### azsdk-samples-mcp @@ -15,9 +51,15 @@ copilot plugin marketplace add heaths/plugins Discovers and retrieves code samples from Azure SDK packages in .NET, Node.js, and Rust projects. ```bash +# GitHub Copilot CLI copilot plugin install azsdk-samples-mcp@heaths-plugins ``` +```text +# Claude Code +/plugin install azsdk-samples-mcp@heaths-plugins +``` + ### linting Skills and tools for formatting and linting. @@ -28,11 +70,18 @@ Skills and tools for formatting and linting. | lint-markdown | Check and fix formatting and other issues in markdown files using markdownlint-cli2 | ```bash +# GitHub Copilot CLI copilot plugin install linting@heaths-plugins ``` +```text +# Claude Code +/plugin install linting@heaths-plugins +``` + ## License Licensed under the [MIT](LICENSE.txt) license. [GitHub Copilot CLI]: https://github.com/features/copilot/cli/ +[Claude Code]: https://claude.ai/code diff --git a/plugins/linting/.github/plugin/plugin.json b/plugins/linting/.claude-plugin/plugin.json similarity index 93% rename from plugins/linting/.github/plugin/plugin.json rename to plugins/linting/.claude-plugin/plugin.json index a73c95e..af0fd97 100644 --- a/plugins/linting/.github/plugin/plugin.json +++ b/plugins/linting/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "linting", "description": "Skills and tools for formatting and linting", - "version": "0.2.3", + "version": "0.2.4", "author": { "name": "Heath Stewart" },