Merge branch 'main' into dotnetupgrade-copilot
This commit is contained in:
commit
773b1cb27d
@ -55,6 +55,7 @@ Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, e
|
|||||||
| [Microsoft Learn Contributor](chatmodes/microsoft_learn_contributor.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft_learn_contributor.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft_learn_contributor.chatmode.md) | Microsoft Learn Contributor chatmode for editing and writing Microsoft Learn documentation following Microsoft Writing Style Guide and authoring best practices. |
|
| [Microsoft Learn Contributor](chatmodes/microsoft_learn_contributor.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft_learn_contributor.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft_learn_contributor.chatmode.md) | Microsoft Learn Contributor chatmode for editing and writing Microsoft Learn documentation following Microsoft Writing Style Guide and authoring best practices. |
|
||||||
| [Microsoft Study and Learn Chat Mode](chatmodes/microsoft-study-mode.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft-study-mode.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft-study-mode.chatmode.md) | Activate your personal Microsoft/Azure tutor - learn through guided discovery, not just answers. |
|
| [Microsoft Study and Learn Chat Mode](chatmodes/microsoft-study-mode.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft-study-mode.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmicrosoft-study-mode.chatmode.md) | Activate your personal Microsoft/Azure tutor - learn through guided discovery, not just answers. |
|
||||||
| [MS-SQL Database Administrator](chatmodes/ms-sql-dba.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md) | Work with Microsoft SQL Server databases using the MS SQL extension. |
|
| [MS-SQL Database Administrator](chatmodes/ms-sql-dba.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md) | Work with Microsoft SQL Server databases using the MS SQL extension. |
|
||||||
|
| [PHP MCP Expert](chatmodes/php-mcp-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fphp-mcp-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fphp-mcp-expert.chatmode.md) | Expert assistant for PHP MCP server development using the official PHP SDK with attribute-based discovery |
|
||||||
| [Plan Mode - Strategic Planning & Architecture Assistant](chatmodes/plan.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md) | Strategic planning and architecture assistant focused on thoughtful analysis before implementation. Helps developers understand codebases, clarify requirements, and develop comprehensive implementation strategies. |
|
| [Plan Mode - Strategic Planning & Architecture Assistant](chatmodes/plan.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md) | Strategic planning and architecture assistant focused on thoughtful analysis before implementation. Helps developers understand codebases, clarify requirements, and develop comprehensive implementation strategies. |
|
||||||
| [Planning mode instructions](chatmodes/planner.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md) | Generate an implementation plan for new features or refactoring existing code. |
|
| [Planning mode instructions](chatmodes/planner.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md) | Generate an implementation plan for new features or refactoring existing code. |
|
||||||
| [Playwright Tester](chatmodes/playwright-tester.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplaywright-tester.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplaywright-tester.chatmode.md) | Testing mode for Playwright tests |
|
| [Playwright Tester](chatmodes/playwright-tester.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplaywright-tester.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplaywright-tester.chatmode.md) | Testing mode for Playwright tests |
|
||||||
|
|||||||
@ -26,6 +26,7 @@ Curated collections of related prompts, instructions, and chat modes organized a
|
|||||||
| [Java Development](collections/java-development.md) | Comprehensive collection of prompts and instructions for Java development including Spring Boot, Quarkus, testing, documentation, and best practices. | 12 items | java, springboot, quarkus, jpa, junit, javadoc |
|
| [Java Development](collections/java-development.md) | Comprehensive collection of prompts and instructions for Java development including Spring Boot, Quarkus, testing, documentation, and best practices. | 12 items | java, springboot, quarkus, jpa, junit, javadoc |
|
||||||
| [Java MCP Server Development](collections/java-mcp-development.md) | 'Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration.' | 3 items | java, mcp, model-context-protocol, server-development, sdk, reactive-streams, spring-boot, reactor |
|
| [Java MCP Server Development](collections/java-mcp-development.md) | 'Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration.' | 3 items | java, mcp, model-context-protocol, server-development, sdk, reactive-streams, spring-boot, reactor |
|
||||||
| [Kotlin MCP Server Development](collections/kotlin-mcp-development.md) | 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. | 3 items | kotlin, mcp, model-context-protocol, kotlin-multiplatform, server-development, ktor |
|
| [Kotlin MCP Server Development](collections/kotlin-mcp-development.md) | 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. | 3 items | kotlin, mcp, model-context-protocol, kotlin-multiplatform, server-development, ktor |
|
||||||
|
| [PHP MCP Server Development](collections/php-mcp-development.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 Development](collections/power-apps-code-apps.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 Development](collections/power-apps-code-apps.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 BI Development](collections/power-bi-development.md) | 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. | 14 items | power-bi, dax, data-modeling, performance, visualization, security, devops, business-intelligence |
|
| [Power BI Development](collections/power-bi-development.md) | 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. | 14 items | power-bi, dax, data-modeling, performance, visualization, security, devops, business-intelligence |
|
||||||
| [Power Platform MCP Connector Development](collections/power-platform-mcp-connector-development.md) | Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio | 4 items | power-platform, mcp, copilot-studio, custom-connector, json-rpc |
|
| [Power Platform MCP Connector Development](collections/power-platform-mcp-connector-development.md) | Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio | 4 items | power-platform, mcp, copilot-studio, custom-connector, json-rpc |
|
||||||
|
|||||||
@ -79,6 +79,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
|
|||||||
| [Object Calisthenics Rules](instructions/object-calisthenics.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fobject-calisthenics.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fobject-calisthenics.instructions.md) | Enforces Object Calisthenics principles for business domain code to ensure clean, maintainable, and robust code |
|
| [Object Calisthenics Rules](instructions/object-calisthenics.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fobject-calisthenics.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fobject-calisthenics.instructions.md) | Enforces Object Calisthenics principles for business domain code to ensure clean, maintainable, and robust code |
|
||||||
| [Oqtane](instructions/oqtane.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Foqtane.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Foqtane.instructions.md) | Oqtane Module patterns |
|
| [Oqtane](instructions/oqtane.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Foqtane.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Foqtane.instructions.md) | Oqtane Module patterns |
|
||||||
| [Performance Optimization Best Practices](instructions/performance-optimization.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fperformance-optimization.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fperformance-optimization.instructions.md) | The most comprehensive, practical, and engineer-authored performance optimization instructions for all languages, frameworks, and stacks. Covers frontend, backend, and database best practices with actionable guidance, scenario-based checklists, troubleshooting, and pro tips. |
|
| [Performance Optimization Best Practices](instructions/performance-optimization.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fperformance-optimization.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fperformance-optimization.instructions.md) | The most comprehensive, practical, and engineer-authored performance optimization instructions for all languages, frameworks, and stacks. Covers frontend, backend, and database best practices with actionable guidance, scenario-based checklists, troubleshooting, and pro tips. |
|
||||||
|
| [PHP MCP Server Development Best Practices](instructions/php-mcp-server.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fphp-mcp-server.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fphp-mcp-server.instructions.md) | Best practices for building Model Context Protocol servers in PHP using the official PHP SDK with attribute-based discovery and multiple transport options |
|
||||||
| [Playwright Python Test Generation Instructions](instructions/playwright-python.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-python.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-python.instructions.md) | Playwright Python AI test generation instructions based on official documentation. |
|
| [Playwright Python Test Generation Instructions](instructions/playwright-python.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-python.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-python.instructions.md) | Playwright Python AI test generation instructions based on official documentation. |
|
||||||
| [Playwright Typescript](instructions/playwright-typescript.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-typescript.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-typescript.instructions.md) | Playwright test generation instructions |
|
| [Playwright Typescript](instructions/playwright-typescript.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-typescript.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fplaywright-typescript.instructions.md) | Playwright test generation instructions |
|
||||||
| [Power Apps Canvas Apps YAML Structure Guide](instructions/power-apps-canvas-yaml.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-apps-canvas-yaml.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-apps-canvas-yaml.instructions.md) | Comprehensive guide for working with Power Apps Canvas Apps YAML structure based on Microsoft Power Apps YAML schema v3.0. Covers Power Fx formulas, control structures, data types, and source control best practices. |
|
| [Power Apps Canvas Apps YAML Structure Guide](instructions/power-apps-canvas-yaml.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-apps-canvas-yaml.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-apps-canvas-yaml.instructions.md) | Comprehensive guide for working with Power Apps Canvas Apps YAML structure based on Microsoft Power Apps YAML schema v3.0. Covers Power Fx formulas, control structures, data types, and source control best practices. |
|
||||||
|
|||||||
@ -81,6 +81,7 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi
|
|||||||
| [My Pull Requests](prompts/my-pull-requests.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) | List my pull requests in the current repository |
|
| [My Pull Requests](prompts/my-pull-requests.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) | List my pull requests in the current repository |
|
||||||
| [Next Intl Add Language](prompts/next-intl-add-language.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) | Add new language to a Next.js + next-intl application |
|
| [Next Intl Add Language](prompts/next-intl-add-language.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) | Add new language to a Next.js + next-intl application |
|
||||||
| [NUnit Best Practices](prompts/csharp-nunit.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-nunit.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-nunit.prompt.md) | Get best practices for NUnit unit testing, including data-driven tests |
|
| [NUnit Best Practices](prompts/csharp-nunit.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-nunit.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-nunit.prompt.md) | Get best practices for NUnit unit testing, including data-driven tests |
|
||||||
|
| [PHP MCP Server Generator](prompts/php-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fphp-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fphp-mcp-server-generator.prompt.md) | Generate a complete PHP Model Context Protocol server project with tools, resources, prompts, and tests using the official PHP SDK |
|
||||||
| [PostgreSQL Code Review Assistant](prompts/postgresql-code-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md) | PostgreSQL-specific code review assistant focusing on PostgreSQL best practices, anti-patterns, and unique quality standards. Covers JSONB operations, array usage, custom types, schema design, function optimization, and PostgreSQL-exclusive security features like Row Level Security (RLS). |
|
| [PostgreSQL Code Review Assistant](prompts/postgresql-code-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md) | PostgreSQL-specific code review assistant focusing on PostgreSQL best practices, anti-patterns, and unique quality standards. Covers JSONB operations, array usage, custom types, schema design, function optimization, and PostgreSQL-exclusive security features like Row Level Security (RLS). |
|
||||||
| [PostgreSQL Development Assistant](prompts/postgresql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md) | PostgreSQL-specific development assistant focusing on unique PostgreSQL features, advanced data types, and PostgreSQL-exclusive capabilities. Covers JSONB operations, array types, custom types, range/geometric types, full-text search, window functions, and PostgreSQL extensions ecosystem. |
|
| [PostgreSQL Development Assistant](prompts/postgresql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md) | PostgreSQL-specific development assistant focusing on unique PostgreSQL features, advanced data types, and PostgreSQL-exclusive capabilities. Covers JSONB operations, array types, custom types, range/geometric types, full-text search, window functions, and PostgreSQL extensions ecosystem. |
|
||||||
| [Power Apps Code Apps Project Scaffolding](prompts/power-apps-code-app-scaffold.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-apps-code-app-scaffold.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-apps-code-app-scaffold.prompt.md) | Scaffold a complete Power Apps Code App project with PAC CLI setup, SDK integration, and connector configuration |
|
| [Power Apps Code Apps Project Scaffolding](prompts/power-apps-code-app-scaffold.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-apps-code-app-scaffold.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-apps-code-app-scaffold.prompt.md) | Scaffold a complete Power Apps Code App project with PAC CLI setup, SDK integration, and connector configuration |
|
||||||
@ -96,6 +97,7 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi
|
|||||||
| [Project Workflow Documentation Generator](prompts/project-workflow-analysis-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md) | Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows. Automatically detects project architecture patterns, technology stacks, and data flow patterns to generate detailed implementation blueprints covering entry points, service layers, data access, error handling, and testing approaches across multiple technologies including .NET, Java/Spring, React, and microservices architectures. |
|
| [Project Workflow Documentation Generator](prompts/project-workflow-analysis-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md) | Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows. Automatically detects project architecture patterns, technology stacks, and data flow patterns to generate detailed implementation blueprints covering entry points, service layers, data access, error handling, and testing approaches across multiple technologies including .NET, Java/Spring, React, and microservices architectures. |
|
||||||
| [README Generator Prompt](prompts/readme-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md) | Intelligent README.md generation prompt that analyzes project documentation structure and creates comprehensive repository documentation. Scans .github/copilot directory files and copilot-instructions.md to extract project information, technology stack, architecture, development workflow, coding standards, and testing approaches while generating well-structured markdown documentation with proper formatting, cross-references, and developer-focused content. |
|
| [README Generator Prompt](prompts/readme-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md) | Intelligent README.md generation prompt that analyzes project documentation structure and creates comprehensive repository documentation. Scans .github/copilot directory files and copilot-instructions.md to extract project information, technology stack, architecture, development workflow, coding standards, and testing approaches while generating well-structured markdown documentation with proper formatting, cross-references, and developer-focused content. |
|
||||||
| [Refactoring Java Methods with Extract Method](prompts/java-refactoring-extract-method.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-refactoring-extract-method.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-refactoring-extract-method.prompt.md) | Refactoring using Extract Methods in Java Language |
|
| [Refactoring Java Methods with Extract Method](prompts/java-refactoring-extract-method.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-refactoring-extract-method.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-refactoring-extract-method.prompt.md) | Refactoring using Extract Methods in Java Language |
|
||||||
|
| [Refactoring Java Methods with Remove Parameter](prompts/java-refactoring-remove-parameter.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-refactoring-remove-parameter.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-refactoring-remove-parameter.prompt.md) | Refactoring using Remove Parameter in Java Language |
|
||||||
| [Repo Story Time](prompts/repo-story-time.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md) | Generate a comprehensive repository summary and narrative story from commit history |
|
| [Repo Story Time](prompts/repo-story-time.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md) | Generate a comprehensive repository summary and narrative story from commit history |
|
||||||
| [Review And Refactor](prompts/review-and-refactor.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) | Review and refactor code in your project according to defined instructions |
|
| [Review And Refactor](prompts/review-and-refactor.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) | Review and refactor code in your project according to defined instructions |
|
||||||
| [Ruby MCP Server Generator](prompts/ruby-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md) | Generate a complete Model Context Protocol server project in Ruby using the official MCP Ruby SDK gem. |
|
| [Ruby MCP Server Generator](prompts/ruby-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md) | Generate a complete Model Context Protocol server project in Ruby using the official MCP Ruby SDK gem. |
|
||||||
|
|||||||
498
chatmodes/php-mcp-expert.chatmode.md
Normal file
498
chatmodes/php-mcp-expert.chatmode.md
Normal file
@ -0,0 +1,498 @@
|
|||||||
|
---
|
||||||
|
description: 'Expert assistant for PHP MCP server development using the official PHP SDK with attribute-based discovery'
|
||||||
|
model: GPT-4.1
|
||||||
|
---
|
||||||
|
|
||||||
|
# PHP MCP Expert
|
||||||
|
|
||||||
|
You are an expert PHP developer specializing in building Model Context Protocol (MCP) servers using the official PHP SDK. You help developers create production-ready, type-safe, and performant MCP servers in PHP 8.2+.
|
||||||
|
|
||||||
|
## Your Expertise
|
||||||
|
|
||||||
|
- **PHP SDK**: Deep knowledge of the official PHP MCP SDK maintained by The PHP Foundation
|
||||||
|
- **Attributes**: Expertise with PHP attributes (`#[McpTool]`, `#[McpResource]`, `#[McpPrompt]`, `#[Schema]`)
|
||||||
|
- **Discovery**: Attribute-based discovery and caching with PSR-16
|
||||||
|
- **Transports**: Stdio and StreamableHTTP transports
|
||||||
|
- **Type Safety**: Strict types, enums, parameter validation
|
||||||
|
- **Testing**: PHPUnit, test-driven development
|
||||||
|
- **Frameworks**: Laravel, Symfony integration
|
||||||
|
- **Performance**: OPcache, caching strategies, optimization
|
||||||
|
|
||||||
|
## Common Tasks
|
||||||
|
|
||||||
|
### Tool Implementation
|
||||||
|
|
||||||
|
Help developers implement tools with attributes:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tools;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpTool;
|
||||||
|
use Mcp\Capability\Attribute\Schema;
|
||||||
|
|
||||||
|
class FileManager
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Reads file content from the filesystem.
|
||||||
|
*
|
||||||
|
* @param string $path Path to the file
|
||||||
|
* @return string File contents
|
||||||
|
*/
|
||||||
|
#[McpTool(name: 'read_file')]
|
||||||
|
public function readFile(string $path): string
|
||||||
|
{
|
||||||
|
if (!file_exists($path)) {
|
||||||
|
throw new \InvalidArgumentException("File not found: {$path}");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_readable($path)) {
|
||||||
|
throw new \RuntimeException("File not readable: {$path}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return file_get_contents($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validates and processes user email.
|
||||||
|
*/
|
||||||
|
#[McpTool]
|
||||||
|
public function validateEmail(
|
||||||
|
#[Schema(format: 'email')]
|
||||||
|
string $email
|
||||||
|
): bool {
|
||||||
|
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Resource Implementation
|
||||||
|
|
||||||
|
Guide resource providers with static and template URIs:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Resources;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\{McpResource, McpResourceTemplate};
|
||||||
|
|
||||||
|
class ConfigProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Provides static configuration.
|
||||||
|
*/
|
||||||
|
#[McpResource(
|
||||||
|
uri: 'config://app/settings',
|
||||||
|
name: 'app_config',
|
||||||
|
mimeType: 'application/json'
|
||||||
|
)]
|
||||||
|
public function getSettings(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'version' => '1.0.0',
|
||||||
|
'debug' => false
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides dynamic user profiles.
|
||||||
|
*/
|
||||||
|
#[McpResourceTemplate(
|
||||||
|
uriTemplate: 'user://{userId}/profile/{section}',
|
||||||
|
name: 'user_profile',
|
||||||
|
mimeType: 'application/json'
|
||||||
|
)]
|
||||||
|
public function getUserProfile(string $userId, string $section): array
|
||||||
|
{
|
||||||
|
// Variables must match URI template order
|
||||||
|
return $this->users[$userId][$section] ??
|
||||||
|
throw new \RuntimeException("Profile not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Prompt Implementation
|
||||||
|
|
||||||
|
Assist with prompt generators:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Prompts;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\{McpPrompt, CompletionProvider};
|
||||||
|
|
||||||
|
class CodePrompts
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Generates code review prompts.
|
||||||
|
*/
|
||||||
|
#[McpPrompt(name: 'code_review')]
|
||||||
|
public function reviewCode(
|
||||||
|
#[CompletionProvider(values: ['php', 'javascript', 'python'])]
|
||||||
|
string $language,
|
||||||
|
string $code,
|
||||||
|
#[CompletionProvider(values: ['security', 'performance', 'style'])]
|
||||||
|
string $focus = 'general'
|
||||||
|
): array {
|
||||||
|
return [
|
||||||
|
['role' => 'assistant', 'content' => 'You are an expert code reviewer.'],
|
||||||
|
['role' => 'user', 'content' => "Review this {$language} code focusing on {$focus}:\n\n```{$language}\n{$code}\n```"]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Server Setup
|
||||||
|
|
||||||
|
Guide server configuration with discovery and caching:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require_once __DIR__ . '/vendor/autoload.php';
|
||||||
|
|
||||||
|
use Mcp\Server;
|
||||||
|
use Mcp\Server\Transport\StdioTransport;
|
||||||
|
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||||
|
use Symfony\Component\Cache\Psr16Cache;
|
||||||
|
|
||||||
|
// Setup discovery cache
|
||||||
|
$cache = new Psr16Cache(
|
||||||
|
new FilesystemAdapter('mcp-discovery', 3600, __DIR__ . '/cache')
|
||||||
|
);
|
||||||
|
|
||||||
|
// Build server with attribute discovery
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My MCP Server', '1.0.0')
|
||||||
|
->setDiscovery(
|
||||||
|
basePath: __DIR__,
|
||||||
|
scanDirs: ['src/Tools', 'src/Resources', 'src/Prompts'],
|
||||||
|
excludeDirs: ['vendor', 'tests', 'cache'],
|
||||||
|
cache: $cache
|
||||||
|
)
|
||||||
|
->build();
|
||||||
|
|
||||||
|
// Run with stdio transport
|
||||||
|
$transport = new StdioTransport();
|
||||||
|
$server->run($transport);
|
||||||
|
```
|
||||||
|
|
||||||
|
### HTTP Transport
|
||||||
|
|
||||||
|
Help with web-based MCP servers:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Mcp\Server\Transport\StreamableHttpTransport;
|
||||||
|
use Nyholm\Psr7\Factory\Psr17Factory;
|
||||||
|
|
||||||
|
$psr17Factory = new Psr17Factory();
|
||||||
|
$request = $psr17Factory->createServerRequestFromGlobals();
|
||||||
|
|
||||||
|
$transport = new StreamableHttpTransport(
|
||||||
|
$request,
|
||||||
|
$psr17Factory, // Response factory
|
||||||
|
$psr17Factory // Stream factory
|
||||||
|
);
|
||||||
|
|
||||||
|
$response = $server->run($transport);
|
||||||
|
|
||||||
|
// Send PSR-7 response
|
||||||
|
http_response_code($response->getStatusCode());
|
||||||
|
foreach ($response->getHeaders() as $name => $values) {
|
||||||
|
foreach ($values as $value) {
|
||||||
|
header("{$name}: {$value}", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo $response->getBody();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Schema Validation
|
||||||
|
|
||||||
|
Advise on parameter validation with Schema attributes:
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Capability\Attribute\Schema;
|
||||||
|
|
||||||
|
#[McpTool]
|
||||||
|
public function createUser(
|
||||||
|
#[Schema(format: 'email')]
|
||||||
|
string $email,
|
||||||
|
|
||||||
|
#[Schema(minimum: 18, maximum: 120)]
|
||||||
|
int $age,
|
||||||
|
|
||||||
|
#[Schema(
|
||||||
|
pattern: '^[A-Z][a-z]+$',
|
||||||
|
description: 'Capitalized first name'
|
||||||
|
)]
|
||||||
|
string $firstName,
|
||||||
|
|
||||||
|
#[Schema(minLength: 8, maxLength: 100)]
|
||||||
|
string $password
|
||||||
|
): array {
|
||||||
|
return [
|
||||||
|
'id' => uniqid(),
|
||||||
|
'email' => $email,
|
||||||
|
'age' => $age,
|
||||||
|
'name' => $firstName
|
||||||
|
];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Error Handling
|
||||||
|
|
||||||
|
Guide proper exception handling:
|
||||||
|
|
||||||
|
```php
|
||||||
|
#[McpTool]
|
||||||
|
public function divideNumbers(float $a, float $b): float
|
||||||
|
{
|
||||||
|
if ($b === 0.0) {
|
||||||
|
throw new \InvalidArgumentException('Division by zero is not allowed');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $a / $b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpTool]
|
||||||
|
public function processFile(string $filename): string
|
||||||
|
{
|
||||||
|
if (!file_exists($filename)) {
|
||||||
|
throw new \InvalidArgumentException("File not found: {$filename}");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_readable($filename)) {
|
||||||
|
throw new \RuntimeException("File not readable: {$filename}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return file_get_contents($filename);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
Provide testing guidance with PHPUnit:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests;
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use App\Tools\Calculator;
|
||||||
|
|
||||||
|
class CalculatorTest extends TestCase
|
||||||
|
{
|
||||||
|
private Calculator $calculator;
|
||||||
|
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
$this->calculator = new Calculator();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAdd(): void
|
||||||
|
{
|
||||||
|
$result = $this->calculator->add(5, 3);
|
||||||
|
$this->assertSame(8, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDivideByZero(): void
|
||||||
|
{
|
||||||
|
$this->expectException(\InvalidArgumentException::class);
|
||||||
|
$this->expectExceptionMessage('Division by zero');
|
||||||
|
|
||||||
|
$this->calculator->divide(10, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Completion Providers
|
||||||
|
|
||||||
|
Help with auto-completion:
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Capability\Attribute\CompletionProvider;
|
||||||
|
|
||||||
|
enum Priority: string
|
||||||
|
{
|
||||||
|
case LOW = 'low';
|
||||||
|
case MEDIUM = 'medium';
|
||||||
|
case HIGH = 'high';
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpPrompt]
|
||||||
|
public function createTask(
|
||||||
|
string $title,
|
||||||
|
|
||||||
|
#[CompletionProvider(enum: Priority::class)]
|
||||||
|
string $priority,
|
||||||
|
|
||||||
|
#[CompletionProvider(values: ['bug', 'feature', 'improvement'])]
|
||||||
|
string $type
|
||||||
|
): array {
|
||||||
|
return [
|
||||||
|
['role' => 'user', 'content' => "Create {$type} task: {$title} (Priority: {$priority})"]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Framework Integration
|
||||||
|
|
||||||
|
#### Laravel
|
||||||
|
|
||||||
|
```php
|
||||||
|
// app/Console/Commands/McpServerCommand.php
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use Mcp\Server;
|
||||||
|
use Mcp\Server\Transport\StdioTransport;
|
||||||
|
|
||||||
|
class McpServerCommand extends Command
|
||||||
|
{
|
||||||
|
protected $signature = 'mcp:serve';
|
||||||
|
protected $description = 'Start MCP server';
|
||||||
|
|
||||||
|
public function handle(): int
|
||||||
|
{
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('Laravel MCP Server', '1.0.0')
|
||||||
|
->setDiscovery(app_path(), ['Tools', 'Resources'])
|
||||||
|
->build();
|
||||||
|
|
||||||
|
$transport = new StdioTransport();
|
||||||
|
$server->run($transport);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Symfony
|
||||||
|
|
||||||
|
```php
|
||||||
|
// Use the official Symfony MCP Bundle
|
||||||
|
// composer require symfony/mcp-bundle
|
||||||
|
|
||||||
|
// config/packages/mcp.yaml
|
||||||
|
mcp:
|
||||||
|
server:
|
||||||
|
name: 'Symfony MCP Server'
|
||||||
|
version: '1.0.0'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Performance Optimization
|
||||||
|
|
||||||
|
1. **Enable OPcache**:
|
||||||
|
```ini
|
||||||
|
; php.ini
|
||||||
|
opcache.enable=1
|
||||||
|
opcache.memory_consumption=256
|
||||||
|
opcache.interned_strings_buffer=16
|
||||||
|
opcache.max_accelerated_files=10000
|
||||||
|
opcache.validate_timestamps=0 ; Production only
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Use Discovery Caching**:
|
||||||
|
```php
|
||||||
|
use Symfony\Component\Cache\Adapter\RedisAdapter;
|
||||||
|
use Symfony\Component\Cache\Psr16Cache;
|
||||||
|
|
||||||
|
$redis = new \Redis();
|
||||||
|
$redis->connect('127.0.0.1', 6379);
|
||||||
|
|
||||||
|
$cache = new Psr16Cache(new RedisAdapter($redis));
|
||||||
|
|
||||||
|
$server = Server::builder()
|
||||||
|
->setDiscovery(__DIR__, ['src'], cache: $cache)
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Optimize Composer Autoloader**:
|
||||||
|
```bash
|
||||||
|
composer dump-autoload --optimize --classmap-authoritative
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deployment Guidance
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
```dockerfile
|
||||||
|
FROM php:8.2-cli
|
||||||
|
|
||||||
|
RUN docker-php-ext-install pdo pdo_mysql opcache
|
||||||
|
|
||||||
|
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . /app
|
||||||
|
|
||||||
|
RUN composer install --no-dev --optimize-autoloader
|
||||||
|
|
||||||
|
RUN chmod +x /app/server.php
|
||||||
|
|
||||||
|
CMD ["php", "/app/server.php"]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Systemd Service
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=PHP MCP Server
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=www-data
|
||||||
|
WorkingDirectory=/var/www/mcp-server
|
||||||
|
ExecStart=/usr/bin/php /var/www/mcp-server/server.php
|
||||||
|
Restart=always
|
||||||
|
RestartSec=3
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
### Claude Desktop
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"php-server": {
|
||||||
|
"command": "php",
|
||||||
|
"args": ["/absolute/path/to/server.php"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
1. **Always use strict types**: `declare(strict_types=1);`
|
||||||
|
2. **Use typed properties**: PHP 7.4+ typed properties for all class properties
|
||||||
|
3. **Leverage enums**: PHP 8.1+ enums for constants and completions
|
||||||
|
4. **Cache discovery**: Always use PSR-16 cache in production
|
||||||
|
5. **Type all parameters**: Use type hints for all method parameters
|
||||||
|
6. **Document with PHPDoc**: Add docblocks for better discovery
|
||||||
|
7. **Test everything**: Write PHPUnit tests for all tools
|
||||||
|
8. **Handle exceptions**: Use specific exception types with clear messages
|
||||||
|
|
||||||
|
## Communication Style
|
||||||
|
|
||||||
|
- Provide complete, working code examples
|
||||||
|
- Explain PHP 8.2+ features (attributes, enums, match expressions)
|
||||||
|
- Include error handling in all examples
|
||||||
|
- Suggest performance optimizations
|
||||||
|
- Reference official PHP SDK documentation
|
||||||
|
- Help debug attribute discovery issues
|
||||||
|
- Recommend testing strategies
|
||||||
|
- Guide on framework integration
|
||||||
|
|
||||||
|
You're ready to help developers build robust, performant MCP servers in PHP!
|
||||||
@ -28,4 +28,4 @@ Comprehensive Azure cloud development tools including Infrastructure as Code, se
|
|||||||
| [Terraform Conventions](../instructions/terraform.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform.instructions.md) | Instruction | Terraform Conventions and Guidelines |
|
| [Terraform Conventions](../instructions/terraform.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform.instructions.md) | Instruction | Terraform Conventions and Guidelines |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 18 curated items for azure & cloud development.*
|
*This collection includes 18 curated items for **Azure & Cloud Development**.*
|
||||||
@ -13,4 +13,4 @@ Tools for REPL-first Clojure workflows featuring Clojure instructions, the inter
|
|||||||
| [Interactive Programming Nudge](../prompts/remember-interactive-programming.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember-interactive-programming.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember-interactive-programming.prompt.md) | Prompt | A micro-prompt that reminds the agent that it is an interactive programmer. Works great in Clojure when Copilot has access to the REPL (probably via Backseat Driver). Will work with any system that has a live REPL that the agent can use. Adapt the prompt with any specific reminders in your workflow and/or workspace. |
|
| [Interactive Programming Nudge](../prompts/remember-interactive-programming.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember-interactive-programming.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember-interactive-programming.prompt.md) | Prompt | A micro-prompt that reminds the agent that it is an interactive programmer. Works great in Clojure when Copilot has access to the REPL (probably via Backseat Driver). Will work with any system that has a live REPL that the agent can use. Adapt the prompt with any specific reminders in your workflow and/or workspace. |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 3 curated items for clojure interactive programming.*
|
*This collection includes 3 curated items for **Clojure Interactive Programming**.*
|
||||||
@ -35,4 +35,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for c# mcp server development.*
|
*This collection includes 3 curated items for **C# MCP Server Development**.*
|
||||||
@ -18,4 +18,4 @@ Database administration, SQL optimization, and data management tools for Postgre
|
|||||||
| [SQL Performance Optimization Assistant](../prompts/sql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md) | Prompt | Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server, Oracle). Provides execution plan analysis, pagination optimization, batch operations, and performance monitoring guidance. |
|
| [SQL Performance Optimization Assistant](../prompts/sql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md) | Prompt | Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server, Oracle). Provides execution plan analysis, pagination optimization, batch operations, and performance monitoring guidance. |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 8 curated items for database & data management.*
|
*This collection includes 8 curated items for **Database & Data Management**.*
|
||||||
@ -15,4 +15,4 @@ A focused set of prompts, instructions, and a chat mode to help triage incidents
|
|||||||
| [Multi Stage Dockerfile](../prompts/multi-stage-dockerfile.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmulti-stage-dockerfile.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmulti-stage-dockerfile.prompt.md) | Prompt | Create optimized multi-stage Dockerfiles for any language or framework |
|
| [Multi Stage Dockerfile](../prompts/multi-stage-dockerfile.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmulti-stage-dockerfile.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmulti-stage-dockerfile.prompt.md) | Prompt | Create optimized multi-stage Dockerfiles for any language or framework |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 5 curated items for devops on-call.*
|
*This collection includes 5 curated items for **DevOps On-Call**.*
|
||||||
@ -97,4 +97,4 @@ To use these generated instructions and prompts, you'll need to update your `set
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for tasks by microsoft/edge-ai.*
|
*This collection includes 3 curated items for **Tasks by microsoft/edge-ai**.*
|
||||||
@ -21,4 +21,4 @@ Essential prompts, instructions, and chat modes for modern frontend web developm
|
|||||||
| [Website Exploration for Testing](../prompts/playwright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md) | Prompt | Website exploration for testing using Playwright MCP |
|
| [Website Exploration for Testing](../prompts/playwright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md) | Prompt | Website exploration for testing using Playwright MCP |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 11 curated items for frontend web development.*
|
*This collection includes 11 curated items for **Frontend Web Development**.*
|
||||||
@ -38,4 +38,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for go mcp server development.*
|
*This collection includes 3 curated items for **Go MCP Server Development**.*
|
||||||
@ -38,4 +38,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for java mcp server development.*
|
*This collection includes 3 curated items for **Java MCP Server Development**.*
|
||||||
@ -38,4 +38,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for kotlin mcp server development.*
|
*This collection includes 3 curated items for **Kotlin MCP Server Development**.*
|
||||||
21
collections/php-mcp-development.collection.yml
Normal file
21
collections/php-mcp-development.collection.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
id: php-mcp-development
|
||||||
|
name: PHP MCP Server Development
|
||||||
|
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'
|
||||||
|
tags:
|
||||||
|
- php
|
||||||
|
- mcp
|
||||||
|
- model-context-protocol
|
||||||
|
- server-development
|
||||||
|
- sdk
|
||||||
|
- attributes
|
||||||
|
- composer
|
||||||
|
items:
|
||||||
|
- path: instructions/php-mcp-server.instructions.md
|
||||||
|
kind: instruction
|
||||||
|
- path: prompts/php-mcp-server-generator.prompt.md
|
||||||
|
kind: prompt
|
||||||
|
- path: chatmodes/php-mcp-expert.chatmode.md
|
||||||
|
kind: chat-mode
|
||||||
|
display:
|
||||||
|
ordering: manual
|
||||||
|
show_badge: true
|
||||||
16
collections/php-mcp-development.md
Normal file
16
collections/php-mcp-development.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# PHP MCP Server Development
|
||||||
|
|
||||||
|
'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'
|
||||||
|
|
||||||
|
**Tags:** php, mcp, model-context-protocol, server-development, sdk, attributes, composer
|
||||||
|
|
||||||
|
## Items in this Collection
|
||||||
|
|
||||||
|
| Title | Type | Description |
|
||||||
|
| ----- | ---- | ----------- |
|
||||||
|
| [PHP MCP Server Development Best Practices](../instructions/php-mcp-server.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fphp-mcp-server.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fphp-mcp-server.instructions.md) | Instruction | Best practices for building Model Context Protocol servers in PHP using the official PHP SDK with attribute-based discovery and multiple transport options |
|
||||||
|
| [PHP MCP Server Generator](../prompts/php-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fphp-mcp-server-generator.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fphp-mcp-server-generator.prompt.md) | Prompt | Generate a complete PHP Model Context Protocol server project with tools, resources, prompts, and tests using the official PHP SDK |
|
||||||
|
| [PHP MCP Expert](../chatmodes/php-mcp-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fphp-mcp-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fphp-mcp-expert.chatmode.md) | Chat Mode | Expert assistant for PHP MCP server development using the official PHP SDK with attribute-based discovery |
|
||||||
|
|
||||||
|
---
|
||||||
|
*This collection includes 3 curated items for **PHP MCP Server Development**.*
|
||||||
@ -13,4 +13,4 @@ Complete toolkit for Power Apps Code Apps development including project scaffold
|
|||||||
| [Power Platform Expert](../chatmodes/power-platform-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-expert.chatmode.md) | Chat Mode | Power Platform expert providing guidance on Code Apps, canvas apps, Dataverse, connectors, and Power Platform best practices |
|
| [Power Platform Expert](../chatmodes/power-platform-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-expert.chatmode.md) | Chat Mode | Power Platform expert providing guidance on Code Apps, canvas apps, Dataverse, connectors, and Power Platform best practices |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 3 curated items for power apps code apps development.*
|
*This collection includes 3 curated items for **Power Apps Code Apps Development**.*
|
||||||
@ -8,20 +8,20 @@ Comprehensive Power BI development resources including data modeling, DAX optimi
|
|||||||
|
|
||||||
| Title | Type | Description |
|
| Title | Type | Description |
|
||||||
| ----- | ---- | ----------- |
|
| ----- | ---- | ----------- |
|
||||||
| [Power BI Custom Visuals Development](../instructions/power-bi-custom-visuals-development.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-custom-visuals-development.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-custom-visuals-development.instructions.md) | Instruction | Guidelines for developing custom visuals for Power BI using TypeScript, D3.js, and the Power BI Visuals SDK |
|
| [Power BI Data Modeling Expert Mode](../chatmodes/power-bi-data-modeling-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-data-modeling-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-data-modeling-expert.chatmode.md) | Chat Mode | Expert Power BI data modeling guidance using star schema principles, relationship design, and Microsoft best practices for optimal model performance and usability. |
|
||||||
| [Power BI Data Modeling Best Practices](../instructions/power-bi-data-modeling-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-data-modeling-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-data-modeling-best-practices.instructions.md) | Instruction | Best practices for designing efficient and scalable data models in Power BI |
|
| [Power BI DAX Expert Mode](../chatmodes/power-bi-dax-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-dax-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-dax-expert.chatmode.md) | Chat Mode | Expert Power BI DAX guidance using Microsoft best practices for performance, readability, and maintainability of DAX formulas and calculations. |
|
||||||
| [Power BI Data Modeling Expert](../chatmodes/power-bi-data-modeling-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-data-modeling-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-data-modeling-expert.chatmode.md) | Chat Mode | Expert guidance for Power BI data modeling, including star schema design, relationships, and optimization techniques |
|
| [Power BI Performance Expert Mode](../chatmodes/power-bi-performance-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-performance-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-performance-expert.chatmode.md) | Chat Mode | Expert Power BI performance optimization guidance for troubleshooting, monitoring, and improving the performance of Power BI models, reports, and queries. |
|
||||||
| [Power BI DAX Best Practices](../instructions/power-bi-dax-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-dax-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-dax-best-practices.instructions.md) | Instruction | Best practices for writing efficient and maintainable DAX code in Power BI |
|
| [Power BI Visualization Expert Mode](../chatmodes/power-bi-visualization-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-visualization-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-visualization-expert.chatmode.md) | Chat Mode | Expert Power BI report design and visualization guidance using Microsoft best practices for creating effective, performant, and user-friendly reports and dashboards. |
|
||||||
| [Power BI DAX Expert](../chatmodes/power-bi-dax-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-dax-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-dax-expert.chatmode.md) | Chat Mode | Expert guidance for writing, optimizing, and troubleshooting DAX formulas in Power BI |
|
| [Power BI Custom Visuals Development Best Practices](../instructions/power-bi-custom-visuals-development.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-custom-visuals-development.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-custom-visuals-development.instructions.md) | Instruction | Comprehensive Power BI custom visuals development guide covering React, D3.js integration, TypeScript patterns, testing frameworks, and advanced visualization techniques. |
|
||||||
| [Power BI DAX Optimization](../prompts/power-bi-dax-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-dax-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-dax-optimization.prompt.md) | Prompt | Analyze and optimize DAX formulas for better performance in Power BI reports |
|
| [Power BI Data Modeling Best Practices](../instructions/power-bi-data-modeling-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-data-modeling-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-data-modeling-best-practices.instructions.md) | Instruction | Comprehensive Power BI data modeling best practices based on Microsoft guidance for creating efficient, scalable, and maintainable semantic models using star schema principles. |
|
||||||
| [Power BI DevOps & ALM Best Practices](../instructions/power-bi-devops-alm-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-devops-alm-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-devops-alm-best-practices.instructions.md) | Instruction | DevOps and Application Lifecycle Management practices for Power BI development |
|
| [Power BI DAX Best Practices](../instructions/power-bi-dax-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-dax-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-dax-best-practices.instructions.md) | Instruction | Comprehensive Power BI DAX best practices and patterns based on Microsoft guidance for creating efficient, maintainable, and performant DAX formulas. |
|
||||||
| [Power BI Model Design Review](../prompts/power-bi-model-design-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-model-design-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-model-design-review.prompt.md) | Prompt | Comprehensive review of Power BI data models for optimization and best practices |
|
| [Power BI DevOps and Application Lifecycle Management Best Practices](../instructions/power-bi-devops-alm-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-devops-alm-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-devops-alm-best-practices.instructions.md) | Instruction | Comprehensive guide for Power BI DevOps, Application Lifecycle Management (ALM), CI/CD pipelines, deployment automation, and version control best practices. |
|
||||||
| [Power BI Performance Expert](../chatmodes/power-bi-performance-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-performance-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-performance-expert.chatmode.md) | Chat Mode | Expert guidance for optimizing Power BI report and data model performance |
|
| [Power BI Report Design and Visualization Best Practices](../instructions/power-bi-report-design-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-report-design-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-report-design-best-practices.instructions.md) | Instruction | Comprehensive Power BI report design and visualization best practices based on Microsoft guidance for creating effective, accessible, and performant reports and dashboards. |
|
||||||
| [Power BI Performance Troubleshooting](../prompts/power-bi-performance-troubleshooting.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-performance-troubleshooting.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-performance-troubleshooting.prompt.md) | Prompt | Diagnose and resolve performance issues in Power BI reports and data models |
|
| [Power BI Security and Row-Level Security Best Practices](../instructions/power-bi-security-rls-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-security-rls-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-security-rls-best-practices.instructions.md) | Instruction | Comprehensive Power BI Row-Level Security (RLS) and advanced security patterns implementation guide with dynamic security, best practices, and governance strategies. |
|
||||||
| [Power BI Report Design Best Practices](../instructions/power-bi-report-design-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-report-design-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-report-design-best-practices.instructions.md) | Instruction | Best practices for designing effective and user-friendly Power BI reports |
|
| [Power BI DAX Formula Optimizer](../prompts/power-bi-dax-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-dax-optimization.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-dax-optimization.prompt.md) | Prompt | Comprehensive Power BI DAX formula optimization prompt for improving performance, readability, and maintainability of DAX calculations. |
|
||||||
| [Power BI Report Design Consultation](../prompts/power-bi-report-design-consultation.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-report-design-consultation.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-report-design-consultation.prompt.md) | Prompt | Get expert consultation on Power BI report design, layout, and user experience |
|
| [Power BI Data Model Design Review](../prompts/power-bi-model-design-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-model-design-review.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-model-design-review.prompt.md) | Prompt | Comprehensive Power BI data model design review prompt for evaluating model architecture, relationships, and optimization opportunities. |
|
||||||
| [Power BI Security & RLS Best Practices](../instructions/power-bi-security-rls-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-security-rls-best-practices.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-bi-security-rls-best-practices.instructions.md) | Instruction | Security best practices and Row-Level Security (RLS) implementation in Power BI |
|
| [Power BI Performance Troubleshooting Guide](../prompts/power-bi-performance-troubleshooting.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-performance-troubleshooting.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-performance-troubleshooting.prompt.md) | Prompt | Systematic Power BI performance troubleshooting prompt for identifying, diagnosing, and resolving performance issues in Power BI models, reports, and queries. |
|
||||||
| [Power BI Visualization Expert](../chatmodes/power-bi-visualization-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-visualization-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Ftroystaylor%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-bi-visualization-expert.chatmode.md) | Chat Mode | Expert guidance for creating effective and engaging visualizations in Power BI |
|
| [Power BI Report Visualization Designer](../prompts/power-bi-report-design-consultation.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-report-design-consultation.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-bi-report-design-consultation.prompt.md) | Prompt | Power BI report visualization design prompt for creating effective, user-friendly, and accessible reports with optimal chart selection and layout design. |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 14 curated items for Power BI development.*
|
*This collection includes 14 curated items for **Power BI Development**.*
|
||||||
@ -14,4 +14,4 @@ Complete toolkit for developing Power Platform custom connectors with Model Cont
|
|||||||
| [Power Platform MCP Integration Expert](../chatmodes/power-platform-mcp-integration-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-mcp-integration-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-mcp-integration-expert.chatmode.md) | Chat Mode | Expert in Power Platform custom connector development with MCP integration for Copilot Studio - comprehensive knowledge of schemas, protocols, and integration patterns |
|
| [Power Platform MCP Integration Expert](../chatmodes/power-platform-mcp-integration-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-mcp-integration-expert.chatmode.md)<br />[](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-mcp-integration-expert.chatmode.md) | Chat Mode | Expert in Power Platform custom connector development with MCP integration for Copilot Studio - comprehensive knowledge of schemas, protocols, and integration patterns |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 4 curated items for power platform mcp connector development.*
|
*This collection includes 4 curated items for **Power Platform MCP Connector Development**.*
|
||||||
@ -27,4 +27,4 @@ Tools and guidance for software project planning, feature breakdown, epic manage
|
|||||||
| [Update Implementation Plan](../prompts/update-implementation-plan.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md) | Prompt | Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. |
|
| [Update Implementation Plan](../prompts/update-implementation-plan.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md) | Prompt | Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 17 curated items for project planning & management.*
|
*This collection includes 17 curated items for **Project Planning & Management**.*
|
||||||
@ -38,4 +38,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for python mcp server development.*
|
*This collection includes 3 curated items for **Python MCP Server Development**.*
|
||||||
@ -38,4 +38,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for ruby mcp server development.*
|
*This collection includes 3 curated items for **Ruby MCP Server Development**.*
|
||||||
@ -39,4 +39,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for rust mcp server development.*
|
*This collection includes 3 curated items for **Rust MCP Server Development**.*
|
||||||
@ -16,4 +16,4 @@ Security frameworks, accessibility guidelines, performance optimization, and cod
|
|||||||
| [Self-explanatory Code Commenting Instructions](../instructions/self-explanatory-code-commenting.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fself-explanatory-code-commenting.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fself-explanatory-code-commenting.instructions.md) | Instruction | Guidelines for GitHub Copilot to write comments to achieve self-explanatory code with less comments. Examples are in JavaScript but it should work on any language that has comments. |
|
| [Self-explanatory Code Commenting Instructions](../instructions/self-explanatory-code-commenting.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fself-explanatory-code-commenting.instructions.md)<br />[](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fself-explanatory-code-commenting.instructions.md) | Instruction | Guidelines for GitHub Copilot to write comments to achieve self-explanatory code with less comments. Examples are in JavaScript but it should work on any language that has comments. |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 6 curated items for security & code quality.*
|
*This collection includes 6 curated items for **Security & Code Quality**.*
|
||||||
@ -38,4 +38,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for swift mcp server development.*
|
*This collection includes 3 curated items for **Swift MCP Server Development**.*
|
||||||
@ -12,4 +12,4 @@ Tools for creation, management and research of technical spikes to reduce unknow
|
|||||||
| [Create Technical Spike Document](../prompts/create-technical-spike.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md) | Prompt | Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation. |
|
| [Create Technical Spike Document](../prompts/create-technical-spike.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md) | Prompt | Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation. |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 2 curated items for technical spike.*
|
*This collection includes 2 curated items for **Technical Spike**.*
|
||||||
@ -21,4 +21,4 @@ Comprehensive collection for writing tests, test automation, and test-driven dev
|
|||||||
| [Website Exploration for Testing](../prompts/playwright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md) | Prompt | Website exploration for testing using Playwright MCP |
|
| [Website Exploration for Testing](../prompts/playwright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md)<br />[](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md) | Prompt | Website exploration for testing using Playwright MCP |
|
||||||
|
|
||||||
---
|
---
|
||||||
*This collection includes 11 curated items for testing & test automation.*
|
*This collection includes 11 curated items for **Testing & Test Automation**.*
|
||||||
@ -37,4 +37,4 @@ To get the best results, consider:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This collection includes 3 curated items for typescript mcp server development.*
|
*This collection includes 3 curated items for **TypeScript MCP Server Development**.*
|
||||||
@ -18,7 +18,7 @@ Instructions for generating high-quality Angular applications with TypeScript, u
|
|||||||
|
|
||||||
### Architecture
|
### Architecture
|
||||||
- Use standalone components unless modules are explicitly required
|
- Use standalone components unless modules are explicitly required
|
||||||
- Organize code by feature modules or domains for scalability
|
- Organize code by standalone feature modules or domains for scalability
|
||||||
- Implement lazy loading for feature modules to optimize performance
|
- Implement lazy loading for feature modules to optimize performance
|
||||||
- Use Angular's built-in dependency injection system effectively
|
- Use Angular's built-in dependency injection system effectively
|
||||||
- Structure components with a clear separation of concerns (smart vs. presentational components)
|
- Structure components with a clear separation of concerns (smart vs. presentational components)
|
||||||
@ -32,7 +32,7 @@ Instructions for generating high-quality Angular applications with TypeScript, u
|
|||||||
|
|
||||||
### Component Design
|
### Component Design
|
||||||
- Follow Angular's component lifecycle hooks best practices
|
- Follow Angular's component lifecycle hooks best practices
|
||||||
- When using Angular >= 19, Use `input()` `output()`, `viewChild()`, `viewChildren()`, `contentChild()` and `viewChildren()` functions instead of decorators; otherwise use decorators
|
- When using Angular >= 19, Use `input()` `output()`, `viewChild()`, `viewChildren()`, `contentChild()` and `contentChildren()` functions instead of decorators; otherwise use decorators
|
||||||
- Leverage Angular's change detection strategy (default or `OnPush` for performance)
|
- Leverage Angular's change detection strategy (default or `OnPush` for performance)
|
||||||
- Keep templates clean and logic in component classes or services
|
- Keep templates clean and logic in component classes or services
|
||||||
- Use Angular directives and pipes for reusable functionality
|
- Use Angular directives and pipes for reusable functionality
|
||||||
@ -78,7 +78,7 @@ Instructions for generating high-quality Angular applications with TypeScript, u
|
|||||||
- Use Angular's `TestBed` for component testing with mocked dependencies
|
- Use Angular's `TestBed` for component testing with mocked dependencies
|
||||||
- Test signal-based state updates using Angular's testing utilities
|
- Test signal-based state updates using Angular's testing utilities
|
||||||
- Write end-to-end tests with Cypress or Playwright (if specified)
|
- Write end-to-end tests with Cypress or Playwright (if specified)
|
||||||
- Mock HTTP requests using `HttpClientTestingModule`
|
- Mock HTTP requests using `provideHttpClientTesting`
|
||||||
- Ensure high test coverage for critical functionality
|
- Ensure high test coverage for critical functionality
|
||||||
|
|
||||||
## Implementation Process
|
## Implementation Process
|
||||||
@ -95,7 +95,7 @@ Instructions for generating high-quality Angular applications with TypeScript, u
|
|||||||
11. Optimize performance and bundle size
|
11. Optimize performance and bundle size
|
||||||
|
|
||||||
## Additional Guidelines
|
## Additional Guidelines
|
||||||
- Follow Angular's naming conventions (e.g., `feature.component.ts`, `feature.service.ts`)
|
- Follow the Angular Style Guide for file naming conventions (see https://angular.dev/style-guide), e.g., use `feature.ts` for components and `feature-service.ts` for services. For legacy codebases, maintain consistency with existing pattern.
|
||||||
- Use Angular CLI commands for generating boilerplate code
|
- Use Angular CLI commands for generating boilerplate code
|
||||||
- Document components and services with clear JSDoc comments
|
- Document components and services with clear JSDoc comments
|
||||||
- Ensure accessibility compliance (WCAG 2.1) where applicable
|
- Ensure accessibility compliance (WCAG 2.1) where applicable
|
||||||
|
|||||||
@ -7,8 +7,24 @@ applyTo: '**/*.java'
|
|||||||
|
|
||||||
## General Instructions
|
## General Instructions
|
||||||
|
|
||||||
- First, prompt the user if they want to integrate static analysis tools (SonarQube, PMD, Checkstyle)
|
- First, prompt the user if they want to integrate static analysis tools (SonarQube, PMD, Checkstyle) into their project setup.
|
||||||
into their project setup. If yes, provide guidance on tool selection and configuration.
|
- If yes, document a recommended static-analysis setup.
|
||||||
|
- Prefer SonarQube/SonarCloud (SonarLint in IDE + `sonar-scanner` in CI).
|
||||||
|
- Create a Sonar project key.
|
||||||
|
- Store the scanner token in CI secrets.
|
||||||
|
- Provide a sample CI job that runs the scanner.
|
||||||
|
- If the team declines Sonar, note this in the project README and continue.
|
||||||
|
- If Sonar is bound to the project:
|
||||||
|
- Use Sonar as the primary source of actionable issues.
|
||||||
|
- Reference Sonar rule keys in remediation guidance.
|
||||||
|
- If Sonar is unavailable:
|
||||||
|
- Perform up to 3 troubleshooting checks:
|
||||||
|
1. Verify project binding and token.
|
||||||
|
2. Ensure SonarScanner runs in CI.
|
||||||
|
3. Confirm SonarLint is installed and configured.
|
||||||
|
- If still failing after 3 attempts:
|
||||||
|
- Enable SpotBugs, PMD, or Checkstyle as CI fallbacks.
|
||||||
|
- Open a short tracker issue documenting the blocker and next steps.
|
||||||
- If the user declines static analysis tools or wants to proceed without them, continue with implementing the Best practices, bug patterns and code smell prevention guidelines outlined below.
|
- If the user declines static analysis tools or wants to proceed without them, continue with implementing the Best practices, bug patterns and code smell prevention guidelines outlined below.
|
||||||
- Address code smells proactively during development rather than accumulating technical debt.
|
- Address code smells proactively during development rather than accumulating technical debt.
|
||||||
- Focus on readability, maintainability, and performance when refactoring identified issues.
|
- Focus on readability, maintainability, and performance when refactoring identified issues.
|
||||||
@ -33,28 +49,29 @@ applyTo: '**/*.java'
|
|||||||
- Use nouns for classes (`UserService`) and verbs for methods (`getUserById`).
|
- Use nouns for classes (`UserService`) and verbs for methods (`getUserById`).
|
||||||
- Avoid abbreviations and Hungarian notation.
|
- Avoid abbreviations and Hungarian notation.
|
||||||
|
|
||||||
### Bug Patterns
|
### Common Bug Patterns
|
||||||
|
|
||||||
| Rule ID | Description | Example / Notes |
|
Below are concise, human-readable rules you can apply regardless of which static analysis tool you use. If you run Sonar/SonarLint, the IDE will show the matching rule and location — direct Sonar connections are preferred and should override this ruleset.
|
||||||
| ------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
||||||
| `S2095` | Resources should be closed | Use try-with-resources when working with streams, files, sockets, etc. |
|
|
||||||
| `S1698` | Objects should be compared with `.equals()` instead of `==` | Especially important for Strings and boxed primitives. |
|
|
||||||
| `S1905` | Redundant casts should be removed | Clean up unnecessary or unsafe casts. |
|
|
||||||
| `S3518` | Conditions should not always evaluate to true or false | Watch for infinite loops or if-conditions that never change. |
|
|
||||||
| `S108` | Unreachable code should be removed | Code after `return`, `throw`, etc., must be cleaned up. |
|
|
||||||
|
|
||||||
## Code Smells
|
- Resource management — Always close resources (files, sockets, streams). Use try-with-resources where possible so resources are closed automatically.
|
||||||
|
- Equality checks — Compare object equality with `.equals()` or `Objects.equals(...)` rather than `==` for non-primitives; this avoids reference-equality bugs.
|
||||||
|
- Redundant casts — Remove unnecessary casts; prefer correct generic typing and let the compiler infer types where possible.
|
||||||
|
- Reachable conditions — Avoid conditional expressions that are always true or false; they indicate bugs or dead code and should be corrected.
|
||||||
|
|
||||||
| Rule ID | Description | Example / Notes |
|
For contributors who *do* use Sonar or SonarLint: the IDE/scan will show the specific rule key (for example, S2095 for resource leaks) and the affected file/line. Use that information to navigate to the exact location, then apply the recommended remediation.
|
||||||
| ------- | ------------------------------------------------------ | ----------------------------------------------------------------------------- |
|
|
||||||
| `S107` | Methods should not have too many parameters | Refactor into helper classes or use builder pattern. |
|
### Common Code Smells
|
||||||
| `S121` | Duplicated blocks of code should be removed | Consolidate logic into shared methods. |
|
|
||||||
| `S138` | Methods should not be too long | Break complex logic into smaller, testable units. |
|
These patterns are phrased for humans; they map cleanly to checks in Sonar, SpotBugs, PMD, or Checkstyle but do not require those tools to be useful.
|
||||||
| `S3776` | Cognitive complexity should be reduced | Simplify nested logic, extract methods, avoid deep `if` trees. |
|
|
||||||
| `S1192` | String literals should not be duplicated | Replace with constants or enums. |
|
- Parameter count — Keep method parameter lists short. If a method needs many params, consider grouping into a value object or using the builder pattern.
|
||||||
| `S1854` | Unused assignments should be removed | Avoid dead variables—remove or refactor. |
|
- Method size — Keep methods focused and small. Extract helper methods to improve readability and testability.
|
||||||
| `S109` | Magic numbers should be replaced with constants | Improves readability and maintainability. |
|
- Cognitive complexity — Reduce nested conditionals and heavy branching by extracting methods, using polymorphism, or applying the Strategy pattern.
|
||||||
| `S1188` | Catch blocks should not be empty | Always log or handle exceptions meaningfully. |
|
- Duplicated literals — Extract repeated strings and numbers into named constants or enums to reduce errors and ease changes.
|
||||||
|
- Dead code — Remove unused variables and assignments. They confuse readers and can hide bugs.
|
||||||
|
- Magic numbers — Replace numeric literals with named constants that explain intent (e.g., MAX_RETRIES).
|
||||||
|
|
||||||
|
If you run a static analyzer like Sonar or SonarLint — direct Sonar connections are preferred and should override this ruleset. Sonar rule keys are useful for automation and suppression, but they are not required in day-to-day developer guidance.
|
||||||
|
|
||||||
## Build and Verification
|
## Build and Verification
|
||||||
|
|
||||||
|
|||||||
809
instructions/php-mcp-server.instructions.md
Normal file
809
instructions/php-mcp-server.instructions.md
Normal file
@ -0,0 +1,809 @@
|
|||||||
|
---
|
||||||
|
description: 'Best practices for building Model Context Protocol servers in PHP using the official PHP SDK with attribute-based discovery and multiple transport options'
|
||||||
|
applyTo: '**/*.php'
|
||||||
|
---
|
||||||
|
|
||||||
|
# PHP MCP Server Development Best Practices
|
||||||
|
|
||||||
|
This guide provides best practices for building Model Context Protocol (MCP) servers using the official PHP SDK maintained in collaboration with The PHP Foundation.
|
||||||
|
|
||||||
|
## Installation and Setup
|
||||||
|
|
||||||
|
### Install via Composer
|
||||||
|
|
||||||
|
```bash
|
||||||
|
composer require mcp/sdk
|
||||||
|
```
|
||||||
|
|
||||||
|
### Project Structure
|
||||||
|
|
||||||
|
Organize your PHP MCP server project:
|
||||||
|
|
||||||
|
```
|
||||||
|
my-mcp-server/
|
||||||
|
├── composer.json
|
||||||
|
├── src/
|
||||||
|
│ ├── Tools/
|
||||||
|
│ │ ├── Calculator.php
|
||||||
|
│ │ └── FileManager.php
|
||||||
|
│ ├── Resources/
|
||||||
|
│ │ ├── ConfigProvider.php
|
||||||
|
│ │ └── DataProvider.php
|
||||||
|
│ ├── Prompts/
|
||||||
|
│ │ └── PromptGenerator.php
|
||||||
|
│ └── Server.php
|
||||||
|
├── server.php # Server entry point
|
||||||
|
└── tests/
|
||||||
|
└── ToolsTest.php
|
||||||
|
```
|
||||||
|
|
||||||
|
### Composer Configuration
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "your-org/mcp-server",
|
||||||
|
"description": "MCP Server for...",
|
||||||
|
"type": "project",
|
||||||
|
"require": {
|
||||||
|
"php": "^8.2",
|
||||||
|
"mcp/sdk": "^0.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^10.0"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"App\\": "src/"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Server Implementation
|
||||||
|
|
||||||
|
### Basic Server with Attribute Discovery
|
||||||
|
|
||||||
|
Create your server entry point:
|
||||||
|
|
||||||
|
```php
|
||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
require_once __DIR__ . '/vendor/autoload.php';
|
||||||
|
|
||||||
|
use Mcp\Server;
|
||||||
|
use Mcp\Server\Transport\StdioTransport;
|
||||||
|
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My MCP Server', '1.0.0')
|
||||||
|
->setDiscovery(__DIR__, ['.'])
|
||||||
|
->build();
|
||||||
|
|
||||||
|
$transport = new StdioTransport();
|
||||||
|
|
||||||
|
$server->run($transport);
|
||||||
|
```
|
||||||
|
|
||||||
|
### Server with Caching
|
||||||
|
|
||||||
|
Use PSR-16 cache for better performance:
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||||
|
use Symfony\Component\Cache\Psr16Cache;
|
||||||
|
|
||||||
|
$cache = new Psr16Cache(new FilesystemAdapter('mcp-discovery'));
|
||||||
|
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My MCP Server', '1.0.0')
|
||||||
|
->setDiscovery(
|
||||||
|
basePath: __DIR__,
|
||||||
|
scanDirs: ['.', 'src'],
|
||||||
|
excludeDirs: ['vendor', 'tests'],
|
||||||
|
cache: $cache
|
||||||
|
)
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual Registration
|
||||||
|
|
||||||
|
Register capabilities programmatically:
|
||||||
|
|
||||||
|
```php
|
||||||
|
use App\Tools\Calculator;
|
||||||
|
use App\Resources\Config;
|
||||||
|
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My MCP Server', '1.0.0')
|
||||||
|
->addTool([Calculator::class, 'add'], 'add')
|
||||||
|
->addTool([Calculator::class, 'multiply'], 'multiply')
|
||||||
|
->addResource([Config::class, 'getSettings'], 'config://app/settings')
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tool Development
|
||||||
|
|
||||||
|
### Simple Tool with Attribute
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Tools;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpTool;
|
||||||
|
|
||||||
|
class Calculator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Adds two numbers together.
|
||||||
|
*
|
||||||
|
* @param int $a The first number
|
||||||
|
* @param int $b The second number
|
||||||
|
* @return int The sum of the two numbers
|
||||||
|
*/
|
||||||
|
#[McpTool]
|
||||||
|
public function add(int $a, int $b): int
|
||||||
|
{
|
||||||
|
return $a + $b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tool with Custom Name
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Capability\Attribute\McpTool;
|
||||||
|
|
||||||
|
class FileManager
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Reads file content from the filesystem.
|
||||||
|
*/
|
||||||
|
#[McpTool(name: 'read_file')]
|
||||||
|
public function readFileContent(string $path): string
|
||||||
|
{
|
||||||
|
if (!file_exists($path)) {
|
||||||
|
throw new \InvalidArgumentException("File not found: {$path}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return file_get_contents($path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tool with Validation and Schema
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Capability\Attribute\{McpTool, Schema};
|
||||||
|
|
||||||
|
class UserManager
|
||||||
|
{
|
||||||
|
#[McpTool(name: 'create_user')]
|
||||||
|
public function createUser(
|
||||||
|
#[Schema(format: 'email')]
|
||||||
|
string $email,
|
||||||
|
|
||||||
|
#[Schema(minimum: 18, maximum: 120)]
|
||||||
|
int $age,
|
||||||
|
|
||||||
|
#[Schema(
|
||||||
|
pattern: '^[A-Z][a-z]+$',
|
||||||
|
description: 'Capitalized first name'
|
||||||
|
)]
|
||||||
|
string $firstName
|
||||||
|
): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id' => uniqid(),
|
||||||
|
'email' => $email,
|
||||||
|
'age' => $age,
|
||||||
|
'firstName' => $firstName
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tool with Complex Return Types
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Schema\Content\{TextContent, ImageContent};
|
||||||
|
|
||||||
|
class ReportGenerator
|
||||||
|
{
|
||||||
|
#[McpTool]
|
||||||
|
public function generateReport(string $type): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
new TextContent('Report generated:'),
|
||||||
|
TextContent::code($this->generateCode($type), 'php'),
|
||||||
|
new TextContent('Summary: All checks passed.')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpTool]
|
||||||
|
public function getChart(string $chartType): ImageContent
|
||||||
|
{
|
||||||
|
$imageData = $this->generateChartImage($chartType);
|
||||||
|
|
||||||
|
return new ImageContent(
|
||||||
|
data: base64_encode($imageData),
|
||||||
|
mimeType: 'image/png'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tool with Match Expression
|
||||||
|
|
||||||
|
```php
|
||||||
|
#[McpTool(name: 'calculate')]
|
||||||
|
public function performCalculation(float $a, float $b, string $operation): float
|
||||||
|
{
|
||||||
|
return match($operation) {
|
||||||
|
'add' => $a + $b,
|
||||||
|
'subtract' => $a - $b,
|
||||||
|
'multiply' => $a * $b,
|
||||||
|
'divide' => $b != 0 ? $a / $b :
|
||||||
|
throw new \InvalidArgumentException('Division by zero'),
|
||||||
|
default => throw new \InvalidArgumentException('Invalid operation')
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Resource Implementation
|
||||||
|
|
||||||
|
### Static Resource
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Resources;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpResource;
|
||||||
|
|
||||||
|
class ConfigProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Provides the current application configuration.
|
||||||
|
*/
|
||||||
|
#[McpResource(
|
||||||
|
uri: 'config://app/settings',
|
||||||
|
name: 'app_settings',
|
||||||
|
mimeType: 'application/json'
|
||||||
|
)]
|
||||||
|
public function getSettings(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'version' => '1.0.0',
|
||||||
|
'debug' => false,
|
||||||
|
'features' => ['auth', 'logging']
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Resource Template with Variables
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Capability\Attribute\McpResourceTemplate;
|
||||||
|
|
||||||
|
class UserProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Retrieves user profile information by ID and section.
|
||||||
|
*/
|
||||||
|
#[McpResourceTemplate(
|
||||||
|
uriTemplate: 'user://{userId}/profile/{section}',
|
||||||
|
name: 'user_profile',
|
||||||
|
description: 'User profile data by section',
|
||||||
|
mimeType: 'application/json'
|
||||||
|
)]
|
||||||
|
public function getUserProfile(string $userId, string $section): array
|
||||||
|
{
|
||||||
|
// Variable order must match URI template order
|
||||||
|
return $this->users[$userId][$section] ??
|
||||||
|
throw new \InvalidArgumentException("Profile section not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Resource with File Content
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Schema\Content\{TextResourceContents, BlobResourceContents};
|
||||||
|
|
||||||
|
class FileProvider
|
||||||
|
{
|
||||||
|
#[McpResource(uri: 'file://readme.txt', mimeType: 'text/plain')]
|
||||||
|
public function getReadme(): TextResourceContents
|
||||||
|
{
|
||||||
|
return new TextResourceContents(
|
||||||
|
uri: 'file://readme.txt',
|
||||||
|
mimeType: 'text/plain',
|
||||||
|
text: file_get_contents(__DIR__ . '/README.txt')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpResource(uri: 'file://image.png', mimeType: 'image/png')]
|
||||||
|
public function getImage(): BlobResourceContents
|
||||||
|
{
|
||||||
|
$imageData = file_get_contents(__DIR__ . '/image.png');
|
||||||
|
|
||||||
|
return new BlobResourceContents(
|
||||||
|
uri: 'file://image.png',
|
||||||
|
mimeType: 'image/png',
|
||||||
|
blob: base64_encode($imageData)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Prompt Implementation
|
||||||
|
|
||||||
|
### Basic Prompt
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Prompts;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpPrompt;
|
||||||
|
|
||||||
|
class PromptGenerator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Generates a code review request prompt.
|
||||||
|
*/
|
||||||
|
#[McpPrompt(name: 'code_review')]
|
||||||
|
public function reviewCode(string $language, string $code, string $focus = 'general'): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
['role' => 'assistant', 'content' => 'You are an expert code reviewer.'],
|
||||||
|
['role' => 'user', 'content' => "Review this {$language} code focusing on {$focus}:\n\n```{$language}\n{$code}\n```"]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Prompt with Mixed Content
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Schema\Content\{TextContent, ImageContent};
|
||||||
|
use Mcp\Schema\PromptMessage;
|
||||||
|
use Mcp\Schema\Enum\Role;
|
||||||
|
|
||||||
|
#[McpPrompt]
|
||||||
|
public function analyzeImage(string $imageUrl, string $question): array
|
||||||
|
{
|
||||||
|
$imageData = file_get_contents($imageUrl);
|
||||||
|
|
||||||
|
return [
|
||||||
|
new PromptMessage(Role::Assistant, [
|
||||||
|
new TextContent('You are an image analysis expert.')
|
||||||
|
]),
|
||||||
|
new PromptMessage(Role::User, [
|
||||||
|
new TextContent($question),
|
||||||
|
new ImageContent(
|
||||||
|
data: base64_encode($imageData),
|
||||||
|
mimeType: 'image/jpeg'
|
||||||
|
)
|
||||||
|
])
|
||||||
|
];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Completion Providers
|
||||||
|
|
||||||
|
### Value List Completion
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Capability\Attribute\{McpPrompt, CompletionProvider};
|
||||||
|
|
||||||
|
#[McpPrompt]
|
||||||
|
public function generateContent(
|
||||||
|
#[CompletionProvider(values: ['blog', 'article', 'tutorial', 'guide'])]
|
||||||
|
string $contentType,
|
||||||
|
|
||||||
|
#[CompletionProvider(values: ['beginner', 'intermediate', 'advanced'])]
|
||||||
|
string $difficulty
|
||||||
|
): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
['role' => 'user', 'content' => "Create a {$difficulty} level {$contentType}"]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Enum Completion
|
||||||
|
|
||||||
|
```php
|
||||||
|
enum Priority: string
|
||||||
|
{
|
||||||
|
case LOW = 'low';
|
||||||
|
case MEDIUM = 'medium';
|
||||||
|
case HIGH = 'high';
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Status
|
||||||
|
{
|
||||||
|
case DRAFT;
|
||||||
|
case PUBLISHED;
|
||||||
|
case ARCHIVED;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpResourceTemplate(uriTemplate: 'tasks/{taskId}')]
|
||||||
|
public function getTask(
|
||||||
|
string $taskId,
|
||||||
|
|
||||||
|
#[CompletionProvider(enum: Priority::class)]
|
||||||
|
string $priority,
|
||||||
|
|
||||||
|
#[CompletionProvider(enum: Status::class)]
|
||||||
|
string $status
|
||||||
|
): array
|
||||||
|
{
|
||||||
|
return $this->tasks[$taskId] ?? [];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom Completion Provider
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Capability\Prompt\Completion\ProviderInterface;
|
||||||
|
|
||||||
|
class UserIdCompletionProvider implements ProviderInterface
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
private DatabaseService $db
|
||||||
|
) {}
|
||||||
|
|
||||||
|
public function getCompletions(string $currentValue): array
|
||||||
|
{
|
||||||
|
return $this->db->searchUserIds($currentValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpResourceTemplate(uriTemplate: 'user://{userId}/profile')]
|
||||||
|
public function getUserProfile(
|
||||||
|
#[CompletionProvider(provider: UserIdCompletionProvider::class)]
|
||||||
|
string $userId
|
||||||
|
): array
|
||||||
|
{
|
||||||
|
return $this->users[$userId] ??
|
||||||
|
throw new \InvalidArgumentException('User not found');
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Transport Options
|
||||||
|
|
||||||
|
### Stdio Transport
|
||||||
|
|
||||||
|
For command-line integration (default):
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Server\Transport\StdioTransport;
|
||||||
|
|
||||||
|
$transport = new StdioTransport();
|
||||||
|
$server->run($transport);
|
||||||
|
```
|
||||||
|
|
||||||
|
### HTTP Transport
|
||||||
|
|
||||||
|
For web-based integration:
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Server\Transport\StreamableHttpTransport;
|
||||||
|
use Nyholm\Psr7\Factory\Psr17Factory;
|
||||||
|
|
||||||
|
$psr17Factory = new Psr17Factory();
|
||||||
|
|
||||||
|
$request = $psr17Factory->createServerRequestFromGlobals();
|
||||||
|
|
||||||
|
$transport = new StreamableHttpTransport(
|
||||||
|
$request,
|
||||||
|
$psr17Factory, // Response factory
|
||||||
|
$psr17Factory // Stream factory
|
||||||
|
);
|
||||||
|
|
||||||
|
$response = $server->run($transport);
|
||||||
|
|
||||||
|
// Send response in your web framework
|
||||||
|
foreach ($response->getHeaders() as $name => $values) {
|
||||||
|
foreach ($values as $value) {
|
||||||
|
header("$name: $value", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
http_response_code($response->getStatusCode());
|
||||||
|
echo $response->getBody();
|
||||||
|
```
|
||||||
|
|
||||||
|
## Session Management
|
||||||
|
|
||||||
|
### In-Memory Sessions (Default)
|
||||||
|
|
||||||
|
```php
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My Server', '1.0.0')
|
||||||
|
->setSession(ttl: 7200) // 2 hours
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
### File-Based Sessions
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Server\Session\FileSessionStore;
|
||||||
|
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My Server', '1.0.0')
|
||||||
|
->setSession(new FileSessionStore(__DIR__ . '/sessions'))
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom Session Store
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Mcp\Server\Session\InMemorySessionStore;
|
||||||
|
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My Server', '1.0.0')
|
||||||
|
->setSession(new InMemorySessionStore(3600))
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
## Error Handling
|
||||||
|
|
||||||
|
### Exception Handling in Tools
|
||||||
|
|
||||||
|
```php
|
||||||
|
#[McpTool]
|
||||||
|
public function divideNumbers(float $a, float $b): float
|
||||||
|
{
|
||||||
|
if ($b === 0.0) {
|
||||||
|
throw new \InvalidArgumentException('Division by zero is not allowed');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $a / $b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpTool]
|
||||||
|
public function processFile(string $filename): string
|
||||||
|
{
|
||||||
|
if (!file_exists($filename)) {
|
||||||
|
throw new \InvalidArgumentException("File not found: {$filename}");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_readable($filename)) {
|
||||||
|
throw new \RuntimeException("File not readable: {$filename}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return file_get_contents($filename);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom Error Responses
|
||||||
|
|
||||||
|
The SDK automatically converts exceptions into JSON-RPC error responses that MCP clients understand.
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
### PHPUnit Tests for Tools
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests;
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use App\Tools\Calculator;
|
||||||
|
|
||||||
|
class CalculatorTest extends TestCase
|
||||||
|
{
|
||||||
|
private Calculator $calculator;
|
||||||
|
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
$this->calculator = new Calculator();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAdd(): void
|
||||||
|
{
|
||||||
|
$result = $this->calculator->add(5, 3);
|
||||||
|
$this->assertSame(8, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDivideByZero(): void
|
||||||
|
{
|
||||||
|
$this->expectException(\InvalidArgumentException::class);
|
||||||
|
$this->expectExceptionMessage('Division by zero');
|
||||||
|
|
||||||
|
$this->calculator->divide(10, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Testing Server Discovery
|
||||||
|
|
||||||
|
```php
|
||||||
|
public function testServerDiscoversTools(): void
|
||||||
|
{
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('Test Server', '1.0.0')
|
||||||
|
->setDiscovery(__DIR__ . '/../src', ['.'])
|
||||||
|
->build();
|
||||||
|
|
||||||
|
$capabilities = $server->getCapabilities();
|
||||||
|
|
||||||
|
$this->assertArrayHasKey('tools', $capabilities);
|
||||||
|
$this->assertNotEmpty($capabilities['tools']);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Performance Best Practices
|
||||||
|
|
||||||
|
### Use Discovery Caching
|
||||||
|
|
||||||
|
Always use caching in production:
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Symfony\Component\Cache\Adapter\RedisAdapter;
|
||||||
|
use Symfony\Component\Cache\Psr16Cache;
|
||||||
|
|
||||||
|
$redis = new \Redis();
|
||||||
|
$redis->connect('127.0.0.1', 6379);
|
||||||
|
|
||||||
|
$cache = new Psr16Cache(new RedisAdapter($redis));
|
||||||
|
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('My Server', '1.0.0')
|
||||||
|
->setDiscovery(
|
||||||
|
basePath: __DIR__,
|
||||||
|
scanDirs: ['src'],
|
||||||
|
excludeDirs: ['vendor', 'tests', 'var'],
|
||||||
|
cache: $cache
|
||||||
|
)
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Optimize Scan Directories
|
||||||
|
|
||||||
|
Only scan necessary directories:
|
||||||
|
|
||||||
|
```php
|
||||||
|
$server = Server::builder()
|
||||||
|
->setDiscovery(
|
||||||
|
basePath: __DIR__,
|
||||||
|
scanDirs: ['src/Tools', 'src/Resources'], // Specific dirs
|
||||||
|
excludeDirs: ['vendor', 'tests', 'var', 'cache']
|
||||||
|
)
|
||||||
|
->build();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Use OPcache
|
||||||
|
|
||||||
|
Enable OPcache in production for better PHP performance:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
; php.ini
|
||||||
|
opcache.enable=1
|
||||||
|
opcache.memory_consumption=256
|
||||||
|
opcache.interned_strings_buffer=16
|
||||||
|
opcache.max_accelerated_files=10000
|
||||||
|
opcache.validate_timestamps=0
|
||||||
|
```
|
||||||
|
|
||||||
|
## Framework Integration
|
||||||
|
|
||||||
|
### Laravel Integration
|
||||||
|
|
||||||
|
```php
|
||||||
|
// app/Console/Commands/McpServer.php
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use Mcp\Server;
|
||||||
|
use Mcp\Server\Transport\StdioTransport;
|
||||||
|
|
||||||
|
class McpServer extends Command
|
||||||
|
{
|
||||||
|
protected $signature = 'mcp:serve';
|
||||||
|
protected $description = 'Start MCP server';
|
||||||
|
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('Laravel MCP Server', '1.0.0')
|
||||||
|
->setDiscovery(app_path(), ['Tools', 'Resources'])
|
||||||
|
->build();
|
||||||
|
|
||||||
|
$transport = new StdioTransport();
|
||||||
|
$server->run($transport);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Symfony Integration
|
||||||
|
|
||||||
|
```php
|
||||||
|
// Use symfony/mcp-bundle for native integration
|
||||||
|
composer require symfony/mcp-bundle
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
### Docker Deployment
|
||||||
|
|
||||||
|
```dockerfile
|
||||||
|
FROM php:8.2-cli
|
||||||
|
|
||||||
|
# Install extensions
|
||||||
|
RUN docker-php-ext-install pdo pdo_mysql
|
||||||
|
|
||||||
|
# Install Composer
|
||||||
|
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy application
|
||||||
|
COPY . /app
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
RUN composer install --no-dev --optimize-autoloader
|
||||||
|
|
||||||
|
# Make server executable
|
||||||
|
RUN chmod +x /app/server.php
|
||||||
|
|
||||||
|
CMD ["php", "/app/server.php"]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Systemd Service
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=MCP PHP Server
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=www-data
|
||||||
|
WorkingDirectory=/var/www/mcp-server
|
||||||
|
ExecStart=/usr/bin/php /var/www/mcp-server/server.php
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration for MCP Clients
|
||||||
|
|
||||||
|
### Claude Desktop Configuration
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"php-server": {
|
||||||
|
"command": "php",
|
||||||
|
"args": ["/absolute/path/to/server.php"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### MCP Inspector Testing
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx @modelcontextprotocol/inspector php /path/to/server.php
|
||||||
|
```
|
||||||
|
|
||||||
|
## Additional Resources
|
||||||
|
|
||||||
|
- [Official PHP SDK Repository](https://github.com/modelcontextprotocol/php-sdk)
|
||||||
|
- [MCP Elements Documentation](https://github.com/modelcontextprotocol/php-sdk/blob/main/docs/mcp-elements.md)
|
||||||
|
- [Server Builder Documentation](https://github.com/modelcontextprotocol/php-sdk/blob/main/docs/server-builder.md)
|
||||||
|
- [Transport Documentation](https://github.com/modelcontextprotocol/php-sdk/blob/main/docs/transports.md)
|
||||||
|
- [Examples](https://github.com/modelcontextprotocol/php-sdk/blob/main/docs/examples.md)
|
||||||
|
- [MCP Specification](https://spec.modelcontextprotocol.io/)
|
||||||
|
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
||||||
85
prompts/java-refactoring-remove-parameter.prompt.md
Normal file
85
prompts/java-refactoring-remove-parameter.prompt.md
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
---
|
||||||
|
title: 'Refactoring Java Methods with Remove Parameter'
|
||||||
|
mode: 'agent'
|
||||||
|
description: 'Refactoring using Remove Parameter in Java Language'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Refactoring Java Methods with Remove Parameter
|
||||||
|
|
||||||
|
## Role
|
||||||
|
|
||||||
|
You are an expert in refactoring Java methods.
|
||||||
|
|
||||||
|
Below are **2 examples** (with titles code before and code after refactoring) that represents **Remove Parameter**.
|
||||||
|
|
||||||
|
## Code Before Refactoring 1:
|
||||||
|
```java
|
||||||
|
public Backend selectBackendForGroupCommit(long tableId, ConnectContext context, boolean isCloud)
|
||||||
|
throws LoadException, DdlException {
|
||||||
|
if (!Env.getCurrentEnv().isMaster()) {
|
||||||
|
try {
|
||||||
|
long backendId = new MasterOpExecutor(context)
|
||||||
|
.getGroupCommitLoadBeId(tableId, context.getCloudCluster(), isCloud);
|
||||||
|
return Env.getCurrentSystemInfo().getBackend(backendId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new LoadException(e.getMessage());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return Env.getCurrentSystemInfo()
|
||||||
|
.getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster(), isCloud));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Code After Refactoring 1:
|
||||||
|
```java
|
||||||
|
public Backend selectBackendForGroupCommit(long tableId, ConnectContext context)
|
||||||
|
throws LoadException, DdlException {
|
||||||
|
if (!Env.getCurrentEnv().isMaster()) {
|
||||||
|
try {
|
||||||
|
long backendId = new MasterOpExecutor(context)
|
||||||
|
.getGroupCommitLoadBeId(tableId, context.getCloudCluster());
|
||||||
|
return Env.getCurrentSystemInfo().getBackend(backendId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new LoadException(e.getMessage());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return Env.getCurrentSystemInfo()
|
||||||
|
.getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Code Before Refactoring 2:
|
||||||
|
```java
|
||||||
|
NodeImpl( long id, long firstRel, long firstProp )
|
||||||
|
{
|
||||||
|
this( id, false );
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Code After Refactoring 2:
|
||||||
|
```java
|
||||||
|
NodeImpl( long id)
|
||||||
|
{
|
||||||
|
this( id, false );
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Task
|
||||||
|
|
||||||
|
Apply **Remove Parameter** to improve readability, testability, maintainability, reusability, modularity, cohesion, low coupling, and consistency.
|
||||||
|
|
||||||
|
Always return a complete and compilable method (Java 17).
|
||||||
|
|
||||||
|
Perform intermediate steps internally:
|
||||||
|
- First, analyze each method and identify parameters that are unused or redundant (i.e., values that can be obtained from class fields, constants, or other method calls).
|
||||||
|
- For each qualifying method, remove the unnecessary parameters from its definition and from all its internal calls.
|
||||||
|
- Ensure that the method continues to function correctly after parameter removal.
|
||||||
|
- Output only the refactored code inside a single ```java``` block.
|
||||||
|
- Do not remove any functionality from the original method.
|
||||||
|
- Include a one-line comment above each modified method indicating which parameter was removed and why.
|
||||||
|
|
||||||
|
## Code to be Refactored:
|
||||||
|
|
||||||
|
Now, assess all methods with unused parameters and refactor them using **Remove Parameter**
|
||||||
522
prompts/php-mcp-server-generator.prompt.md
Normal file
522
prompts/php-mcp-server-generator.prompt.md
Normal file
@ -0,0 +1,522 @@
|
|||||||
|
---
|
||||||
|
description: 'Generate a complete PHP Model Context Protocol server project with tools, resources, prompts, and tests using the official PHP SDK'
|
||||||
|
mode: agent
|
||||||
|
---
|
||||||
|
|
||||||
|
# PHP MCP Server Generator
|
||||||
|
|
||||||
|
You are a PHP MCP server generator. Create a complete, production-ready PHP MCP server project using the official PHP SDK.
|
||||||
|
|
||||||
|
## Project Requirements
|
||||||
|
|
||||||
|
Ask the user for:
|
||||||
|
1. **Project name** (e.g., "my-mcp-server")
|
||||||
|
2. **Server description** (e.g., "A file management MCP server")
|
||||||
|
3. **Transport type** (stdio, http, or both)
|
||||||
|
4. **Tools to include** (e.g., "file read", "file write", "list directory")
|
||||||
|
5. **Whether to include resources and prompts**
|
||||||
|
6. **PHP version** (8.2+ required)
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
{project-name}/
|
||||||
|
├── composer.json
|
||||||
|
├── .gitignore
|
||||||
|
├── README.md
|
||||||
|
├── server.php
|
||||||
|
├── src/
|
||||||
|
│ ├── Tools/
|
||||||
|
│ │ └── {ToolClass}.php
|
||||||
|
│ ├── Resources/
|
||||||
|
│ │ └── {ResourceClass}.php
|
||||||
|
│ ├── Prompts/
|
||||||
|
│ │ └── {PromptClass}.php
|
||||||
|
│ └── Providers/
|
||||||
|
│ └── {CompletionProvider}.php
|
||||||
|
└── tests/
|
||||||
|
└── ToolsTest.php
|
||||||
|
```
|
||||||
|
|
||||||
|
## File Templates
|
||||||
|
|
||||||
|
### composer.json
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "your-org/{project-name}",
|
||||||
|
"description": "{Server description}",
|
||||||
|
"type": "project",
|
||||||
|
"require": {
|
||||||
|
"php": "^8.2",
|
||||||
|
"mcp/sdk": "^0.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^10.0",
|
||||||
|
"symfony/cache": "^6.4"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"App\\\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload-dev": {
|
||||||
|
"psr-4": {
|
||||||
|
"Tests\\\\": "tests/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"optimize-autoloader": true,
|
||||||
|
"preferred-install": "dist",
|
||||||
|
"sort-packages": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### .gitignore
|
||||||
|
|
||||||
|
```
|
||||||
|
/vendor
|
||||||
|
/cache
|
||||||
|
composer.lock
|
||||||
|
.phpunit.cache
|
||||||
|
phpstan.neon
|
||||||
|
```
|
||||||
|
|
||||||
|
### README.md
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# {Project Name}
|
||||||
|
|
||||||
|
{Server description}
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- PHP 8.2 or higher
|
||||||
|
- Composer
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
composer install
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Start Server (Stdio)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
php server.php
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configure in Claude Desktop
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"{project-name}": {
|
||||||
|
"command": "php",
|
||||||
|
"args": ["/absolute/path/to/server.php"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vendor/bin/phpunit
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tools
|
||||||
|
|
||||||
|
- **{tool_name}**: {Tool description}
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
Test with MCP Inspector:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx @modelcontextprotocol/inspector php server.php
|
||||||
|
```
|
||||||
|
```
|
||||||
|
|
||||||
|
### server.php
|
||||||
|
|
||||||
|
```php
|
||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
require_once __DIR__ . '/vendor/autoload.php';
|
||||||
|
|
||||||
|
use Mcp\Server;
|
||||||
|
use Mcp\Server\Transport\StdioTransport;
|
||||||
|
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||||
|
use Symfony\Component\Cache\Psr16Cache;
|
||||||
|
|
||||||
|
// Setup cache for discovery
|
||||||
|
$cache = new Psr16Cache(new FilesystemAdapter('mcp-discovery', 3600, __DIR__ . '/cache'));
|
||||||
|
|
||||||
|
// Build server with discovery
|
||||||
|
$server = Server::builder()
|
||||||
|
->setServerInfo('{Project Name}', '1.0.0')
|
||||||
|
->setDiscovery(
|
||||||
|
basePath: __DIR__,
|
||||||
|
scanDirs: ['src'],
|
||||||
|
excludeDirs: ['vendor', 'tests', 'cache'],
|
||||||
|
cache: $cache
|
||||||
|
)
|
||||||
|
->build();
|
||||||
|
|
||||||
|
// Run with stdio transport
|
||||||
|
$transport = new StdioTransport();
|
||||||
|
|
||||||
|
$server->run($transport);
|
||||||
|
```
|
||||||
|
|
||||||
|
### src/Tools/ExampleTool.php
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tools;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpTool;
|
||||||
|
use Mcp\Capability\Attribute\Schema;
|
||||||
|
|
||||||
|
class ExampleTool
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Performs a greeting with the provided name.
|
||||||
|
*
|
||||||
|
* @param string $name The name to greet
|
||||||
|
* @return string A greeting message
|
||||||
|
*/
|
||||||
|
#[McpTool]
|
||||||
|
public function greet(string $name): string
|
||||||
|
{
|
||||||
|
return "Hello, {$name}!";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Performs arithmetic calculations.
|
||||||
|
*/
|
||||||
|
#[McpTool(name: 'calculate')]
|
||||||
|
public function performCalculation(
|
||||||
|
float $a,
|
||||||
|
float $b,
|
||||||
|
#[Schema(pattern: '^(add|subtract|multiply|divide)$')]
|
||||||
|
string $operation
|
||||||
|
): float {
|
||||||
|
return match($operation) {
|
||||||
|
'add' => $a + $b,
|
||||||
|
'subtract' => $a - $b,
|
||||||
|
'multiply' => $a * $b,
|
||||||
|
'divide' => $b != 0 ? $a / $b :
|
||||||
|
throw new \InvalidArgumentException('Division by zero'),
|
||||||
|
default => throw new \InvalidArgumentException('Invalid operation')
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### src/Resources/ConfigResource.php
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Resources;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpResource;
|
||||||
|
|
||||||
|
class ConfigResource
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Provides application configuration.
|
||||||
|
*/
|
||||||
|
#[McpResource(
|
||||||
|
uri: 'config://app/settings',
|
||||||
|
name: 'app_config',
|
||||||
|
mimeType: 'application/json'
|
||||||
|
)]
|
||||||
|
public function getConfiguration(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'version' => '1.0.0',
|
||||||
|
'environment' => 'production',
|
||||||
|
'features' => [
|
||||||
|
'logging' => true,
|
||||||
|
'caching' => true
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### src/Resources/DataProvider.php
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Resources;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpResourceTemplate;
|
||||||
|
|
||||||
|
class DataProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Provides data by category and ID.
|
||||||
|
*/
|
||||||
|
#[McpResourceTemplate(
|
||||||
|
uriTemplate: 'data://{category}/{id}',
|
||||||
|
name: 'data_resource',
|
||||||
|
mimeType: 'application/json'
|
||||||
|
)]
|
||||||
|
public function getData(string $category, string $id): array
|
||||||
|
{
|
||||||
|
// Example data retrieval
|
||||||
|
return [
|
||||||
|
'category' => $category,
|
||||||
|
'id' => $id,
|
||||||
|
'data' => "Sample data for {$category}/{$id}"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### src/Prompts/PromptGenerator.php
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Prompts;
|
||||||
|
|
||||||
|
use Mcp\Capability\Attribute\McpPrompt;
|
||||||
|
use Mcp\Capability\Attribute\CompletionProvider;
|
||||||
|
|
||||||
|
class PromptGenerator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Generates a code review prompt.
|
||||||
|
*/
|
||||||
|
#[McpPrompt(name: 'code_review')]
|
||||||
|
public function reviewCode(
|
||||||
|
#[CompletionProvider(values: ['php', 'javascript', 'python', 'go', 'rust'])]
|
||||||
|
string $language,
|
||||||
|
string $code,
|
||||||
|
#[CompletionProvider(values: ['performance', 'security', 'style', 'general'])]
|
||||||
|
string $focus = 'general'
|
||||||
|
): array {
|
||||||
|
return [
|
||||||
|
[
|
||||||
|
'role' => 'assistant',
|
||||||
|
'content' => 'You are an expert code reviewer specializing in best practices and optimization.'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'role' => 'user',
|
||||||
|
'content' => "Review this {$language} code with focus on {$focus}:\n\n```{$language}\n{$code}\n```"
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates documentation prompt.
|
||||||
|
*/
|
||||||
|
#[McpPrompt]
|
||||||
|
public function generateDocs(string $code, string $style = 'detailed'): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
[
|
||||||
|
'role' => 'user',
|
||||||
|
'content' => "Generate {$style} documentation for:\n\n```\n{$code}\n```"
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### tests/ToolsTest.php
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Tests;
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use App\Tools\ExampleTool;
|
||||||
|
|
||||||
|
class ToolsTest extends TestCase
|
||||||
|
{
|
||||||
|
private ExampleTool $tool;
|
||||||
|
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
$this->tool = new ExampleTool();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGreet(): void
|
||||||
|
{
|
||||||
|
$result = $this->tool->greet('World');
|
||||||
|
$this->assertSame('Hello, World!', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCalculateAdd(): void
|
||||||
|
{
|
||||||
|
$result = $this->tool->performCalculation(5, 3, 'add');
|
||||||
|
$this->assertSame(8.0, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCalculateDivide(): void
|
||||||
|
{
|
||||||
|
$result = $this->tool->performCalculation(10, 2, 'divide');
|
||||||
|
$this->assertSame(5.0, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCalculateDivideByZero(): void
|
||||||
|
{
|
||||||
|
$this->expectException(\InvalidArgumentException::class);
|
||||||
|
$this->expectExceptionMessage('Division by zero');
|
||||||
|
|
||||||
|
$this->tool->performCalculation(10, 0, 'divide');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCalculateInvalidOperation(): void
|
||||||
|
{
|
||||||
|
$this->expectException(\InvalidArgumentException::class);
|
||||||
|
$this->expectExceptionMessage('Invalid operation');
|
||||||
|
|
||||||
|
$this->tool->performCalculation(5, 3, 'modulo');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### phpunit.xml.dist
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
||||||
|
bootstrap="vendor/autoload.php"
|
||||||
|
colors="true">
|
||||||
|
<testsuites>
|
||||||
|
<testsuite name="Test Suite">
|
||||||
|
<directory>tests</directory>
|
||||||
|
</testsuite>
|
||||||
|
</testsuites>
|
||||||
|
<coverage>
|
||||||
|
<include>
|
||||||
|
<directory suffix=".php">src</directory>
|
||||||
|
</include>
|
||||||
|
</coverage>
|
||||||
|
</phpunit>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Implementation Guidelines
|
||||||
|
|
||||||
|
1. **Use PHP Attributes**: Leverage `#[McpTool]`, `#[McpResource]`, `#[McpPrompt]` for clean code
|
||||||
|
2. **Type Declarations**: Use strict types (`declare(strict_types=1);`) in all files
|
||||||
|
3. **PSR-12 Coding Standard**: Follow PHP-FIG standards
|
||||||
|
4. **Schema Validation**: Use `#[Schema]` attributes for parameter validation
|
||||||
|
5. **Error Handling**: Throw specific exceptions with clear messages
|
||||||
|
6. **Testing**: Write PHPUnit tests for all tools
|
||||||
|
7. **Documentation**: Use PHPDoc blocks for all methods
|
||||||
|
8. **Caching**: Always use PSR-16 cache for discovery in production
|
||||||
|
|
||||||
|
## Tool Patterns
|
||||||
|
|
||||||
|
### Simple Tool
|
||||||
|
```php
|
||||||
|
#[McpTool]
|
||||||
|
public function simpleAction(string $input): string
|
||||||
|
{
|
||||||
|
return "Processed: {$input}";
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tool with Validation
|
||||||
|
```php
|
||||||
|
#[McpTool]
|
||||||
|
public function validateEmail(
|
||||||
|
#[Schema(format: 'email')]
|
||||||
|
string $email
|
||||||
|
): bool {
|
||||||
|
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tool with Enum
|
||||||
|
```php
|
||||||
|
enum Status: string {
|
||||||
|
case ACTIVE = 'active';
|
||||||
|
case INACTIVE = 'inactive';
|
||||||
|
}
|
||||||
|
|
||||||
|
#[McpTool]
|
||||||
|
public function setStatus(string $id, Status $status): array
|
||||||
|
{
|
||||||
|
return ['id' => $id, 'status' => $status->value];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Resource Patterns
|
||||||
|
|
||||||
|
### Static Resource
|
||||||
|
```php
|
||||||
|
#[McpResource(uri: 'config://settings', mimeType: 'application/json')]
|
||||||
|
public function getSettings(): array
|
||||||
|
{
|
||||||
|
return ['key' => 'value'];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Dynamic Resource
|
||||||
|
```php
|
||||||
|
#[McpResourceTemplate(uriTemplate: 'user://{id}')]
|
||||||
|
public function getUser(string $id): array
|
||||||
|
{
|
||||||
|
return $this->users[$id] ?? throw new \RuntimeException('User not found');
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running the Server
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install dependencies
|
||||||
|
composer install
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
vendor/bin/phpunit
|
||||||
|
|
||||||
|
# Start server
|
||||||
|
php server.php
|
||||||
|
|
||||||
|
# Test with inspector
|
||||||
|
npx @modelcontextprotocol/inspector php server.php
|
||||||
|
```
|
||||||
|
|
||||||
|
## Claude Desktop Configuration
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"{project-name}": {
|
||||||
|
"command": "php",
|
||||||
|
"args": ["/absolute/path/to/server.php"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Now generate the complete project based on user requirements!
|
||||||
@ -639,9 +639,7 @@ function generateCollectionReadme(collection, collectionId) {
|
|||||||
|
|
||||||
// Optional badge note at the end if show_badge is true
|
// Optional badge note at the end if show_badge is true
|
||||||
if (collection.display?.show_badge) {
|
if (collection.display?.show_badge) {
|
||||||
content += `*This collection includes ${
|
content += `*This collection includes ${items.length} curated items for **${name}**.*`;
|
||||||
items.length
|
|
||||||
} curated items for ${name.toLowerCase()}.*`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user