Skip to content

Commit dbd105c

Browse files
belaltaher8saritai
andauthored
Docs about plugins in CCA (#61752)
Co-authored-by: Sarita Iyer <66540150+saritai@users.noreply.github.com>
1 parent 6044168 commit dbd105c

13 files changed

Lines changed: 127 additions & 87 deletions

File tree

content/copilot/concepts/agents/about-enterprise-plugin-standards.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Enterprise-managed plugin standards allow administrators to **define and enforce
2323

2424
Plugin standards apply to all users on the enterprise's {% data variables.product.prodname_copilot_short %} plan, across the following clients:
2525

26-
* **{% data variables.copilot.copilot_cli_short %}**: see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-cli-plugins)
26+
* **{% data variables.copilot.copilot_cli_short %} and {% data variables.copilot.copilot_cloud_agent %}**: see [AUTOTITLE](/copilot/concepts/agents/about-plugins)
2727
* **{% data variables.product.prodname_vscode_shortname %}** (version 1.122 and later): see [Agent plugins in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/agent-customization/agent-plugins) in the {% data variables.product.prodname_vscode_shortname %} documentation
2828

2929
Users must upgrade to a supported client version for these standards to be applied.
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
title: About {% data variables.product.prodname_copilot %} plugins
3+
shortTitle: Plugins
4+
allowTitleToDifferFromFilename: true
5+
intro: 'Plugins are installable packages that extend {% data variables.product.prodname_copilot_short %} with reusable agents, skills, hooks, and integrations.'
6+
product: '{% data reusables.gated-features.copilot-cli %}<br><br>{% data reusables.gated-features.copilot-cloud-agent %}<br><a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=purchase&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 %}</a>'
7+
versions:
8+
feature: copilot
9+
contentType: concepts
10+
category:
11+
- Learn about Copilot # Copilot discovery page
12+
- Learn about Copilot CLI # Copilot CLI bespoke page
13+
docsTeamMetrics:
14+
- copilot-cli
15+
redirect_from:
16+
- /copilot/concepts/agents/copilot-cli/about-cli-plugins
17+
---
18+
19+
Plugins provide a way to distribute custom {% data variables.product.prodname_copilot_short %} functionality. You can use a plugin to add a preconfigured set of capabilities to {% data variables.product.prodname_copilot_short %}, including {% data variables.copilot.copilot_cli_short %} and {% data variables.copilot.copilot_cloud_agent %}.
20+
21+
## What is a plugin?
22+
23+
* A distributable package that extends {% data variables.product.prodname_copilot_short %}'s functionality.
24+
* A bundle of components in a single installable unit.
25+
26+
## What plugins contain
27+
28+
A plugin can contain some or all of the following components:
29+
30+
* **Custom agents** — Specialized AI assistants (`*.agent.md` files in `agents/`)
31+
* **Skills** — Discrete callable capabilities (skills subdirectories in `skills/`, containing a `SKILL.md` file)
32+
* **Hooks** — Event handlers that intercept agent behavior (a `hooks.json` file in the plugin root, or in `hooks/`)
33+
* **MCP server configurations** — Model Context Protocol integrations (a `.mcp.json` file in the plugin root, or an `mcp.json` file in `.github/`)
34+
* **LSP server configurations** — Language Server Protocol integrations (an `lsp.json` file in the plugin root, or in `.github/`)
35+
36+
## How plugins are structured
37+
38+
A plugin is a directory with a specific structure. At minimum, it contains a `plugin.json` manifest file at the root of the directory. The manifest gives the plugin a name and points to the components the plugin provides. Alongside the manifest, the directory can contain any combination of agents, skills, hooks, MCP server configurations, and LSP server configurations.
39+
40+
A typical plugin directory looks like this:
41+
42+
```text
43+
my-plugin/
44+
├── plugin.json # Required manifest
45+
├── agents/ # Custom agents (optional)
46+
│ └── helper.agent.md
47+
├── skills/ # Skills (optional)
48+
│ └── deploy/
49+
│ └── SKILL.md
50+
├── hooks.json # Hook configuration (optional)
51+
├── .mcp.json # MCP server config (optional)
52+
└── lsp.json # LSP server config (optional)
53+
```
54+
55+
For the full set of fields you can include in the manifest, see [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference). For step-by-step guidance on authoring a plugin, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating).
56+
57+
## Why use plugins?
58+
59+
Plugins provide the following benefits:
60+
61+
* Reusability across projects
62+
* Team standardization of {% data variables.product.prodname_copilot_short %} configuration
63+
* Share domain expertise (for example, by providing the skills of a Rails expert, or a Kubernetes expert)
64+
* Encapsulate complex MCP server setups
65+
66+
## Where can I get plugins?
67+
68+
You can install plugins from:
69+
70+
* A marketplace
71+
* A repository
72+
* A local path
73+
74+
A marketplace is a location where developers can publish, discover, install, and manage plugins. It's a bit like an app store—but for plugins.
75+
76+
Examples of marketplaces include:
77+
78+
* [copilot-plugins](https://github.com/github/copilot-plugins) (added by default)
79+
* [awesome-copilot](https://github.com/github/awesome-copilot) (added by default)
80+
* [claude-code-plugins](https://github.com/anthropics/claude-code)
81+
* [claudeforge-marketplace](https://github.com/claudeforge/marketplace)
82+
83+
How you install a plugin depends on which client you're using:
84+
85+
* In {% data variables.copilot.copilot_cli_short %}, you can install plugins imperatively using the `copilot plugin install` command or the `/plugin install` slash command, or declaratively by adding the plugin to the `enabledPlugins` field of either a user-level `~/.copilot/settings.json` file or a repository-level `.github/copilot/settings.json` file. See [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing).
86+
* In {% data variables.copilot.copilot_cloud_agent %}, you install plugins declaratively by adding them to the `enabledPlugins` field of the repository's `.github/copilot/settings.json` file. To install plugins from a marketplace that isn't registered by default, you can also add the marketplace to the `extraKnownMarketplaces` field in the same file.
87+
88+
Enterprise administrators can define plugin standards that apply to users on the enterprise's {% data variables.product.prodname_copilot_short %} plan, including specifying additional marketplaces and plugins that are automatically installed. See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards).
89+
90+
## How plugin marketplaces work
91+
92+
A plugin marketplace is a registry of plugins that you can browse and install from. A marketplace can be hosted in a repository on {% data variables.product.prodname_dotcom_the_website %}, in any other online Git hosting service, or on your local or shared file system.
93+
94+
A marketplace is defined by a `marketplace.json` file, which provides metadata about the marketplace and lists the plugins it makes available. Each entry in the marketplace's `plugins` array describes a plugin—including its name, description, version, and the path to the plugin's directory.
95+
96+
Because plugins in a marketplace are versioned, marketplaces make it easy to discover, install, and update plugins, and to share them across a team. For step-by-step guidance on creating a marketplace, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/plugins-marketplace).
97+
98+
## Plugins compared with manual configuration
99+
100+
Any functionality that you could add with a plugin, you could also add by configuring {% data variables.product.prodname_copilot_short %} manually—for example, by adding custom agent profiles or MCP servers. However, plugins provide several advantages over manual configuration:
101+
102+
| Feature | Manual configuration in a repository | Plugin |
103+
|------------|-----------------------------|-----------------|
104+
| Scope | Single repository | Any project |
105+
| Sharing | Manual copy/paste | Install command or `enabledPlugins` entry |
106+
| Versioning | Git history | Marketplace versions |
107+
| Discovery | Searching repositories | Marketplace browsing |
108+
109+
## Further reading
110+
111+
* [AUTOTITLE](/copilot/concepts/agents/about-agent-skills)
112+
* [AUTOTITLE](/copilot/concepts/agents/hooks)
113+
* [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-custom-agents)

content/copilot/concepts/agents/copilot-cli/about-cli-plugins.md

Lines changed: 0 additions & 79 deletions
This file was deleted.

content/copilot/concepts/agents/copilot-cli/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ children:
1111
- /cancel-and-roll-back
1212
- /about-remote-control
1313
- /about-custom-agents
14-
- /about-cli-plugins
1514
- /autopilot
1615
- /fleet
1716
- /research

content/copilot/concepts/agents/copilot-cli/lsp-servers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ The following language server operations are supported:
5050

5151
For {% data variables.copilot.copilot_cli_short %} to be able to use an LSP server, you must first install the server software on your local machine and then configure it in one of the configuration files that {% data variables.copilot.copilot_cli_short %} reads on startup. See [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers).
5252

53-
An LSP server may also be added as part of a CLI plugin that you choose to install. A plugin might include an LSP server if, for example, it's designed to work with an uncommon programming language or a framework-specific file type. LSP servers included as part of a plugin are automatically available when you install the plugin—no additional configuration is needed. If you uninstall the plugin, the LSP server is removed. For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-cli-plugins).
53+
An LSP server may also be added as part of a CLI plugin that you choose to install. A plugin might include an LSP server if, for example, it's designed to work with an uncommon programming language or a framework-specific file type. LSP servers included as part of a plugin are automatically available when you install the plugin—no additional configuration is needed. If you uninstall the plugin, the LSP server is removed. For more information, see [AUTOTITLE](/copilot/concepts/agents/about-plugins).
5454

5555
## How LSP servers are loaded
5656

content/copilot/concepts/agents/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ children:
1313
- /about-github-agentic-workflows
1414
- /copilot-memory
1515
- /hooks
16+
- /about-plugins
1617
- /about-enterprise-plugin-standards
1718
- /about-third-party-coding-agents
1819
- /agent-apps

content/copilot/how-tos/copilot-cli/customize-copilot/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,4 @@ For more information, see [AUTOTITLE](/copilot/concepts/context/mcp).
6565

6666
They bundle multiple customization components together into a single installable unit. You can install plugins directly from a repository, from a plugin marketplace, or from a local path.
6767

68-
For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-cli-plugins).
68+
For more information, see [AUTOTITLE](/copilot/concepts/agents/about-plugins).

content/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ docsTeamMetrics:
1616

1717
## Introduction
1818

19-
Plugins are packages that extend the functionality of {% data variables.copilot.copilot_cli_short %}. See [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-cli-plugins).
19+
Plugins are packages that extend the functionality of {% data variables.copilot.copilot_cli_short %}. See [AUTOTITLE](/copilot/concepts/agents/about-plugins).
2020

2121
{% data reusables.copilot.copilot-cli.cli-help-note %}
2222

content/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ docsTeamMetrics:
1818

1919
Plugins are packages that extend the functionality of {% data variables.copilot.copilot_cli_short %}. You can install a plugin from a marketplace that you have registered with the CLI.
2020

21-
For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-cli-plugins).
21+
For more information, see [AUTOTITLE](/copilot/concepts/agents/about-plugins).
2222

2323
{% data reusables.copilot.copilot-cli.cli-help-note %}
2424

content/copilot/how-tos/copilot-cli/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ children:
2626
- /automate-copilot-cli/run-cli-programmatically
2727
- /automate-copilot-cli/schedule-prompts
2828
- /content/copilot/concepts/agents/about-agent-skills
29-
- /content/copilot/concepts/agents/copilot-cli/about-cli-plugins
29+
- /content/copilot/concepts/agents/about-plugins
3030
- /content/copilot/concepts/agents/copilot-cli/about-copilot-cli
3131
- /content/copilot/concepts/agents/copilot-cli/about-custom-agents
3232
- /content/copilot/concepts/agents/copilot-cli/about-remote-control

0 commit comments

Comments
 (0)