Skip to content

Commit 3297963

Browse files
authored
Merge pull request #783 from agreaves-ms/fix/marketplace-plugin-source
fix: update plugin source paths in marketplace.json generation
2 parents 7bebd4a + 6951523 commit 3297963

File tree

2 files changed

+57
-57
lines changed

2 files changed

+57
-57
lines changed

.github/plugin/marketplace.json

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,271 +12,271 @@
1212
"plugins": [
1313
{
1414
"name": "awesome-copilot",
15-
"source": "./plugins/awesome-copilot",
15+
"source": "awesome-copilot",
1616
"description": "Meta prompts that help you discover and generate curated GitHub Copilot agents, instructions, prompts, and skills.",
1717
"version": "1.0.0"
1818
},
1919
{
2020
"name": "azure-cloud-development",
21-
"source": "./plugins/azure-cloud-development",
21+
"source": "azure-cloud-development",
2222
"description": "Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications.",
2323
"version": "1.0.0"
2424
},
2525
{
2626
"name": "cast-imaging",
27-
"source": "./plugins/cast-imaging",
27+
"source": "cast-imaging",
2828
"description": "A comprehensive collection of specialized agents for software analysis, impact assessment, structural quality advisories, and architectural review using CAST Imaging.",
2929
"version": "1.0.0"
3030
},
3131
{
3232
"name": "clojure-interactive-programming",
33-
"source": "./plugins/clojure-interactive-programming",
33+
"source": "clojure-interactive-programming",
3434
"description": "Tools for REPL-first Clojure workflows featuring Clojure instructions, the interactive programming chat mode and supporting guidance.",
3535
"version": "1.0.0"
3636
},
3737
{
3838
"name": "context-engineering",
39-
"source": "./plugins/context-engineering",
39+
"source": "context-engineering",
4040
"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.",
4141
"version": "1.0.0"
4242
},
4343
{
4444
"name": "copilot-sdk",
45-
"source": "./plugins/copilot-sdk",
45+
"source": "copilot-sdk",
4646
"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.",
4747
"version": "1.0.0"
4848
},
4949
{
5050
"name": "csharp-dotnet-development",
51-
"source": "./plugins/csharp-dotnet-development",
51+
"source": "csharp-dotnet-development",
5252
"description": "Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices.",
5353
"version": "1.1.0"
5454
},
5555
{
5656
"name": "csharp-mcp-development",
57-
"source": "./plugins/csharp-mcp-development",
57+
"source": "csharp-mcp-development",
5858
"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.",
5959
"version": "1.0.0"
6060
},
6161
{
6262
"name": "database-data-management",
63-
"source": "./plugins/database-data-management",
63+
"source": "database-data-management",
6464
"description": "Database administration, SQL optimization, and data management tools for PostgreSQL, SQL Server, and general database development best practices.",
6565
"version": "1.0.0"
6666
},
6767
{
6868
"name": "dataverse-sdk-for-python",
69-
"source": "./plugins/dataverse-sdk-for-python",
69+
"source": "dataverse-sdk-for-python",
7070
"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.",
7171
"version": "1.0.0"
7272
},
7373
{
7474
"name": "devops-oncall",
75-
"source": "./plugins/devops-oncall",
75+
"source": "devops-oncall",
7676
"description": "A focused set of prompts, instructions, and a chat mode to help triage incidents and respond quickly with DevOps tools and Azure resources.",
7777
"version": "1.0.0"
7878
},
7979
{
8080
"name": "edge-ai-tasks",
81-
"source": "./plugins/edge-ai-tasks",
81+
"source": "edge-ai-tasks",
8282
"description": "Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai",
8383
"version": "1.0.0"
8484
},
8585
{
8686
"name": "frontend-web-dev",
87-
"source": "./plugins/frontend-web-dev",
87+
"source": "frontend-web-dev",
8888
"description": "Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks.",
8989
"version": "1.0.0"
9090
},
9191
{
9292
"name": "gem-team",
93-
"source": "./plugins/gem-team",
93+
"source": "gem-team",
9494
"description": "A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing.",
9595
"version": "1.1.0"
9696
},
9797
{
9898
"name": "go-mcp-development",
99-
"source": "./plugins/go-mcp-development",
99+
"source": "go-mcp-development",
100100
"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.",
101101
"version": "1.0.0"
102102
},
103103
{
104104
"name": "java-development",
105-
"source": "./plugins/java-development",
105+
"source": "java-development",
106106
"description": "Comprehensive collection of prompts and instructions for Java development including Spring Boot, Quarkus, testing, documentation, and best practices.",
107107
"version": "1.0.0"
108108
},
109109
{
110110
"name": "java-mcp-development",
111-
"source": "./plugins/java-mcp-development",
111+
"source": "java-mcp-development",
112112
"description": "Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration.",
113113
"version": "1.0.0"
114114
},
115115
{
116116
"name": "kotlin-mcp-development",
117-
"source": "./plugins/kotlin-mcp-development",
117+
"source": "kotlin-mcp-development",
118118
"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.",
119119
"version": "1.0.0"
120120
},
121121
{
122122
"name": "mcp-m365-copilot",
123-
"source": "./plugins/mcp-m365-copilot",
123+
"source": "mcp-m365-copilot",
124124
"description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot",
125125
"version": "1.0.0"
126126
},
127127
{
128128
"name": "openapi-to-application-csharp-dotnet",
129-
"source": "./plugins/openapi-to-application-csharp-dotnet",
129+
"source": "openapi-to-application-csharp-dotnet",
130130
"description": "Generate production-ready .NET applications from OpenAPI specifications. Includes ASP.NET Core project scaffolding, controller generation, entity framework integration, and C# best practices.",
131131
"version": "1.0.0"
132132
},
133133
{
134134
"name": "openapi-to-application-go",
135-
"source": "./plugins/openapi-to-application-go",
135+
"source": "openapi-to-application-go",
136136
"description": "Generate production-ready Go applications from OpenAPI specifications. Includes project scaffolding, handler generation, middleware setup, and Go best practices for REST APIs.",
137137
"version": "1.0.0"
138138
},
139139
{
140140
"name": "openapi-to-application-java-spring-boot",
141-
"source": "./plugins/openapi-to-application-java-spring-boot",
141+
"source": "openapi-to-application-java-spring-boot",
142142
"description": "Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, service layer organization, and Spring Boot best practices.",
143143
"version": "1.0.0"
144144
},
145145
{
146146
"name": "openapi-to-application-nodejs-nestjs",
147-
"source": "./plugins/openapi-to-application-nodejs-nestjs",
147+
"source": "openapi-to-application-nodejs-nestjs",
148148
"description": "Generate production-ready NestJS applications from OpenAPI specifications. Includes project scaffolding, controller and service generation, TypeScript best practices, and enterprise patterns.",
149149
"version": "1.0.0"
150150
},
151151
{
152152
"name": "openapi-to-application-python-fastapi",
153-
"source": "./plugins/openapi-to-application-python-fastapi",
153+
"source": "openapi-to-application-python-fastapi",
154154
"description": "Generate production-ready FastAPI applications from OpenAPI specifications. Includes project scaffolding, route generation, dependency injection, and Python best practices for async APIs.",
155155
"version": "1.0.0"
156156
},
157157
{
158158
"name": "ospo-sponsorship",
159-
"source": "./plugins/ospo-sponsorship",
159+
"source": "ospo-sponsorship",
160160
"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.",
161161
"version": "1.0.0"
162162
},
163163
{
164164
"name": "partners",
165-
"source": "./plugins/partners",
165+
"source": "partners",
166166
"description": "Custom agents that have been created by GitHub partners",
167167
"version": "1.0.0"
168168
},
169169
{
170170
"name": "pcf-development",
171-
"source": "./plugins/pcf-development",
171+
"source": "pcf-development",
172172
"description": "Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps",
173173
"version": "1.0.0"
174174
},
175175
{
176176
"name": "php-mcp-development",
177-
"source": "./plugins/php-mcp-development",
177+
"source": "php-mcp-development",
178178
"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",
179179
"version": "1.0.0"
180180
},
181181
{
182182
"name": "polyglot-test-agent",
183-
"source": "./plugins/polyglot-test-agent",
183+
"source": "polyglot-test-agent",
184184
"description": "Multi-agent pipeline for generating comprehensive unit tests across any programming language. Orchestrates research, planning, and implementation phases using specialized agents to produce tests that compile, pass, and follow project conventions.",
185185
"version": "1.0.0"
186186
},
187187
{
188188
"name": "power-apps-code-apps",
189-
"source": "./plugins/power-apps-code-apps",
189+
"source": "power-apps-code-apps",
190190
"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.",
191191
"version": "1.0.0"
192192
},
193193
{
194194
"name": "power-bi-development",
195-
"source": "./plugins/power-bi-development",
195+
"source": "power-bi-development",
196196
"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.",
197197
"version": "1.0.0"
198198
},
199199
{
200200
"name": "power-platform-mcp-connector-development",
201-
"source": "./plugins/power-platform-mcp-connector-development",
201+
"source": "power-platform-mcp-connector-development",
202202
"description": "Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio",
203203
"version": "1.0.0"
204204
},
205205
{
206206
"name": "project-planning",
207-
"source": "./plugins/project-planning",
207+
"source": "project-planning",
208208
"description": "Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams.",
209209
"version": "1.0.0"
210210
},
211211
{
212212
"name": "python-mcp-development",
213-
"source": "./plugins/python-mcp-development",
213+
"source": "python-mcp-development",
214214
"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.",
215215
"version": "1.0.0"
216216
},
217217
{
218218
"name": "ruby-mcp-development",
219-
"source": "./plugins/ruby-mcp-development",
219+
"source": "ruby-mcp-development",
220220
"description": "Complete toolkit for building Model Context Protocol servers in Ruby using the official MCP Ruby SDK gem with Rails integration support.",
221221
"version": "1.0.0"
222222
},
223223
{
224224
"name": "rug-agentic-workflow",
225-
"source": "./plugins/rug-agentic-workflow",
225+
"source": "rug-agentic-workflow",
226226
"description": "Three-agent workflow for orchestrated software delivery with an orchestrator plus implementation and QA subagents.",
227227
"version": "1.0.0"
228228
},
229229
{
230230
"name": "rust-mcp-development",
231-
"source": "./plugins/rust-mcp-development",
231+
"source": "rust-mcp-development",
232232
"description": "Build high-performance Model Context Protocol servers in Rust using the official rmcp SDK with async/await, procedural macros, and type-safe implementations.",
233233
"version": "1.0.0"
234234
},
235235
{
236236
"name": "security-best-practices",
237-
"source": "./plugins/security-best-practices",
237+
"source": "security-best-practices",
238238
"description": "Security frameworks, accessibility guidelines, performance optimization, and code quality best practices for building secure, maintainable, and high-performance applications.",
239239
"version": "1.0.0"
240240
},
241241
{
242242
"name": "software-engineering-team",
243-
"source": "./plugins/software-engineering-team",
243+
"source": "software-engineering-team",
244244
"description": "7 specialized agents covering the full software development lifecycle from UX design and architecture to security and DevOps.",
245245
"version": "1.0.0"
246246
},
247247
{
248248
"name": "structured-autonomy",
249-
"source": "./plugins/structured-autonomy",
249+
"source": "structured-autonomy",
250250
"description": "Premium planning, thrifty implementation",
251251
"version": "1.0.0"
252252
},
253253
{
254254
"name": "swift-mcp-development",
255-
"source": "./plugins/swift-mcp-development",
255+
"source": "swift-mcp-development",
256256
"description": "Comprehensive collection for building Model Context Protocol servers in Swift using the official MCP Swift SDK with modern concurrency features.",
257257
"version": "1.0.0"
258258
},
259259
{
260260
"name": "technical-spike",
261-
"source": "./plugins/technical-spike",
261+
"source": "technical-spike",
262262
"description": "Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions.",
263263
"version": "1.0.0"
264264
},
265265
{
266266
"name": "testing-automation",
267-
"source": "./plugins/testing-automation",
267+
"source": "testing-automation",
268268
"description": "Comprehensive collection for writing tests, test automation, and test-driven development including unit tests, integration tests, and end-to-end testing strategies.",
269269
"version": "1.0.0"
270270
},
271271
{
272272
"name": "typescript-mcp-development",
273-
"source": "./plugins/typescript-mcp-development",
273+
"source": "typescript-mcp-development",
274274
"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.",
275275
"version": "1.0.0"
276276
},
277277
{
278278
"name": "typespec-m365-copilot",
279-
"source": "./plugins/typespec-m365-copilot",
279+
"source": "typespec-m365-copilot",
280280
"description": "Comprehensive collection of prompts, instructions, and resources for building declarative agents and API plugins using TypeSpec for Microsoft 365 Copilot extensibility.",
281281
"version": "1.0.0"
282282
}

eng/generate-marketplace.mjs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ const MARKETPLACE_FILE = path.join(ROOT_FOLDER, ".github/plugin", "marketplace.j
1414
*/
1515
function readPluginMetadata(pluginDir) {
1616
const pluginJsonPath = path.join(pluginDir, ".github/plugin", "plugin.json");
17-
17+
1818
if (!fs.existsSync(pluginJsonPath)) {
1919
console.warn(`Warning: No plugin.json found for ${path.basename(pluginDir)}`);
2020
return null;
2121
}
22-
22+
2323
try {
2424
const content = fs.readFileSync(pluginJsonPath, "utf8");
2525
return JSON.parse(content);
@@ -34,30 +34,30 @@ function readPluginMetadata(pluginDir) {
3434
*/
3535
function generateMarketplace() {
3636
console.log("Generating marketplace.json...");
37-
37+
3838
if (!fs.existsSync(PLUGINS_DIR)) {
3939
console.error(`Error: Plugins directory not found at ${PLUGINS_DIR}`);
4040
process.exit(1);
4141
}
42-
42+
4343
// Read all plugin directories
4444
const pluginDirs = fs.readdirSync(PLUGINS_DIR, { withFileTypes: true })
4545
.filter(entry => entry.isDirectory())
4646
.map(entry => entry.name)
4747
.sort();
48-
48+
4949
console.log(`Found ${pluginDirs.length} plugin directories`);
50-
50+
5151
// Read metadata for each plugin
5252
const plugins = [];
5353
for (const dirName of pluginDirs) {
5454
const pluginPath = path.join(PLUGINS_DIR, dirName);
5555
const metadata = readPluginMetadata(pluginPath);
56-
56+
5757
if (metadata) {
5858
plugins.push({
5959
name: metadata.name,
60-
source: `./plugins/${dirName}`,
60+
source: dirName,
6161
description: metadata.description,
6262
version: metadata.version || "1.0.0"
6363
});
@@ -66,7 +66,7 @@ function generateMarketplace() {
6666
console.log(`✗ Skipped: ${dirName} (no valid plugin.json)`);
6767
}
6868
}
69-
69+
7070
// Create marketplace.json structure
7171
const marketplace = {
7272
name: "awesome-copilot",
@@ -81,16 +81,16 @@ function generateMarketplace() {
8181
},
8282
plugins: plugins
8383
};
84-
84+
8585
// Ensure directory exists
8686
const marketplaceDir = path.dirname(MARKETPLACE_FILE);
8787
if (!fs.existsSync(marketplaceDir)) {
8888
fs.mkdirSync(marketplaceDir, { recursive: true });
8989
}
90-
90+
9191
// Write marketplace.json
9292
fs.writeFileSync(MARKETPLACE_FILE, JSON.stringify(marketplace, null, 2) + "\n");
93-
93+
9494
console.log(`\n✓ Successfully generated marketplace.json with ${plugins.length} plugins`);
9595
console.log(` Location: ${MARKETPLACE_FILE}`);
9696
}

0 commit comments

Comments
 (0)