Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
254 changes: 254 additions & 0 deletions .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,254 @@
{
"name": "awesome-copilot",
"metadata": {
"description": "Community-driven collection of GitHub Copilot plugins, agents, prompts, and skills",
"version": "1.0.0",
"pluginRoot": "./plugins"
},
"owner": {
"name": "GitHub",
"email": "copilot@github.com"
},
"plugins": [
{
"name": "awesome-copilot",
"source": "./plugins/awesome-copilot",
"description": "Meta prompts that help you discover and generate curated GitHub Copilot agents, collections, instructions, prompts, and skills.",
"version": "1.0.0"
},
{
"name": "azure-cloud-development",
"source": "./plugins/azure-cloud-development",
"description": "Azure cloud development tools including Infrastructure as Code, architecture patterns, and cost optimization.",
"version": "1.0.0"
},
{
"name": "cast-imaging",
"source": "./plugins/cast-imaging",
"description": "A comprehensive collection of specialized agents for software analysis, impact assessment, structural quality advisories, and architectural review using CAST Imaging.",
"version": "1.0.0"
},
{
"name": "clojure-interactive-programming",
"source": "./plugins/clojure-interactive-programming",
"description": "Tools for REPL-first Clojure workflows featuring Clojure instructions, the interactive programming chat mode and supporting guidance.",
"version": "1.0.0"
},
{
"name": "copilot-sdk",
"source": "./plugins/copilot-sdk",
"description": "Build applications with the GitHub Copilot SDK across multiple programming languages. Includes comprehensive instructions for C#, Go, Node.js/TypeScript, and Python.",
"version": "1.0.0"
},
{
"name": "csharp-dotnet-development",
"source": "./plugins/csharp-dotnet-development",
"description": "Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices.",
"version": "1.0.0"
},
{
"name": "csharp-mcp-development",
"source": "./plugins/csharp-mcp-development",
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in C# using the official SDK.",
"version": "1.0.0"
},
{
"name": "database-data-management",
"source": "./plugins/database-data-management",
"description": "Database administration, SQL optimization, and data management tools for PostgreSQL, SQL Server, and general database development best practices.",
"version": "1.0.0"
},
{
"name": "dataverse-sdk-for-python",
"source": "./plugins/dataverse-sdk-for-python",
"description": "Comprehensive collection for building production-ready Python integrations with Microsoft Dataverse.",
"version": "1.0.0"
},
{
"name": "devops-oncall",
"source": "./plugins/devops-oncall",
"description": "A focused set of prompts, instructions, and a chat mode to help triage incidents and respond quickly with DevOps tools and Azure resources.",
"version": "1.0.0"
},
{
"name": "edge-ai-tasks",
"source": "./plugins/edge-ai-tasks",
"description": "Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai",
"version": "1.0.0"
},
{
"name": "frontend-web-dev",
"source": "./plugins/frontend-web-dev",
"description": "Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks.",
"version": "1.0.0"
},
{
"name": "go-mcp-development",
"source": "./plugins/go-mcp-development",
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in Go using the official github.com/modelcontextprotocol/go-sdk.",
"version": "1.0.0"
},
{
"name": "java-development",
"source": "./plugins/java-development",
"description": "Comprehensive collection of prompts and instructions for Java development including Spring Boot, Quarkus, testing, documentation, and best practices.",
"version": "1.0.0"
},
{
"name": "java-mcp-development",
"source": "./plugins/java-mcp-development",
"description": "Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration.",
"version": "1.0.0"
},
{
"name": "kotlin-mcp-development",
"source": "./plugins/kotlin-mcp-development",
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library.",
"version": "1.0.0"
},
{
"name": "mcp-m365-copilot",
"source": "./plugins/mcp-m365-copilot",
"description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot.",
"version": "1.0.0"
},
{
"name": "openapi-to-application-csharp-dotnet",
"source": "./plugins/openapi-to-application-csharp-dotnet",
"description": "Generate production-ready .NET applications from OpenAPI specifications. Includes ASP.NET Core project scaffolding, controller generation, and entity framework integration.",
"version": "1.0.0"
},
{
"name": "openapi-to-application-go",
"source": "./plugins/openapi-to-application-go",
"description": "Generate production-ready Go applications from OpenAPI specifications. Includes project scaffolding, handler generation, middleware setup, and Go best practices.",
"version": "1.0.0"
},
{
"name": "openapi-to-application-java-spring-boot",
"source": "./plugins/openapi-to-application-java-spring-boot",
"description": "Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, and service layer organization.",
"version": "1.0.0"
},
{
"name": "openapi-to-application-nodejs-nestjs",
"source": "./plugins/openapi-to-application-nodejs-nestjs",
"description": "Generate production-ready NestJS applications from OpenAPI specifications. Includes project scaffolding, controller and service generation, and TypeScript best practices.",
"version": "1.0.0"
},
{
"name": "openapi-to-application-python-fastapi",
"source": "./plugins/openapi-to-application-python-fastapi",
"description": "Generate production-ready FastAPI applications from OpenAPI specifications. Includes project scaffolding, route generation, and dependency injection.",
"version": "1.0.0"
},
{
"name": "partners",
"source": "./plugins/partners",
"description": "Custom agents that have been created by GitHub partners.",
"version": "1.0.0"
},
{
"name": "pcf-development",
"source": "./plugins/pcf-development",
"description": "Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps.",
"version": "1.0.0"
},
{
"name": "php-mcp-development",
"source": "./plugins/php-mcp-development",
"description": "Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery.",
"version": "1.0.0"
},
{
"name": "power-apps-code-apps",
"source": "./plugins/power-apps-code-apps",
"description": "Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance.",
"version": "1.0.0"
},
{
"name": "power-bi-development",
"source": "./plugins/power-bi-development",
"description": "Comprehensive Power BI development resources including data modeling, DAX optimization, performance tuning, and visualization design.",
"version": "1.0.0"
},
{
"name": "power-platform-mcp-connector-development",
"source": "./plugins/power-platform-mcp-connector-development",
"description": "Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio.",
"version": "1.0.0"
},
{
"name": "project-planning",
"source": "./plugins/project-planning",
"description": "Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization.",
"version": "1.0.0"
},
{
"name": "python-mcp-development",
"source": "./plugins/python-mcp-development",
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in Python using the official SDK with FastMCP.",
"version": "1.0.0"
},
{
"name": "ruby-mcp-development",
"source": "./plugins/ruby-mcp-development",
"description": "Complete toolkit for building Model Context Protocol servers in Ruby using the official MCP Ruby SDK gem with Rails integration support.",
"version": "1.0.0"
},
{
"name": "rust-mcp-development",
"source": "./plugins/rust-mcp-development",
"description": "Build high-performance Model Context Protocol servers in Rust using the official rmcp SDK with async/await and procedural macros.",
"version": "1.0.0"
},
{
"name": "security-best-practices",
"source": "./plugins/security-best-practices",
"description": "Security frameworks, accessibility guidelines, performance optimization, and code quality best practices.",
"version": "1.0.0"
},
{
"name": "software-engineering-team",
"source": "./plugins/software-engineering-team",
"description": "7 specialized agents covering the full software development lifecycle from UX design and architecture to security and DevOps.",
"version": "1.0.0"
},
{
"name": "structured-autonomy",
"source": "./plugins/structured-autonomy",
"description": "Premium planning, thrifty implementation.",
"version": "1.0.0"
},
{
"name": "swift-mcp-development",
"source": "./plugins/swift-mcp-development",
"description": "Comprehensive collection for building Model Context Protocol servers in Swift using the official MCP Swift SDK with modern concurrency features.",
"version": "1.0.0"
},
{
"name": "technical-spike",
"source": "./plugins/technical-spike",
"description": "Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before specification and implementation.",
"version": "1.0.0"
},
{
"name": "testing-automation",
"source": "./plugins/testing-automation",
"description": "Comprehensive collection for writing tests, test automation, and TDD including unit tests, integration tests, and end-to-end testing.",
"version": "1.0.0"
},
{
"name": "typescript-mcp-development",
"source": "./plugins/typescript-mcp-development",
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in TypeScript/Node.js using the official SDK.",
"version": "1.0.0"
},
{
"name": "typespec-m365-copilot",
"source": "./plugins/typespec-m365-copilot",
"description": "Comprehensive collection of prompts, instructions, and resources for building declarative agents and API plugins using TypeSpec for Microsoft 365 Copilot.",
"version": "1.0.0"
}
]
}
68 changes: 68 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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**
Expand Down
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
```
Expand Down
Loading