mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 02:15:12 +00:00
Merge main: resolve conflicts, keep plugin-first approach
- Removed re-added collections/ path triggers from CI - Merged plugin checklist improvements from both branches - Kept plugin:generate-marketplace script from main - Removed new ospo-sponsorship collection file (plugin already exists) - Dropped obsolete plugin:migrate and plugin:refresh scripts
This commit is contained in:
72
.github/plugin/marketplace.json
vendored
72
.github/plugin/marketplace.json
vendored
@@ -19,7 +19,7 @@
|
|||||||
{
|
{
|
||||||
"name": "azure-cloud-development",
|
"name": "azure-cloud-development",
|
||||||
"source": "./plugins/azure-cloud-development",
|
"source": "./plugins/azure-cloud-development",
|
||||||
"description": "Azure cloud development tools including Infrastructure as Code, architecture patterns, and cost optimization.",
|
"description": "Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -34,10 +34,16 @@
|
|||||||
"description": "Tools for REPL-first Clojure workflows featuring Clojure instructions, the interactive programming chat mode and supporting guidance.",
|
"description": "Tools for REPL-first Clojure workflows featuring Clojure instructions, the interactive programming chat mode and supporting guidance.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "context-engineering",
|
||||||
|
"source": "./plugins/context-engineering",
|
||||||
|
"description": "Tools and techniques for maximizing GitHub Copilot effectiveness through better context management. Includes guidelines for structuring code, an agent for planning multi-file changes, and prompts for context-aware development.",
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "copilot-sdk",
|
"name": "copilot-sdk",
|
||||||
"source": "./plugins/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.",
|
"description": "Build applications with the GitHub Copilot SDK across multiple programming languages. Includes comprehensive instructions for C#, Go, Node.js/TypeScript, and Python to help you create AI-powered applications.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -49,7 +55,7 @@
|
|||||||
{
|
{
|
||||||
"name": "csharp-mcp-development",
|
"name": "csharp-mcp-development",
|
||||||
"source": "./plugins/csharp-mcp-development",
|
"source": "./plugins/csharp-mcp-development",
|
||||||
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in C# using the official SDK.",
|
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in C# using the official SDK. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -61,7 +67,7 @@
|
|||||||
{
|
{
|
||||||
"name": "dataverse-sdk-for-python",
|
"name": "dataverse-sdk-for-python",
|
||||||
"source": "./plugins/dataverse-sdk-for-python",
|
"source": "./plugins/dataverse-sdk-for-python",
|
||||||
"description": "Comprehensive collection for building production-ready Python integrations with Microsoft Dataverse.",
|
"description": "Comprehensive collection for building production-ready Python integrations with Microsoft Dataverse. Includes official documentation, best practices, advanced features, file operations, and code generation prompts.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -82,10 +88,16 @@
|
|||||||
"description": "Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks.",
|
"description": "Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "gem-team",
|
||||||
|
"source": "./plugins/gem-team",
|
||||||
|
"description": "A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing.",
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "go-mcp-development",
|
"name": "go-mcp-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in Go using the official github.com/modelcontextprotocol/go-sdk. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -103,91 +115,97 @@
|
|||||||
{
|
{
|
||||||
"name": "kotlin-mcp-development",
|
"name": "kotlin-mcp-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mcp-m365-copilot",
|
"name": "mcp-m365-copilot",
|
||||||
"source": "./plugins/mcp-m365-copilot",
|
"source": "./plugins/mcp-m365-copilot",
|
||||||
"description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot.",
|
"description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "openapi-to-application-csharp-dotnet",
|
"name": "openapi-to-application-csharp-dotnet",
|
||||||
"source": "./plugins/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.",
|
"description": "Generate production-ready .NET applications from OpenAPI specifications. Includes ASP.NET Core project scaffolding, controller generation, entity framework integration, and C# best practices.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "openapi-to-application-go",
|
"name": "openapi-to-application-go",
|
||||||
"source": "./plugins/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.",
|
"description": "Generate production-ready Go applications from OpenAPI specifications. Includes project scaffolding, handler generation, middleware setup, and Go best practices for REST APIs.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "openapi-to-application-java-spring-boot",
|
"name": "openapi-to-application-java-spring-boot",
|
||||||
"source": "./plugins/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.",
|
"description": "Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, service layer organization, and Spring Boot best practices.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "openapi-to-application-nodejs-nestjs",
|
"name": "openapi-to-application-nodejs-nestjs",
|
||||||
"source": "./plugins/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.",
|
"description": "Generate production-ready NestJS applications from OpenAPI specifications. Includes project scaffolding, controller and service generation, TypeScript best practices, and enterprise patterns.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "openapi-to-application-python-fastapi",
|
"name": "openapi-to-application-python-fastapi",
|
||||||
"source": "./plugins/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.",
|
"description": "Generate production-ready FastAPI applications from OpenAPI specifications. Includes project scaffolding, route generation, dependency injection, and Python best practices for async APIs.",
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ospo-sponsorship",
|
||||||
|
"source": "./plugins/ospo-sponsorship",
|
||||||
|
"description": "Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "partners",
|
"name": "partners",
|
||||||
"source": "./plugins/partners",
|
"source": "./plugins/partners",
|
||||||
"description": "Custom agents that have been created by GitHub partners.",
|
"description": "Custom agents that have been created by GitHub partners",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pcf-development",
|
"name": "pcf-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-mcp-development",
|
"name": "php-mcp-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery, including best practices, project generation, and expert assistance",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "power-apps-code-apps",
|
"name": "power-apps-code-apps",
|
||||||
"source": "./plugins/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.",
|
"description": "Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance for building code-first applications with Power Platform integration.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "power-bi-development",
|
"name": "power-bi-development",
|
||||||
"source": "./plugins/power-bi-development",
|
"source": "./plugins/power-bi-development",
|
||||||
"description": "Comprehensive Power BI development resources including data modeling, DAX optimization, performance tuning, and visualization design.",
|
"description": "Comprehensive Power BI development resources including data modeling, DAX optimization, performance tuning, visualization design, security best practices, and DevOps/ALM guidance for building enterprise-grade Power BI solutions.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "power-platform-mcp-connector-development",
|
"name": "power-platform-mcp-connector-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "project-planning",
|
"name": "project-planning",
|
||||||
"source": "./plugins/project-planning",
|
"source": "./plugins/project-planning",
|
||||||
"description": "Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization.",
|
"description": "Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "python-mcp-development",
|
"name": "python-mcp-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in Python using the official SDK with FastMCP. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -199,13 +217,13 @@
|
|||||||
{
|
{
|
||||||
"name": "rust-mcp-development",
|
"name": "rust-mcp-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Build high-performance Model Context Protocol servers in Rust using the official rmcp SDK with async/await, procedural macros, and type-safe implementations.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "security-best-practices",
|
"name": "security-best-practices",
|
||||||
"source": "./plugins/security-best-practices",
|
"source": "./plugins/security-best-practices",
|
||||||
"description": "Security frameworks, accessibility guidelines, performance optimization, and code quality best practices.",
|
"description": "Security frameworks, accessibility guidelines, performance optimization, and code quality best practices for building secure, maintainable, and high-performance applications.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -217,7 +235,7 @@
|
|||||||
{
|
{
|
||||||
"name": "structured-autonomy",
|
"name": "structured-autonomy",
|
||||||
"source": "./plugins/structured-autonomy",
|
"source": "./plugins/structured-autonomy",
|
||||||
"description": "Premium planning, thrifty implementation.",
|
"description": "Premium planning, thrifty implementation",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -229,25 +247,25 @@
|
|||||||
{
|
{
|
||||||
"name": "technical-spike",
|
"name": "technical-spike",
|
||||||
"source": "./plugins/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.",
|
"description": "Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "testing-automation",
|
"name": "testing-automation",
|
||||||
"source": "./plugins/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.",
|
"description": "Comprehensive collection for writing tests, test automation, and test-driven development including unit tests, integration tests, and end-to-end testing strategies.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "typescript-mcp-development",
|
"name": "typescript-mcp-development",
|
||||||
"source": "./plugins/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.",
|
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in TypeScript/Node.js using the official SDK. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "typespec-m365-copilot",
|
"name": "typespec-m365-copilot",
|
||||||
"source": "./plugins/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.",
|
"description": "Comprehensive collection of prompts, instructions, and resources for building declarative agents and API plugins using TypeSpec for Microsoft 365 Copilot extensibility.",
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
24
AGENTS.md
24
AGENTS.md
@@ -32,12 +32,15 @@ The Awesome GitHub Copilot repository is a community-driven collection of custom
|
|||||||
# Install dependencies
|
# Install dependencies
|
||||||
npm ci
|
npm ci
|
||||||
|
|
||||||
# Build the project (generates README.md)
|
# Build the project (generates README.md and marketplace.json)
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
# Validate plugin manifests
|
# Validate plugin manifests
|
||||||
npm run plugin:validate
|
npm run plugin:validate
|
||||||
|
|
||||||
|
# Generate marketplace.json only
|
||||||
|
npm run plugin:generate-marketplace
|
||||||
|
|
||||||
# Create a new plugin
|
# Create a new plugin
|
||||||
npm run plugin:create -- --name <plugin-name>
|
npm run plugin:create -- --name <plugin-name>
|
||||||
|
|
||||||
@@ -93,6 +96,15 @@ All agent files (`*.agent.md`), prompt files (`*.prompt.md`), and instruction fi
|
|||||||
- Follow the [GitHub Copilot hooks specification](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks)
|
- Follow the [GitHub Copilot hooks specification](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks)
|
||||||
- Optionally includes `tags` field for categorization
|
- Optionally includes `tags` field for categorization
|
||||||
|
|
||||||
|
#### Plugin Folders (plugins/*)
|
||||||
|
- Each plugin is a folder containing a `.github/plugin/plugin.json` file with metadata
|
||||||
|
- plugin.json must have `name` field (matching the folder name)
|
||||||
|
- plugin.json must have `description` field (describing the plugin's purpose)
|
||||||
|
- plugin.json must have `version` field (semantic version, e.g., "1.0.0")
|
||||||
|
- Plugin folders can contain any combination of agents, prompts, instructions, skills, and hooks
|
||||||
|
- The `marketplace.json` file is automatically generated from all plugins during build
|
||||||
|
- Plugins are discoverable and installable via GitHub Copilot CLI
|
||||||
|
|
||||||
### Adding New Resources
|
### Adding New Resources
|
||||||
|
|
||||||
When adding a new agent, prompt, instruction, skill, hook, or plugin:
|
When adding a new agent, prompt, instruction, skill, hook, or plugin:
|
||||||
@@ -123,11 +135,11 @@ When adding a new agent, prompt, instruction, skill, hook, or plugin:
|
|||||||
|
|
||||||
**For Plugins:**
|
**For Plugins:**
|
||||||
1. Run `npm run plugin:create -- --name <plugin-name>` to scaffold a new plugin
|
1. Run `npm run plugin:create -- --name <plugin-name>` to scaffold a new plugin
|
||||||
2. Add symlinks to agents, prompts, and skills in the plugin folder
|
2. Add agents, prompts, skills, or hooks to the plugin folder
|
||||||
3. Edit the generated `plugin.json` with your metadata
|
3. Edit the generated `plugin.json` with your metadata
|
||||||
4. Run `npm run plugin:validate` to validate the plugin structure
|
4. Run `npm run plugin:validate` to validate the plugin structure
|
||||||
5. Update the README.md by running: `npm run build`
|
5. Run `npm run build` to update README.md and marketplace.json
|
||||||
6. Verify the plugin appears in the generated README
|
6. Verify the plugin appears in `.github/plugin/marketplace.json`
|
||||||
|
|
||||||
### Testing Instructions
|
### Testing Instructions
|
||||||
|
|
||||||
@@ -230,13 +242,15 @@ For hook folders (hooks/*/):
|
|||||||
For plugins (plugins/*/):
|
For plugins (plugins/*/):
|
||||||
- [ ] Directory contains a `.github/plugin/plugin.json` file
|
- [ ] Directory contains a `.github/plugin/plugin.json` file
|
||||||
- [ ] Directory contains a `README.md` file
|
- [ ] Directory contains a `README.md` file
|
||||||
- [ ] `plugin.json` has `name` field matching the directory name
|
- [ ] `plugin.json` has `name` field matching the directory name (lowercase with hyphens)
|
||||||
- [ ] `plugin.json` has non-empty `description` field
|
- [ ] `plugin.json` has non-empty `description` field
|
||||||
|
- [ ] `plugin.json` has `version` field (semantic version, e.g., "1.0.0")
|
||||||
- [ ] Directory name is lower case with hyphens
|
- [ ] Directory name is lower case with hyphens
|
||||||
- [ ] If `tags` is present, it is an array of lowercase hyphenated strings
|
- [ ] If `tags` is present, it is an array of lowercase hyphenated strings
|
||||||
- [ ] If `items` is present, each item has `path` and `kind` fields
|
- [ ] If `items` is present, each item has `path` and `kind` fields
|
||||||
- [ ] The `kind` field value is one of: `prompt`, `agent`, `instruction`, `skill`, or `hook`
|
- [ ] The `kind` field value is one of: `prompt`, `agent`, `instruction`, `skill`, or `hook`
|
||||||
- [ ] The plugin does not reference non-existent files
|
- [ ] The plugin does not reference non-existent files
|
||||||
|
- [ ] Run `npm run build` to verify marketplace.json is updated correctly
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ Curated plugins of related prompts, agents, and skills organized around specific
|
|||||||
| [openapi-to-application-java-spring-boot](../plugins/openapi-to-application-java-spring-boot/README.md) | Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, service layer organization, and Spring Boot best practices. | 3 items | openapi, code-generation, api, java, spring-boot |
|
| [openapi-to-application-java-spring-boot](../plugins/openapi-to-application-java-spring-boot/README.md) | Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, service layer organization, and Spring Boot best practices. | 3 items | openapi, code-generation, api, java, spring-boot |
|
||||||
| [openapi-to-application-nodejs-nestjs](../plugins/openapi-to-application-nodejs-nestjs/README.md) | Generate production-ready NestJS applications from OpenAPI specifications. Includes project scaffolding, controller and service generation, TypeScript best practices, and enterprise patterns. | 3 items | openapi, code-generation, api, nodejs, typescript, nestjs |
|
| [openapi-to-application-nodejs-nestjs](../plugins/openapi-to-application-nodejs-nestjs/README.md) | Generate production-ready NestJS applications from OpenAPI specifications. Includes project scaffolding, controller and service generation, TypeScript best practices, and enterprise patterns. | 3 items | openapi, code-generation, api, nodejs, typescript, nestjs |
|
||||||
| [openapi-to-application-python-fastapi](../plugins/openapi-to-application-python-fastapi/README.md) | Generate production-ready FastAPI applications from OpenAPI specifications. Includes project scaffolding, route generation, dependency injection, and Python best practices for async APIs. | 3 items | openapi, code-generation, api, python, fastapi |
|
| [openapi-to-application-python-fastapi](../plugins/openapi-to-application-python-fastapi/README.md) | Generate production-ready FastAPI applications from OpenAPI specifications. Includes project scaffolding, route generation, dependency injection, and Python best practices for async APIs. | 3 items | openapi, code-generation, api, python, fastapi |
|
||||||
|
| [ospo-sponsorship](../plugins/ospo-sponsorship/README.md) | Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms. | 0 items | |
|
||||||
| [pcf-development](../plugins/pcf-development/README.md) | Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps | 17 items | power-apps, pcf, component-framework, typescript, power-platform |
|
| [pcf-development](../plugins/pcf-development/README.md) | Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps | 17 items | power-apps, pcf, component-framework, typescript, power-platform |
|
||||||
| [php-mcp-development](../plugins/php-mcp-development/README.md) | Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery, including best practices, project generation, and expert assistance | 3 items | php, mcp, model-context-protocol, server-development, sdk, attributes, composer |
|
| [php-mcp-development](../plugins/php-mcp-development/README.md) | Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery, including best practices, project generation, and expert assistance | 3 items | php, mcp, model-context-protocol, server-development, sdk, attributes, composer |
|
||||||
| [power-apps-code-apps](../plugins/power-apps-code-apps/README.md) | Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance for building code-first applications with Power Platform integration. | 3 items | power-apps, power-platform, typescript, react, code-apps, dataverse, connectors |
|
| [power-apps-code-apps](../plugins/power-apps-code-apps/README.md) | Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance for building code-first applications with Power Platform integration. | 3 items | power-apps, power-platform, typescript, react, code-apps, dataverse, connectors |
|
||||||
|
|||||||
@@ -1,6 +1,30 @@
|
|||||||
# Contributor Reporting (Maintainers) 🚧
|
# Contributor Reporting (Maintainers) 🚧
|
||||||
|
|
||||||
This directory contains a lightweight helper to generate human-readable reports about missing contributors.
|
This directory contains build scripts and utilities for maintaining the repository.
|
||||||
|
|
||||||
|
## Build Scripts
|
||||||
|
|
||||||
|
### `update-readme.mjs`
|
||||||
|
Generates the main README.md and documentation files from the repository content (agents, prompts, instructions, skills, hooks, collections).
|
||||||
|
|
||||||
|
### `generate-marketplace.mjs`
|
||||||
|
Automatically generates `.github/plugin/marketplace.json` from all plugin directories in the `plugins/` folder. This file is used by the GitHub Copilot CLI to discover and install plugins from this repository.
|
||||||
|
|
||||||
|
**How it works:**
|
||||||
|
- Scans all directories in `plugins/`
|
||||||
|
- Reads each plugin's `.github/plugin/plugin.json` for metadata
|
||||||
|
- Generates a consolidated `marketplace.json` with all available plugins
|
||||||
|
- Runs automatically as part of `npm run build`
|
||||||
|
|
||||||
|
**To run manually:**
|
||||||
|
```bash
|
||||||
|
npm run plugin:generate-marketplace
|
||||||
|
```
|
||||||
|
|
||||||
|
### `generate-website-data.mjs`
|
||||||
|
Generates JSON data files for the website from repository content.
|
||||||
|
|
||||||
|
## Contributor Tools
|
||||||
|
|
||||||
- `contributor-report.mjs` — generates a markdown report of merged PRs for missing contributors (includes shared helpers).
|
- `contributor-report.mjs` — generates a markdown report of merged PRs for missing contributors (includes shared helpers).
|
||||||
- `add-missing-contributors.mjs` — on-demand maintainer script to automatically add missing contributors to `.all-contributorsrc` (infers contribution types from merged PR files, then runs the all-contributors CLI).
|
- `add-missing-contributors.mjs` — on-demand maintainer script to automatically add missing contributors to `.all-contributorsrc` (infers contribution types from merged PR files, then runs the all-contributors CLI).
|
||||||
|
|||||||
99
eng/generate-marketplace.mjs
Executable file
99
eng/generate-marketplace.mjs
Executable file
@@ -0,0 +1,99 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
import fs from "fs";
|
||||||
|
import path from "path";
|
||||||
|
import { ROOT_FOLDER } from "./constants.mjs";
|
||||||
|
|
||||||
|
const PLUGINS_DIR = path.join(ROOT_FOLDER, "plugins");
|
||||||
|
const MARKETPLACE_FILE = path.join(ROOT_FOLDER, ".github", "plugin", "marketplace.json");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read plugin metadata from plugin.json file
|
||||||
|
* @param {string} pluginDir - Path to plugin directory
|
||||||
|
* @returns {object|null} - Plugin metadata or null if not found
|
||||||
|
*/
|
||||||
|
function readPluginMetadata(pluginDir) {
|
||||||
|
const pluginJsonPath = path.join(pluginDir, ".github", "plugin", "plugin.json");
|
||||||
|
|
||||||
|
if (!fs.existsSync(pluginJsonPath)) {
|
||||||
|
console.warn(`Warning: No plugin.json found for ${path.basename(pluginDir)}`);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const content = fs.readFileSync(pluginJsonPath, "utf8");
|
||||||
|
return JSON.parse(content);
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Error reading plugin.json for ${path.basename(pluginDir)}:`, error.message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate marketplace.json from plugin directories
|
||||||
|
*/
|
||||||
|
function generateMarketplace() {
|
||||||
|
console.log("Generating marketplace.json...");
|
||||||
|
|
||||||
|
if (!fs.existsSync(PLUGINS_DIR)) {
|
||||||
|
console.error(`Error: Plugins directory not found at ${PLUGINS_DIR}`);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read all plugin directories
|
||||||
|
const pluginDirs = fs.readdirSync(PLUGINS_DIR, { withFileTypes: true })
|
||||||
|
.filter(entry => entry.isDirectory())
|
||||||
|
.map(entry => entry.name)
|
||||||
|
.sort();
|
||||||
|
|
||||||
|
console.log(`Found ${pluginDirs.length} plugin directories`);
|
||||||
|
|
||||||
|
// Read metadata for each plugin
|
||||||
|
const plugins = [];
|
||||||
|
for (const dirName of pluginDirs) {
|
||||||
|
const pluginPath = path.join(PLUGINS_DIR, dirName);
|
||||||
|
const metadata = readPluginMetadata(pluginPath);
|
||||||
|
|
||||||
|
if (metadata) {
|
||||||
|
plugins.push({
|
||||||
|
name: metadata.name,
|
||||||
|
source: `./plugins/${dirName}`,
|
||||||
|
description: metadata.description,
|
||||||
|
version: metadata.version || "1.0.0"
|
||||||
|
});
|
||||||
|
console.log(`✓ Added plugin: ${metadata.name}`);
|
||||||
|
} else {
|
||||||
|
console.log(`✗ Skipped: ${dirName} (no valid plugin.json)`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create marketplace.json structure
|
||||||
|
const marketplace = {
|
||||||
|
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: plugins
|
||||||
|
};
|
||||||
|
|
||||||
|
// Ensure directory exists
|
||||||
|
const marketplaceDir = path.dirname(MARKETPLACE_FILE);
|
||||||
|
if (!fs.existsSync(marketplaceDir)) {
|
||||||
|
fs.mkdirSync(marketplaceDir, { recursive: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write marketplace.json
|
||||||
|
fs.writeFileSync(MARKETPLACE_FILE, JSON.stringify(marketplace, null, 2) + "\n");
|
||||||
|
|
||||||
|
console.log(`\n✓ Successfully generated marketplace.json with ${plugins.length} plugins`);
|
||||||
|
console.log(` Location: ${MARKETPLACE_FILE}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run the script
|
||||||
|
generateMarketplace();
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "npm run build",
|
"start": "npm run build",
|
||||||
"build": "node ./eng/update-readme.mjs",
|
"build": "node ./eng/update-readme.mjs && node ./eng/generate-marketplace.mjs",
|
||||||
"contributors:add": "all-contributors add",
|
"contributors:add": "all-contributors add",
|
||||||
"contributors:report": "node ./eng/contributor-report.mjs",
|
"contributors:report": "node ./eng/contributor-report.mjs",
|
||||||
"contributors:generate": "all-contributors generate",
|
"contributors:generate": "all-contributors generate",
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
"plugin:create": "node ./eng/create-plugin.mjs",
|
"plugin:create": "node ./eng/create-plugin.mjs",
|
||||||
"skill:validate": "node ./eng/validate-skills.mjs",
|
"skill:validate": "node ./eng/validate-skills.mjs",
|
||||||
"skill:create": "node ./eng/create-skill.mjs",
|
"skill:create": "node ./eng/create-skill.mjs",
|
||||||
|
"plugin:generate-marketplace": "node ./eng/generate-marketplace.mjs",
|
||||||
"website:data": "node ./eng/generate-website-data.mjs",
|
"website:data": "node ./eng/generate-website-data.mjs",
|
||||||
"website:dev": "npm run website:data && npm run --prefix website dev",
|
"website:dev": "npm run website:data && npm run --prefix website dev",
|
||||||
"website:build": "npm run build && npm run website:data && npm run --prefix website build",
|
"website:build": "npm run build && npm run website:data && npm run --prefix website build",
|
||||||
|
|||||||
10
plugins/ospo-sponsorship/.github/plugin/plugin.json
vendored
Normal file
10
plugins/ospo-sponsorship/.github/plugin/plugin.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"name": "ospo-sponsorship",
|
||||||
|
"description": "Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms.",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"author": {
|
||||||
|
"name": "Awesome Copilot Community"
|
||||||
|
},
|
||||||
|
"repository": "https://github.com/github/awesome-copilot",
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
||||||
26
plugins/ospo-sponsorship/README.md
Normal file
26
plugins/ospo-sponsorship/README.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Open Source Sponsorship Plugin
|
||||||
|
|
||||||
|
Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Using Copilot CLI
|
||||||
|
copilot plugin install ospo-sponsorship@awesome-copilot
|
||||||
|
```
|
||||||
|
|
||||||
|
## What's Included
|
||||||
|
|
||||||
|
### Skills
|
||||||
|
|
||||||
|
| Skill | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| `SKILL.md` | Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke by providing a GitHub owner/repo (e.g. "find sponsorable dependencies in expressjs/express"). |
|
||||||
|
|
||||||
|
## Source
|
||||||
|
|
||||||
|
This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT
|
||||||
1
plugins/ospo-sponsorship/skills/sponsor-finder
Symbolic link
1
plugins/ospo-sponsorship/skills/sponsor-finder
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../../skills/sponsor-finder
|
||||||
Reference in New Issue
Block a user