Skip to content

Commit 5bfa133

Browse files
committed
Add plugin documentation and Windows symlink setup instructions
1 parent 647889c commit 5bfa133

2 files changed

Lines changed: 89 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,31 @@
22

33
Thank you for your interest in contributing to the Awesome GitHub Copilot repository! We welcome contributions from the community to help expand our collection of custom instructions and prompts.
44

5+
## Prerequisites
6+
7+
### Windows Users: Enable Symlinks
8+
9+
This repository uses symbolic links for plugins. On Windows, you need to enable symlink support before cloning:
10+
11+
1. **Enable Developer Mode** (recommended):
12+
- Open **Settings****Update & Security****For developers**
13+
- Enable **Developer Mode**
14+
- This allows creating symlinks without administrator privileges
15+
16+
2. **Configure Git to use symlinks**:
17+
```bash
18+
git config --global core.symlinks true
19+
```
20+
21+
3. **Clone the repository** (after enabling the above):
22+
```bash
23+
git clone https://github.com/github/awesome-copilot.git
24+
```
25+
26+
> **Note:** If you cloned the repository before enabling symlinks, the symlinks will appear as plain text files containing the target path. You'll need to delete the local repository and re-clone after enabling symlink support.
27+
28+
**Alternative for older Windows versions:** If Developer Mode is not available, you can run Git Bash as Administrator, or grant your user the "Create symbolic links" privilege via Local Security Policy (`secpol.msc` → Local Policies → User Rights Assignment → Create symbolic links).
29+
530
## How to Contribute
631

732
### Adding Instructions
@@ -186,6 +211,49 @@ For full example of usage checkout edge-ai tasks collection:
186211
- **Clear purpose**: The collection should solve a specific problem or workflow
187212
- **Validate before submitting**: Run `node validate-collections.js` to ensure your manifest is valid
188213

214+
### Working with Plugins
215+
216+
Plugins are installable packages automatically generated from collections. They contain symlinked agents, commands (prompts), and skills from the source collection.
217+
218+
#### Creating a Plugin from a Collection
219+
220+
When you create a new collection, you can generate a corresponding plugin:
221+
222+
```bash
223+
# Migrate a collection to a new plugin (first time only)
224+
npm run plugin:migrate -- --collection <collection-id>
225+
```
226+
227+
#### Updating Plugins After Collection Changes
228+
229+
If you modify a collection (add/remove items, update metadata), refresh the corresponding plugin:
230+
231+
```bash
232+
# Refresh a single plugin
233+
npm run plugin:refresh -- --collection <collection-id>
234+
235+
# Refresh all existing plugins
236+
npm run plugin:refresh -- --all
237+
```
238+
239+
#### Plugin Structure
240+
241+
```plaintext
242+
plugins/<collection-id>/
243+
├── .github/plugin/plugin.json # Plugin metadata (auto-generated)
244+
├── README.md # Plugin documentation (auto-generated)
245+
├── agents/ # Symlinks to agent files (.md)
246+
├── commands/ # Symlinks to prompt files (.md)
247+
└── skills/ # Symlinks to skill folders
248+
```
249+
250+
#### Plugin Guidelines
251+
252+
- **Symlinks, not copies**: Plugin files are symlinks to the source files, avoiding duplication
253+
- **Instructions excluded**: Instructions are not currently supported in plugins
254+
- **Auto-generated content**: The `plugin.json` and `README.md` are generated from the collection metadata
255+
- **Keep plugins in sync**: After modifying a collection, run `plugin:refresh` to update the plugin
256+
189257
## Submitting Your Contribution
190258

191259
1. **Fork this repository**

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,26 @@ An [`llms.txt`](https://github.github.io/awesome-copilot/llms.txt) file followin
6060

6161
## 🔧 How to Use
6262

63+
### 🔌 Plugins
64+
65+
Plugins are installable packages generated from collections. Each plugin contains symlinked agents, commands (prompts), and skills from the source collection, making it easy to install a curated set of resources.
66+
67+
#### Installing Plugins
68+
69+
First, add the Awesome Copilot marketplace to your Copilot CLI:
70+
71+
```bash
72+
copilot marketplace add github/awesome-copilot
73+
```
74+
75+
Then install any plugin from the collection:
76+
77+
```bash
78+
copilot plugin install <plugin-name>@awesome-copilot
79+
```
80+
81+
Alternatively, you can use the `/plugin` command within a Copilot chat session to browse and install plugins interactively.
82+
6383
### 🤖 Custom Agents
6484

6585
Custom agents can be used in Copilot coding agent (CCA), VS Code, and Copilot CLI (coming soon). For CCA, when assigning an issue to Copilot, select the custom agent from the provided list. In VS Code, you can activate the custom agent in the agents session, alongside built-in agents like Plan and Agent.
@@ -107,6 +127,7 @@ For AI coding agents working with this project, refer to [AGENTS.md](AGENTS.md)
107127
├── instructions/ # Coding standards and best practices (.instructions.md)
108128
├── agents/ # AI personas and specialized modes (.agent.md)
109129
├── collections/ # Curated collections of related items (.collection.yml)
130+
├── plugins/ # Installable plugins generated from collections
110131
├── scripts/ # Utility scripts for maintenance
111132
└── skills/ # AI capabilities for specialized tasks
112133
```

0 commit comments

Comments
 (0)