Add plugin documentation and Windows symlink setup instructions

This commit is contained in:
Aaron Powell
2026-02-05 14:28:48 +11:00
parent 647889c0ac
commit 5bfa133abb
2 changed files with 89 additions and 0 deletions

View File

@@ -2,6 +2,31 @@
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.
## Prerequisites
### Windows Users: Enable Symlinks
This repository uses symbolic links for plugins. On Windows, you need to enable symlink support before cloning:
1. **Enable Developer Mode** (recommended):
- Open **Settings****Update & Security****For developers**
- Enable **Developer Mode**
- This allows creating symlinks without administrator privileges
2. **Configure Git to use symlinks**:
```bash
git config --global core.symlinks true
```
3. **Clone the repository** (after enabling the above):
```bash
git clone https://github.com/github/awesome-copilot.git
```
> **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.
**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).
## How to Contribute
### Adding Instructions
@@ -186,6 +211,49 @@ For full example of usage checkout edge-ai tasks collection:
- **Clear purpose**: The collection should solve a specific problem or workflow
- **Validate before submitting**: Run `node validate-collections.js` to ensure your manifest is valid
### Working with Plugins
Plugins are installable packages automatically generated from collections. They contain symlinked agents, commands (prompts), and skills from the source collection.
#### Creating a Plugin from a Collection
When you create a new collection, you can generate a corresponding plugin:
```bash
# Migrate a collection to a new plugin (first time only)
npm run plugin:migrate -- --collection <collection-id>
```
#### Updating Plugins After Collection Changes
If you modify a collection (add/remove items, update metadata), refresh the corresponding plugin:
```bash
# Refresh a single plugin
npm run plugin:refresh -- --collection <collection-id>
# Refresh all existing plugins
npm run plugin:refresh -- --all
```
#### Plugin Structure
```plaintext
plugins/<collection-id>/
├── .github/plugin/plugin.json # Plugin metadata (auto-generated)
├── README.md # Plugin documentation (auto-generated)
├── agents/ # Symlinks to agent files (.md)
├── commands/ # Symlinks to prompt files (.md)
└── skills/ # Symlinks to skill folders
```
#### Plugin Guidelines
- **Symlinks, not copies**: Plugin files are symlinks to the source files, avoiding duplication
- **Instructions excluded**: Instructions are not currently supported in plugins
- **Auto-generated content**: The `plugin.json` and `README.md` are generated from the collection metadata
- **Keep plugins in sync**: After modifying a collection, run `plugin:refresh` to update the plugin
## Submitting Your Contribution
1. **Fork this repository**

View File

@@ -60,6 +60,26 @@ An [`llms.txt`](https://github.github.io/awesome-copilot/llms.txt) file followin
## 🔧 How to Use
### 🔌 Plugins
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.
#### Installing Plugins
First, add the Awesome Copilot marketplace to your Copilot CLI:
```bash
copilot marketplace add github/awesome-copilot
```
Then install any plugin from the collection:
```bash
copilot plugin install <plugin-name>@awesome-copilot
```
Alternatively, you can use the `/plugin` command within a Copilot chat session to browse and install plugins interactively.
### 🤖 Custom Agents
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)
├── instructions/ # Coding standards and best practices (.instructions.md)
├── agents/ # AI personas and specialized modes (.agent.md)
├── collections/ # Curated collections of related items (.collection.yml)
├── plugins/ # Installable plugins generated from collections
├── scripts/ # Utility scripts for maintenance
└── skills/ # AI capabilities for specialized tasks
```