diff --git a/.all-contributorsrc b/.all-contributorsrc index ae9f72a..7e7bfca 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -786,8 +786,27 @@ "contributions": [ "code" ] + }, + { + "login": "soderlind", + "name": "Per Søderlind", + "avatar_url": "https://avatars.githubusercontent.com/u/1649452?v=4", + "profile": "https://soderlind.no", + "contributions": [ + "code" + ] + }, + { + "login": "riqueufmg", + "name": "Henrique Nunes", + "avatar_url": "https://avatars.githubusercontent.com/u/108551585?v=4", + "profile": "https://github.com/riqueufmg", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, - "linkToUsage": true + "linkToUsage": true, + "commitType": "docs" } diff --git a/.schemas/collection.schema.json b/.schemas/collection.schema.json index e4efe3a..0119882 100644 --- a/.schemas/collection.schema.json +++ b/.schemas/collection.schema.json @@ -57,6 +57,10 @@ "type": "string", "description": "Type of the item", "enum": ["prompt", "instruction", "chat-mode"] + }, + "usage": { + "type": "string", + "description": "Optional usage context for the item" } } }, @@ -81,4 +85,4 @@ } } } -} \ No newline at end of file +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6fafc6c..b25f104 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -135,11 +135,41 @@ items: kind: instruction - path: chatmodes/my-chatmode.chatmode.md kind: chat-mode + usage: | + recommended # or "optional" if not essential to the workflow + + This chat mode requires the following instructions/prompts/MCPs: + - Instruction 1 + - Prompt 1 + - MCP 1 + + This chat mode is ideal for... + - Use case 1 + - Use case 2 + + Here is an example of how to use it: + ```markdown, task-plan.prompt.md + --- + mode: task-planner + title: Plan microsoft fabric realtime intelligence terraform support + --- + #file: + Do an action to achieve goal. + ``` + + To get the best results, consider... + - Tip 1 + - Tip 2 + display: ordering: alpha # or "manual" to preserve order above show_badge: false # set to true to show collection badge ``` +For full example of usage checkout edge-ai tasks collection: +- [edge-ai-tasks.collection.yml](./collections/edge-ai-tasks.collection.yml) +- [edge-ai-tasks.md](./collections/edge-ai-tasks.md) + #### Collection Guidelines - **Focus on workflows**: Group items that work together for specific use cases @@ -152,7 +182,7 @@ display: 1. **Fork this repository** 2. **Create a new branch** for your contribution -3. **Add your instruction or prompt file** following the guidelines above +3. **Add your instruction, prompt file, chatmode, or collection** following the guidelines above 4. **Run the update script** (optional): `node update-readme.js` to update the README with your new file - A GitHub Actions workflow will verify that this step was performed correctly - If the README.md would be modified by running the script, the PR check will fail with a comment showing the required changes diff --git a/README.chatmodes.md b/README.chatmodes.md index 581bdd6..027e277 100644 --- a/README.chatmodes.md +++ b/README.chatmodes.md @@ -40,7 +40,7 @@ Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, e | [Expert C++ software engineer mode instructions](chatmodes/expert-cpp-software-engineer.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-cpp-software-engineer.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fexpert-cpp-software-engineer.chatmode.md) | Provide expert C++ software engineering guidance using modern C++ and industry best practices. | | [Expert React Frontend Engineer Mode Instructions](chatmodes/expert-react-frontend-engineer.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-react-frontend-engineer.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fexpert-react-frontend-engineer.chatmode.md) | Provide expert React frontend engineering guidance using modern TypeScript and design patterns. | | [Gilfoyle Code Review Mode](chatmodes/gilfoyle.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fgilfoyle.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fgilfoyle.chatmode.md) | Code review and analysis with the sardonic wit and technical elitism of Bertram Gilfoyle from Silicon Valley. Prepare for brutal honesty about your code. | -| [High-Level Big Picture Architect (HLBPA)](chatmodes/hlbpa.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fhlbpa.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fhlbpa.chatmode.md) | HLBPA: Your perfect AI chat mode for high-level architectural documentation and review. Perfect for targeted updates after a story or researching that legacy system when nobody remembers what it's supposed to be doing. | +| [High-Level Big Picture Architect (HLBPA)](chatmodes/hlbpa.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fhlbpa.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fhlbpa.chatmode.md) | Your perfect AI chat mode for high-level architectural documentation and review. Perfect for targeted updates after a story or researching that legacy system when nobody remembers what it's supposed to be doing. | | [Idea Generator mode instructions](chatmodes/simple-app-idea-generator.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fsimple-app-idea-generator.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fsimple-app-idea-generator.chatmode.md) | Brainstorm and develop new application ideas through fun, interactive questioning until ready for specification creation. | | [Implementation Plan Generation Mode](chatmodes/implementation-plan.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fimplementation-plan.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fimplementation-plan.chatmode.md) | Generate an implementation plan for new features or refactoring existing code. | | [Kusto Assistant: Azure Data Explorer (Kusto) Engineering Assistant](chatmodes/kusto-assistant.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fkusto-assistant.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fkusto-assistant.chatmode.md) | Expert KQL assistant for live Azure Data Explorer analysis via Azure MCP server | @@ -58,6 +58,7 @@ Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, e | [Power BI Performance Expert Mode](chatmodes/power-bi-performance-expert.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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) | Expert Power BI performance optimization guidance for troubleshooting, monitoring, and improving the performance of Power BI models, reports, and queries. | | [Power BI Visualization Expert Mode](chatmodes/power-bi-visualization-expert.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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) | Expert Power BI report design and visualization guidance using Microsoft best practices for creating effective, performant, and user-friendly reports and dashboards. | | [Power Platform Expert](chatmodes/power-platform-expert.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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) | Power Platform expert providing guidance on Code Apps, canvas apps, Dataverse, connectors, and Power Platform best practices | +| [Power Platform MCP Integration Expert](chatmodes/power-platform-mcp-integration-expert.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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) | Expert in Power Platform custom connector development with MCP integration for Copilot Studio - comprehensive knowledge of schemas, protocols, and integration patterns | | [Principal software engineer mode instructions](chatmodes/principal-software-engineer.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprincipal-software-engineer.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fprincipal-software-engineer.chatmode.md) | Provide principal-level software engineering guidance with focus on engineering excellence, technical leadership, and pragmatic implementation. | | [Prompt Builder Instructions](chatmodes/prompt-builder.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprompt-builder.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fprompt-builder.chatmode.md) | Expert prompt engineering and validation system for creating high-quality prompts - Brought to you by microsoft/edge-ai | | [Prompt Engineer](chatmodes/prompt-engineer.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprompt-engineer.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fprompt-engineer.chatmode.md) | A specialized chat mode for analyzing and improving prompts. Every user input is treated as a propt to be improved. It first provides a detailed analysis of the original prompt within a tag, evaluating it against a systematic framework based on OpenAI's prompt engineering best practices. Following the analysis, it generates a new, improved prompt. | diff --git a/README.collections.md b/README.collections.md index b5db549..8b205f7 100644 --- a/README.collections.md +++ b/README.collections.md @@ -23,7 +23,9 @@ Curated collections of related prompts, instructions, and chat modes organized a | [Frontend Web Development](collections/frontend-web-dev.md) | Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks. | 11 items | frontend, web, react, typescript, javascript, css, html, angular, vue | | [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 | | [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 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 | | [Project Planning & Management](collections/project-planning.md) | Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams. | 17 items | planning, project-management, epic, feature, implementation, task, architecture, technical-spike | | [Security & Code Quality](collections/security-best-practices.md) | Security frameworks, accessibility guidelines, performance optimization, and code quality best practices for building secure, maintainable, and high-performance applications. | 6 items | security, accessibility, performance, code-quality, owasp, a11y, optimization, best-practices | +| [Tasks by microsoft/edge-ai](collections/edge-ai-tasks.md) | Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai | 3 items | architecture, planning, research, tasks, implementation | | [Technical Spike](collections/technical-spike.md) | Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions. | 2 items | technical-spike, assumption-testing, validation, research | | [Testing & Test Automation](collections/testing-automation.md) | Comprehensive collection for writing tests, test automation, and test-driven development including unit tests, integration tests, and end-to-end testing strategies. | 11 items | testing, tdd, automation, unit-tests, integration, playwright, jest, nunit | diff --git a/README.instructions.md b/README.instructions.md index db564c2..611c9a8 100644 --- a/README.instructions.md +++ b/README.instructions.md @@ -20,6 +20,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for | [Angular Development Instructions](instructions/angular.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fangular.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fangular.instructions.md) | Angular-specific coding standards and best practices | | [Ansible Conventions and Best Practices](instructions/ansible.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fansible.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fansible.instructions.md) | Ansible conventions and best practices | | [ASP.NET REST API Development](instructions/aspnet-rest-apis.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Faspnet-rest-apis.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Faspnet-rest-apis.instructions.md) | Guidelines for building REST APIs with ASP.NET | +| [Astro Development Instructions](instructions/astro.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fastro.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fastro.instructions.md) | Astro development standards and best practices for content-driven websites | | [Azure DevOps Pipeline YAML Best Practices](instructions/azure-devops-pipelines.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-devops-pipelines.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fazure-devops-pipelines.instructions.md) | Best practices for Azure DevOps Pipeline YAML files | | [Azure Functions Typescript](instructions/azure-functions-typescript.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-functions-typescript.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fazure-functions-typescript.instructions.md) | TypeScript patterns for Azure Functions | | [Azure Logic Apps and Power Automate Instructions](instructions/azure-logic-apps-power-automate.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-logic-apps-power-automate.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fazure-logic-apps-power-automate.instructions.md) | Guidelines for developing Azure Logic Apps and Power Automate workflows with best practices for Workflow Definition Language (WDL), integration patterns, and enterprise automation | @@ -40,6 +41,8 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for | [Conventional Commit](instructions/conventional-commit.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconventional-commit.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fconventional-commit.prompt.md) | Prompt and workflow for generating conventional commit messages using a structured XML format. Guides users to create standardized, descriptive commit messages in line with the Conventional Commits specification, including instructions, examples, and validation. | | [Convert Spring JPA project to Spring Data Cosmos](instructions/convert-jpa-to-spring-data-cosmos.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconvert-jpa-to-spring-data-cosmos.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fconvert-jpa-to-spring-data-cosmos.instructions.md) | Step-by-step guide for converting Spring Boot JPA applications to use Azure Cosmos DB with Spring Data Cosmos | | [Copilot Process tracking Instructions](instructions/copilot-thought-logging.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcopilot-thought-logging.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fcopilot-thought-logging.instructions.md) | See process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed | +| [Copilot Prompt Files Guidelines](instructions/prompt.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fprompt.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fprompt.instructions.md) | Guidelines for creating high-quality prompt files for GitHub Copilot | +| [Custom Instructions File Guidelines](instructions/instructions.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Finstructions.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Finstructions.instructions.md) | Guidelines for creating high-quality custom instruction files for GitHub Copilot | | [Dart and Flutter](instructions/dart-n-flutter.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdart-n-flutter.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fdart-n-flutter.instructions.md) | Instructions for writing Dart and Flutter code following the official recommendations. | | [DDD Systems & .NET Guidelines](instructions/dotnet-architecture-good-practices.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-architecture-good-practices.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fdotnet-architecture-good-practices.instructions.md) | DDD and .NET architecture guidelines | | [Dev Box image definitions](instructions/devbox-image-definition.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdevbox-image-definition.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fdevbox-image-definition.instructions.md) | Authoring recommendations for creating YAML based image definition files for use with Microsoft Dev Box Team Customizations | @@ -59,6 +62,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for | [Joyride User Scripts Project Assistant](instructions/joyride-user-project.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fjoyride-user-project.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fjoyride-user-project.instructions.md) | Expert assistance for Joyride User Script projects - REPL-driven ClojureScript and user space automation of VS Code | | [Joyride Workspace Automation Assistant](instructions/joyride-workspace-automation.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fjoyride-workspace-automation.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fjoyride-workspace-automation.instructions.md) | Expert assistance for Joyride Workspace automation - REPL-driven and user space ClojureScript automation within specific VS Code workspaces | | [Kubernetes Deployment Best Practices](instructions/kubernetes-deployment-best-practices.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fkubernetes-deployment-best-practices.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fkubernetes-deployment-best-practices.instructions.md) | Comprehensive best practices for deploying and managing applications on Kubernetes. Covers Pods, Deployments, Services, Ingress, ConfigMaps, Secrets, health checks, resource limits, scaling, and security contexts. | +| [LangChain Python Instructions](instructions/langchain-python.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Flangchain-python.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Flangchain-python.instructions.md) | Instructions for using LangChain with Python | | [Markdown](instructions/markdown.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmarkdown.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fmarkdown.instructions.md) | Documentation and content creation standards | | [Memory Bank](instructions/memory-bank.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmemory-bank.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fmemory-bank.instructions.md) | Bank specific coding standards and best practices | | [Microsoft 365 Declarative Agents Development Guidelines](instructions/declarative-agents-microsoft365.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdeclarative-agents-microsoft365.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fdeclarative-agents-microsoft365.instructions.md) | Comprehensive development guidelines for Microsoft 365 Copilot declarative agents with schema v1.5, TypeSpec integration, and Microsoft 365 Agents Toolkit workflows | @@ -80,6 +84,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for | [Power BI Report Design and Visualization Best Practices](instructions/power-bi-report-design-best-practices.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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) | Comprehensive Power BI report design and visualization best practices based on Microsoft guidance for creating effective, accessible, and performant reports and dashboards. | | [Power BI Security and Row-Level Security Best Practices](instructions/power-bi-security-rls-best-practices.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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) | Comprehensive Power BI Row-Level Security (RLS) and advanced security patterns implementation guide with dynamic security, best practices, and governance strategies. | | [Power Platform Connectors Schema Development Instructions](instructions/power-platform-connector.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-connector.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-connector.instructions.md) | Comprehensive development guidelines for Power Platform Custom Connectors using JSON Schema definitions. Covers API definitions (Swagger 2.0), API properties, and settings configuration with Microsoft extensions. | +| [Power Platform MCP Custom Connector Development](instructions/power-platform-mcp-development.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-mcp-development.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-mcp-development.instructions.md) | Instructions for developing Power Platform custom connectors with Model Context Protocol (MCP) integration for Microsoft Copilot Studio | | [PowerShell Cmdlet Development Guidelines](instructions/powershell.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpowershell.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fpowershell.instructions.md) | PowerShell cmdlet and scripting best practices based on Microsoft guidelines | | [PowerShell Pester v5 Testing Guidelines](instructions/powershell-pester-5.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpowershell-pester-5.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fpowershell-pester-5.instructions.md) | PowerShell Pester testing best practices based on Pester v5 conventions | | [Python Coding Conventions](instructions/python.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpython.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fpython.instructions.md) | Python coding conventions and guidelines | @@ -93,6 +98,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for | [Spec Driven Workflow v1](instructions/spec-driven-workflow-v1.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fspec-driven-workflow-v1.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fspec-driven-workflow-v1.instructions.md) | Specification-Driven Workflow v1 provides a structured approach to software development, ensuring that requirements are clearly defined, designs are meticulously planned, and implementations are thoroughly documented and validated. | | [Spring Boot Development](instructions/springboot.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fspringboot.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fspringboot.instructions.md) | Guidelines for building Spring Boot base applications | | [SQL Development](instructions/sql-sp-generation.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsql-sp-generation.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fsql-sp-generation.instructions.md) | Guidelines for generating SQL statements and stored procedures | +| [Svelte 5 and SvelteKit Development Instructions](instructions/svelte.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsvelte.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fsvelte.instructions.md) | Svelte 5 and SvelteKit development standards and best practices for component-based user interfaces and full-stack applications | | [Taming Copilot](instructions/taming-copilot.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftaming-copilot.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ftaming-copilot.instructions.md) | Prevent Copilot from wreaking havoc across your codebase, keeping it under control. | | [TanStack Start with Shadcn/ui Development Guide](instructions/tanstack-start-shadcn-tailwind.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ftanstack-start-shadcn-tailwind.instructions.md) | Guidelines for building TanStack Start applications | | [Task Plan Implementation Instructions](instructions/task-implementation.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ftask-implementation.instructions.md) | Instructions for implementing task plans with progressive tracking and change record - Brought to you by microsoft/edge-ai | diff --git a/README.md b/README.md index 7a92db2..e1bb49c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Powered by Awesome Copilot](https://img.shields.io/badge/Powered_by-Awesome_Copilot-blue?logo=githubcopilot)](https://aka.ms/awesome-github-copilot) -[![All Contributors](https://img.shields.io/badge/all_contributors-86-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-88-orange.svg?style=flat-square)](#contributors-) A curated collection of prompts, instructions, and chat modes to supercharge your GitHub Copilot experience across different domains, languages, and use cases. @@ -234,6 +234,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Luke Murray
Luke Murray

💻 Mark Noble
Mark Noble

💻 + Per Søderlind
Per Søderlind

💻 + Henrique Nunes
Henrique Nunes

💻 diff --git a/README.prompts.md b/README.prompts.md index c600381..6b0bacf 100644 --- a/README.prompts.md +++ b/README.prompts.md @@ -17,6 +17,7 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [.NET/C# Best Practices](prompts/dotnet-best-practices.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fdotnet-best-practices.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fdotnet-best-practices.prompt.md) | Ensure .NET/C# code meets best practices for the solution/project. | | [.NET/C# Design Pattern Review](prompts/dotnet-design-pattern-review.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fdotnet-design-pattern-review.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fdotnet-design-pattern-review.prompt.md) | Review the C#/.NET code for design pattern implementation and suggest improvements. | | [Act Informed: First understand together with the human, then do](prompts/first-ask.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Ffirst-ask.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ffirst-ask.prompt.md) | Interactive, input-tool powered, task refinement workflow: interrogates scope, deliverables, constraints before carrying out the task; Requires the Joyride extension. | +| [Add Educational Comments](prompts/add-educational-comments.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fadd-educational-comments.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fadd-educational-comments.prompt.md) | Add educational comments to the file specified, or prompt asking for file to comment if one is not provided. | | [AI Prompt Engineering Safety Review & Improvement](prompts/ai-prompt-engineering-safety-review.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fai-prompt-engineering-safety-review.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fai-prompt-engineering-safety-review.prompt.md) | Comprehensive AI prompt engineering safety review and improvement prompt. Analyzes prompts for safety, bias, security vulnerabilities, and effectiveness while providing detailed improvement recommendations with extensive frameworks, testing methodologies, and educational content. | | [ASP.NET .NET Framework Containerization Prompt](prompts/containerize-aspnet-framework.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcontainerize-aspnet-framework.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fcontainerize-aspnet-framework.prompt.md) | Containerize an ASP.NET .NET Framework project by creating Dockerfile and .dockerfile files customized for the project. | | [ASP.NET Core Docker Containerization Prompt](prompts/containerize-aspnetcore.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcontainerize-aspnetcore.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fcontainerize-aspnetcore.prompt.md) | Containerize an ASP.NET Core project by creating Dockerfile and .dockerfile files customized for the project. | @@ -62,7 +63,8 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [Java Documentation (Javadoc) Best Practices](prompts/java-docs.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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-docs.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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-docs.prompt.md) | Ensure that Java types are documented with Javadoc comments and follow best practices for documentation. | | [Javascript Typescript Jest](prompts/javascript-typescript-jest.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjavascript-typescript-jest.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fjavascript-typescript-jest.prompt.md) | Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns. | | [JUnit 5+ Best Practices](prompts/java-junit.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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-junit.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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-junit.prompt.md) | Get best practices for JUnit 5 unit testing, including data-driven tests | -| [Memory Keeper](prompts/remember.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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.prompt.md) | Contemplates repeated mistakes and success patterns, and transforms lessons learned into domain-organized Copilot instructions. Automatically discovers existing memory domains, intelligently categorizes new learnings, and creates domain-specific instruction files in VS Code User Data Directory. You can make the categorization/domain designation specific by using `>domain-name` as the first thing in your request. Like so: `/remember >domain-name lesson content here` | +| [Memory Keeper](prompts/remember.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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.prompt.md) | Transforms lessons learned into domain-organized memory instructions (global or workspace). Syntax: `/remember [>domain [scope]] lesson clue` where scope is `global` (default), `user`, `workspace`, or `ws`. | +| [Memory Merger](prompts/memory-merger.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmemory-merger.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fmemory-merger.prompt.md) | Merges mature lessons from a domain memory file into its instruction file. Syntax: `/memory-merger >domain [scope]` where scope is `global` (default), `user`, `workspace`, or `ws`. | | [Microsoft 365 Declarative Agents Development Kit](prompts/declarative-agents.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fdeclarative-agents.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fdeclarative-agents.prompt.md) | Complete development kit for Microsoft 365 Copilot declarative agents with three comprehensive workflows (basic, advanced, validation), TypeSpec support, and Microsoft 365 Agents Toolkit integration | | [Migration and Code Evolution Instructions Generator](prompts/generate-custom-instructions-from-codebase.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fgenerate-custom-instructions-from-codebase.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fgenerate-custom-instructions-from-codebase.prompt.md) | Migration and code evolution instructions generator for GitHub Copilot. Analyzes differences between two project versions (branches, commits, or releases) to create precise instructions allowing Copilot to maintain consistency during technology migrations, major refactoring, or framework version upgrades. | | [MkDocs AI Translator](prompts/mkdocs-translations.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmkdocs-translations.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fmkdocs-translations.prompt.md) | Generate a language translation for a mkdocs documentation stack. | @@ -84,6 +86,7 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [Project Folder Structure Blueprint Generator](prompts/folder-structure-blueprint-generator.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Ffolder-structure-blueprint-generator.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ffolder-structure-blueprint-generator.prompt.md) | Comprehensive technology-agnostic prompt for analyzing and documenting project folder structures. Auto-detects project types (.NET, Java, React, Angular, Python, Node.js, Flutter), generates detailed blueprints with visualization options, naming conventions, file placement patterns, and extension templates for maintaining consistent code organization across diverse technology stacks. | | [Project Workflow Documentation Generator](prompts/project-workflow-analysis-blueprint-generator.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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 | | [Repo Story Time](prompts/repo-story-time.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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 | | [Spring Boot Best Practices](prompts/java-springboot.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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-springboot.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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-springboot.prompt.md) | Get best practices for developing applications with Spring Boot. | diff --git a/chatmodes/hlbpa.chatmode.md b/chatmodes/hlbpa.chatmode.md index 357ab69..9b75483 100644 --- a/chatmodes/hlbpa.chatmode.md +++ b/chatmodes/hlbpa.chatmode.md @@ -1,21 +1,21 @@ --- -description: 'HLBPA: Your perfect AI chat mode for high-level architectural documentation and review. Perfect for targeted updates after a story or researching that legacy system when nobody remembers what it's supposed to be doing.' -model: Claude-Sonnet-4 +description: 'Your perfect AI chat mode for high-level architectural documentation and review. Perfect for targeted updates after a story or researching that legacy system when nobody remembers what it's supposed to be doing.' +model: 'claude-sonnet-4' tools: - - codebase - - changes - - editFiles - - fetch - - findTestFiles - - githubRepo - - runCommands - - runTests - - search - - searchResults - - testFailure - - usages - - activePullRequest - - copilotCodingAgent + - 'codebase' + - 'changes' + - 'editFiles' + - 'fetch' + - 'findTestFiles' + - 'githubRepo' + - 'runCommands' + - 'runTests' + - 'search' + - 'searchResults' + - 'testFailure' + - 'usages' + - 'activePullRequest' + - 'copilotCodingAgent' --- # High-Level Big Picture Architect (HLBPA) @@ -83,7 +83,8 @@ HLBPA filters information through the following ordered rules: The mode emits GitHub Flavored Markdown (GFM) that passes common markdownlint rules: -- Mermaid diagrams are the preferred format (natively supported by GitHub). Mermaid supports comprehensive diagram types including flowcharts, sequence diagrams, class diagrams, state diagrams, ER diagrams, C4 diagrams, and more. Any other formats (ASCII art, PlantUML, Graphviz, etc.) will be flagged as unsupported. + +- **Only Mermaid diagrams are supported.** Any other formats (ASCII art, ANSI, PlantUML, Graphviz, etc.) are strongly discouraged. All diagrams should be in Mermaid format. - Primary file lives at `#docs/ARCHITECTURE_OVERVIEW.md` (or caller‑supplied name). @@ -157,7 +158,8 @@ The mode emits GitHub Flavored Markdown (GFM) that passes common markdownlint ru | systems | System interaction overview | architecture | | history | Historical changes overview for a specific component | gitGraph | -**Note on Diagram Types**: Copilot selects appropriate diagram type based on content and context for each artifact and section. Users can specify diagram types explicitly to override it's selection. + +**Note on Diagram Types**: Copilot selects appropriate diagram type based on content and context for each artifact and section, but **all diagrams should be Mermaid** unless explicitly overridden. **Note on Inline vs External Diagrams**: diff --git a/chatmodes/power-platform-mcp-integration-expert.chatmode.md b/chatmodes/power-platform-mcp-integration-expert.chatmode.md new file mode 100644 index 0000000..215b7b4 --- /dev/null +++ b/chatmodes/power-platform-mcp-integration-expert.chatmode.md @@ -0,0 +1,149 @@ +--- +description: Expert in Power Platform custom connector development with MCP integration for Copilot Studio - comprehensive knowledge of schemas, protocols, and integration patterns +model: GPT-4.1 +--- + +# Power Platform MCP Integration Expert + +I am a Power Platform Custom Connector Expert specializing in Model Context Protocol integration for Microsoft Copilot Studio. I have comprehensive knowledge of Power Platform connector development, MCP protocol implementation, and Copilot Studio integration requirements. + +## My Expertise + +**Power Platform Custom Connectors:** +- Complete connector development lifecycle (apiDefinition.swagger.json, apiProperties.json, script.csx) +- Swagger 2.0 with Microsoft extensions (`x-ms-*` properties) +- Authentication patterns (OAuth2, API Key, Basic Auth) +- Policy templates and data transformations +- Connector certification and publishing workflows +- Enterprise deployment and management + +**CLI Tools and Validation:** +- **paconn CLI**: Swagger validation, package management, connector deployment +- **pac CLI**: Connector creation, updates, script validation, environment management +- **ConnectorPackageValidator.ps1**: Microsoft's official certification validation script +- Automated validation workflows and CI/CD integration +- Troubleshooting CLI authentication, validation failures, and deployment issues + +**OAuth Security and Authentication:** +- **OAuth 2.0 Enhanced**: Power Platform standard OAuth 2.0 with MCP security enhancements +- **Token Audience Validation**: Prevent token passthrough and confused deputy attacks +- **Custom Security Implementation**: MCP best practices within Power Platform constraints +- **State Parameter Security**: CSRF protection and secure authorization flows +- **Scope Validation**: Enhanced token scope verification for MCP operations + +**MCP Protocol for Copilot Studio:** +- `x-ms-agentic-protocol: mcp-streamable-1.0` implementation +- JSON-RPC 2.0 communication patterns +- Tool and Resource architecture (✅ Supported in Copilot Studio) +- Prompt architecture (❌ Not yet supported in Copilot Studio, but prepare for future) +- Copilot Studio-specific constraints and limitations +- Dynamic tool discovery and management +- Streamable HTTP protocols and SSE connections + +**Schema Architecture & Compliance:** +- Copilot Studio constraint navigation (no reference types, single types only) +- Complex type flattening and restructuring strategies +- Resource integration as tool outputs (not separate entities) +- Type validation and constraint implementation +- Performance-optimized schema patterns +- Cross-platform compatibility design + +**Integration Troubleshooting:** +- Connection and authentication issues +- Schema validation failures and corrections +- Tool filtering problems (reference types, complex arrays) +- Resource accessibility issues +- Performance optimization and scaling +- Error handling and debugging strategies + +**MCP Security Best Practices:** +- **Token Security**: Audience validation, secure storage, rotation policies +- **Attack Prevention**: Confused deputy, token passthrough, session hijacking prevention +- **Communication Security**: HTTPS enforcement, redirect URI validation, state parameter verification +- **Authorization Protection**: PKCE implementation, authorization code protection +- **Local Server Security**: Sandboxing, consent mechanisms, privilege restriction + +**Certification and Production Deployment:** +- Microsoft connector certification submission requirements +- Product and service metadata compliance (settings.json structure) +- OAuth 2.0/2.1 security compliance and MCP specification adherence +- Security and privacy standards (SOC2, GDPR, ISO27001, MCP Security) +- Production deployment best practices and monitoring +- Partner portal navigation and submission processes +- CLI troubleshooting for validation and deployment failures + +## How I Help + +**Complete Connector Development:** +I guide you through building Power Platform connectors with MCP integration: +- Architecture planning and design decisions +- File structure and implementation patterns +- Schema design following both Power Platform and Copilot Studio requirements +- Authentication and security configuration +- Custom transformation logic in script.csx +- Testing and validation workflows + +**MCP Protocol Implementation:** +I ensure your connectors work seamlessly with Copilot Studio: +- JSON-RPC 2.0 request/response handling +- Tool registration and lifecycle management +- Resource provisioning and access patterns +- Constraint-compliant schema design +- Dynamic tool discovery configuration +- Error handling and debugging + +**Schema Compliance & Optimization:** +I transform complex requirements into Copilot Studio-compatible schemas: +- Reference type elimination and restructuring +- Complex type decomposition strategies +- Resource embedding in tool outputs +- Type validation and coercion logic +- Performance and maintainability optimization +- Future-proofing and extensibility planning + +**Integration & Deployment:** +I ensure successful connector deployment and operation: +- Power Platform environment configuration +- Copilot Studio agent integration +- Authentication and authorization setup +- Performance monitoring and optimization +- Troubleshooting and maintenance procedures +- Enterprise compliance and security + +## My Approach + +**Constraint-First Design:** +I always start with Copilot Studio limitations and design solutions within them: +- No reference types in any schemas +- Single type values throughout +- Primitive type preference with complex logic in implementation +- Resources always as tool outputs +- Full URI requirements across all endpoints + +**Power Platform Best Practices:** +I follow proven Power Platform patterns: +- Proper Microsoft extension usage (`x-ms-summary`, `x-ms-visibility`, etc.) +- Optimal policy template implementation +- Effective error handling and user experience +- Performance and scalability considerations +- Security and compliance requirements + +**Real-World Validation:** +I provide solutions that work in production: +- Tested integration patterns +- Performance-validated approaches +- Enterprise-scale deployment strategies +- Comprehensive error handling +- Maintenance and update procedures + +## Key Principles + +1. **Power Platform First**: Every solution follows Power Platform connector standards +2. **Copilot Studio Compliance**: All schemas work within Copilot Studio constraints +3. **MCP Protocol Adherence**: Perfect JSON-RPC 2.0 and MCP specification compliance +4. **Enterprise Ready**: Production-grade security, performance, and maintainability +5. **Future-Proof**: Extensible designs that accommodate evolving requirements + +Whether you're building your first MCP connector or optimizing an existing implementation, I provide comprehensive guidance that ensures your Power Platform connectors integrate seamlessly with Microsoft Copilot Studio while following Microsoft's best practices and enterprise standards. + +Let me help you build robust, compliant Power Platform MCP connectors that deliver exceptional Copilot Studio integration! \ No newline at end of file diff --git a/collections/edge-ai-tasks.collection.yml b/collections/edge-ai-tasks.collection.yml new file mode 100644 index 0000000..316e2de --- /dev/null +++ b/collections/edge-ai-tasks.collection.yml @@ -0,0 +1,90 @@ +id: edge-ai-tasks +name: Tasks by microsoft/edge-ai +description: Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai +tags: [architecture, planning, research, tasks, implementation] +items: + # Planning Chat Modes + - path: chatmodes/task-researcher.chatmode.md + kind: chat-mode + usage: | + Now you can iterate on research for your tasks! + + ```markdown, research.prompt.md + --- + mode: task-researcher + title: Research microsoft fabric realtime intelligence terraform support + --- + Review the microsoft documentation for fabric realtime intelligence + and come up with ideas on how to implement this support into our terraform components. + ``` + + Research is dumped out into a .copilot-tracking/research/*-research.md file and will include discoveries for GHCP along with examples and schema that will be useful during implementation. + + Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on. + + - path: chatmodes/task-planner.chatmode.md + kind: chat-mode + usage: | + Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on. + + ```markdown, task-plan.prompt.md + --- + mode: task-planner + title: Plan microsoft fabric realtime intelligence terraform support + --- + #file: .copilot-tracking/research/*-fabric-rti-blueprint-modification-research.md + Build a plan to support adding fabric rti to this project + ``` + + `task-planner` will help you create a plan for implementing your task(s). It will use your fully researched ideas or build new research if not already provided. + + `task-planner` will produce three (3) files that will be used by `task-implementation.instructions.md`. + + * `.copilot-tracking/plan/*-plan.instructions.md` + + * A newly generated instructions file that has the plan as a checklist of Phases and Tasks. + * `.copilot-tracking/details/*-details.md` + + * The details for the implementation, the plan file refers to this file for specific details (important if you have a big plan). + * `.copilot-tracking/prompts/implement-*.prompt.md` + + * A newly generated prompt file that will create a `.copilot-tracking/changes/*-changes.md` file and proceed to implement the changes. + + Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase. + + # Planning Instructions + - path: instructions/task-implementation.instructions.md + kind: instruction + usage: | + Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase. + + When you are ready to implement the plan, **create a new chat** and switch to `Agent` mode then fire off the newly generated prompt. + + ```markdown, implement-fabric-rti-changes.prompt.md + --- + mode: agent + title: Implement microsoft fabric realtime intelligence terraform support + --- + /implement-fabric-rti-blueprint-modification phaseStop=true + ``` + + This prompt has the added benefit of attaching the plan as instructions, which helps with keeping the plan in context throughout the whole conversation. + + **Expert Warning** ->>Use `phaseStop=false` to have Copilot implement the whole plan without stopping. Additionally, you can use `taskStop=true` to have Copilot stop after every Task implementation for finer detail control. + + To use these generated instructions and prompts, you'll need to update your `settings.json` accordingly: + + ```json + "chat.instructionsFilesLocations": { + // Existing instructions folders... + ".copilot-tracking/plans": true + }, + "chat.promptFilesLocations": { + // Existing prompts folders... + ".copilot-tracking/prompts": true + }, + ``` + +display: + ordering: alpha # or "manual" to preserve the order above + show_badge: false # set to true to show collection badge on items diff --git a/collections/edge-ai-tasks.md b/collections/edge-ai-tasks.md new file mode 100644 index 0000000..75559ca --- /dev/null +++ b/collections/edge-ai-tasks.md @@ -0,0 +1,100 @@ +# Tasks by microsoft/edge-ai + +Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai + +**Tags:** architecture, planning, research, tasks, implementation + +## Items in this Collection + +| Title | Type | Description | +| ----- | ---- | ----------- | +| [Task Researcher Instructions](../chatmodes/task-researcher.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-researcher.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ftask-researcher.chatmode.md) | Chat Mode | Task research specialist for comprehensive project analysis - Brought to you by microsoft/edge-ai [see usage](#task-researcher-instructions) | +| [Task Planner Instructions](../chatmodes/task-planner.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-planner.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ftask-planner.chatmode.md) | Chat Mode | Task planner for creating actionable implementation plans - Brought to you by microsoft/edge-ai [see usage](#task-planner-instructions) | +| [Task Plan Implementation Instructions](../instructions/task-implementation.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Ftask-implementation.instructions.md) | Instruction | Instructions for implementing task plans with progressive tracking and change record - Brought to you by microsoft/edge-ai [see usage](#task-plan-implementation-instructions) | + +## Collection Usage + +### Task Researcher Instructions + +Now you can iterate on research for your tasks! + +```markdown, research.prompt.md +--- +mode: task-researcher +title: Research microsoft fabric realtime intelligence terraform support +--- +Review the microsoft documentation for fabric realtime intelligence +and come up with ideas on how to implement this support into our terraform components. +``` + +Research is dumped out into a .copilot-tracking/research/*-research.md file and will include discoveries for GHCP along with examples and schema that will be useful during implementation. + +Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on. + +--- + +### Task Planner Instructions + +Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on. + +```markdown, task-plan.prompt.md +--- +mode: task-planner +title: Plan microsoft fabric realtime intelligence terraform support +--- +#file: .copilot-tracking/research/*-fabric-rti-blueprint-modification-research.md +Build a plan to support adding fabric rti to this project +``` + +`task-planner` will help you create a plan for implementing your task(s). It will use your fully researched ideas or build new research if not already provided. + +`task-planner` will produce three (3) files that will be used by `task-implementation.instructions.md`. + +* `.copilot-tracking/plan/*-plan.instructions.md` + + * A newly generated instructions file that has the plan as a checklist of Phases and Tasks. +* `.copilot-tracking/details/*-details.md` + + * The details for the implementation, the plan file refers to this file for specific details (important if you have a big plan). +* `.copilot-tracking/prompts/implement-*.prompt.md` + + * A newly generated prompt file that will create a `.copilot-tracking/changes/*-changes.md` file and proceed to implement the changes. + +Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase. + +--- + +### Task Plan Implementation Instructions + +Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase. + +When you are ready to implement the plan, **create a new chat** and switch to `Agent` mode then fire off the newly generated prompt. + +```markdown, implement-fabric-rti-changes.prompt.md +--- +mode: agent +title: Implement microsoft fabric realtime intelligence terraform support +--- +/implement-fabric-rti-blueprint-modification phaseStop=true +``` + +This prompt has the added benefit of attaching the plan as instructions, which helps with keeping the plan in context throughout the whole conversation. + +**Expert Warning** ->>Use `phaseStop=false` to have Copilot implement the whole plan without stopping. Additionally, you can use `taskStop=true` to have Copilot stop after every Task implementation for finer detail control. + +To use these generated instructions and prompts, you'll need to update your `settings.json` accordingly: + +```json + "chat.instructionsFilesLocations": { + // Existing instructions folders... + ".copilot-tracking/plans": true + }, + "chat.promptFilesLocations": { + // Existing prompts folders... + ".copilot-tracking/prompts": true + }, +``` + +--- + +*This collection includes 3 curated items for tasks by microsoft/edge-ai.* \ No newline at end of file diff --git a/collections/power-platform-mcp-connector-development.collection.yml b/collections/power-platform-mcp-connector-development.collection.yml new file mode 100644 index 0000000..0baec89 --- /dev/null +++ b/collections/power-platform-mcp-connector-development.collection.yml @@ -0,0 +1,21 @@ +id: power-platform-mcp-connector-development +name: Power Platform MCP Connector Development +description: Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio +tags: + - power-platform + - mcp + - copilot-studio + - custom-connector + - json-rpc +items: + - path: instructions/power-platform-mcp-development.instructions.md + kind: instruction + - path: prompts/power-platform-mcp-connector-suite.prompt.md + kind: prompt + - path: prompts/mcp-copilot-studio-server-generator.prompt.md + kind: prompt + - path: chatmodes/power-platform-mcp-integration-expert.chatmode.md + kind: chat-mode +display: + ordering: manual + show_badge: true \ No newline at end of file diff --git a/collections/power-platform-mcp-connector-development.md b/collections/power-platform-mcp-connector-development.md new file mode 100644 index 0000000..8449b04 --- /dev/null +++ b/collections/power-platform-mcp-connector-development.md @@ -0,0 +1,17 @@ +# Power Platform MCP Connector Development + +Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio + +**Tags:** power-platform, mcp, copilot-studio, custom-connector, json-rpc + +## Items in this Collection + +| Title | Type | Description | +| ----- | ---- | ----------- | +| [Power Platform MCP Custom Connector Development](../instructions/power-platform-mcp-development.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-mcp-development.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-mcp-development.instructions.md) | Instruction | Instructions for developing Power Platform custom connectors with Model Context Protocol (MCP) integration for Microsoft Copilot Studio | +| [Power Platform MCP Connector Suite](../prompts/power-platform-mcp-connector-suite.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-mcp-connector-suite.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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-platform-mcp-connector-suite.prompt.md) | Prompt | Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation | +| [Power Platform MCP Connector Generator](../prompts/mcp-copilot-studio-server-generator.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmcp-copilot-studio-server-generator.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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%2Fmcp-copilot-studio-server-generator.prompt.md) | Prompt | Generate a complete MCP server implementation optimized for Copilot Studio integration with proper schema constraints and streamable HTTP support | +| [Power Platform MCP Integration Expert](../chatmodes/power-platform-mcp-integration-expert.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](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)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](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.* \ No newline at end of file diff --git a/instructions/astro.instructions.md b/instructions/astro.instructions.md new file mode 100644 index 0000000..af0dc35 --- /dev/null +++ b/instructions/astro.instructions.md @@ -0,0 +1,182 @@ +--- +description: 'Astro development standards and best practices for content-driven websites' +applyTo: '**/*.astro, **/*.ts, **/*.js, **/*.md, **/*.mdx' +--- + +# Astro Development Instructions + +Instructions for building high-quality Astro applications following the content-driven, server-first architecture with modern best practices. + +## Project Context +- Astro 5.x with Islands Architecture and Content Layer API +- TypeScript for type safety and better DX with auto-generated types +- Content-driven websites (blogs, marketing, e-commerce, documentation) +- Server-first rendering with selective client-side hydration +- Support for multiple UI frameworks (React, Vue, Svelte, Solid, etc.) +- Static site generation (SSG) by default with optional server-side rendering (SSR) +- Enhanced performance with modern content loading and build optimizations + +## Development Standards + +### Architecture +- Embrace the Islands Architecture: server-render by default, hydrate selectively +- Organize content with Content Collections for type-safe Markdown/MDX management +- Structure projects by feature or content type for scalability +- Use component-based architecture with clear separation of concerns +- Implement progressive enhancement patterns +- Follow Multi-Page App (MPA) approach over Single-Page App (SPA) patterns + +### TypeScript Integration +- Configure `tsconfig.json` with recommended v5.0 settings: +```json +{ + "extends": "astro/tsconfigs/base", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +} +``` +- Types auto-generated in `.astro/types.d.ts` (replaces `src/env.d.ts`) +- Run `astro sync` to generate/update type definitions +- Define component props with TypeScript interfaces +- Leverage auto-generated types for content collections and Content Layer API + +### Component Design +- Use `.astro` components for static, server-rendered content +- Import framework components (React, Vue, Svelte) only when interactivity is needed +- Follow Astro's component script structure: frontmatter at top, template below +- Use meaningful component names following PascalCase convention +- Keep components focused and composable +- Implement proper prop validation and default values + +### Content Collections + +#### Modern Content Layer API (v5.0+) +- Define collections in `src/content.config.ts` using the new Content Layer API +- Use built-in loaders: `glob()` for file-based content, `file()` for single files +- Leverage enhanced performance and scalability with the new loading system +- Example with Content Layer API: +```typescript +import { defineCollection, z } from 'astro:content'; +import { glob } from 'astro/loaders'; + +const blog = defineCollection({ + loader: glob({ pattern: '**/*.md', base: './src/content/blog' }), + schema: z.object({ + title: z.string(), + pubDate: z.date(), + tags: z.array(z.string()).optional() + }) +}); +``` + +#### Legacy Collections (backward compatible) +- Legacy `type: 'content'` collections still supported via automatic glob() implementation +- Migrate existing collections by adding explicit `loader` configuration +- Use type-safe queries with `getCollection()` and `getEntry()` +- Structure content with frontmatter validation and auto-generated types + +### View Transitions & Client-Side Routing +- Enable with `` component in layout head (renamed from `` in v5.0) +- Import from `astro:transitions`: `import { ClientRouter } from 'astro:transitions'` +- Provides SPA-like navigation without full page reloads +- Customize transition animations with CSS and view-transition-name +- Maintain state across page navigations with persistent islands +- Use `transition:persist` directive to preserve component state + +### Performance Optimization +- Default to zero JavaScript - only add interactivity where needed +- Use client directives strategically (`client:load`, `client:idle`, `client:visible`) +- Implement lazy loading for images and components +- Optimize static assets with Astro's built-in optimization +- Leverage Content Layer API for faster content loading and builds +- Minimize bundle size by avoiding unnecessary client-side JavaScript + +### Styling +- Use scoped styles in `.astro` components by default +- Implement CSS preprocessing (Sass, Less) when needed +- Use CSS custom properties for theming and design systems +- Follow mobile-first responsive design principles +- Ensure accessibility with semantic HTML and proper ARIA attributes +- Consider utility-first frameworks (Tailwind CSS) for rapid development + +### Client-Side Interactivity +- Use framework components (React, Vue, Svelte) for interactive elements +- Choose the right hydration strategy based on user interaction patterns +- Implement state management within framework boundaries +- Handle client-side routing carefully to maintain MPA benefits +- Use Web Components for framework-agnostic interactivity +- Share state between islands using stores or custom events + +### API Routes and SSR +- Create API routes in `src/pages/api/` for dynamic functionality +- Use proper HTTP methods and status codes +- Implement request validation and error handling +- Enable SSR mode for dynamic content requirements +- Use middleware for authentication and request processing +- Handle environment variables securely + +### SEO and Meta Management +- Use Astro's built-in SEO components and meta tag management +- Implement proper Open Graph and Twitter Card metadata +- Generate sitemaps automatically for better search indexing +- Use semantic HTML structure for better accessibility and SEO +- Implement structured data (JSON-LD) for rich snippets +- Optimize page titles and descriptions for search engines + +### Image Optimization +- Use Astro's `` component for automatic optimization +- Implement responsive images with proper srcset generation +- Use WebP and AVIF formats for modern browsers +- Lazy load images below the fold +- Provide proper alt text for accessibility +- Optimize images at build time for better performance + +### Data Fetching +- Fetch data at build time in component frontmatter +- Use dynamic imports for conditional data loading +- Implement proper error handling for external API calls +- Cache expensive operations during build process +- Use Astro's built-in fetch with automatic TypeScript inference +- Handle loading states and fallbacks appropriately + +### Build & Deployment +- Optimize static assets with Astro's built-in optimizations +- Configure deployment for static (SSG) or hybrid (SSR) rendering +- Use environment variables for configuration management +- Enable compression and caching for production builds + +## Key Astro v5.0 Updates + +### Breaking Changes +- **ClientRouter**: Use `` instead of `` +- **TypeScript**: Auto-generated types in `.astro/types.d.ts` (run `astro sync`) +- **Content Layer API**: New `glob()` and `file()` loaders for enhanced performance + +### Migration Example +```typescript +// Modern Content Layer API +import { defineCollection, z } from 'astro:content'; +import { glob } from 'astro/loaders'; + +const blog = defineCollection({ + loader: glob({ pattern: '**/*.md', base: './src/content/blog' }), + schema: z.object({ title: z.string(), pubDate: z.date() }) +}); +``` + +## Implementation Guidelines + +### Development Workflow +1. Use `npm create astro@latest` with TypeScript template +2. Configure Content Layer API with appropriate loaders +3. Set up TypeScript with `astro sync` for type generation +4. Create layout components with Islands Architecture +5. Implement content pages with SEO and performance optimization + +### Astro-Specific Best Practices +- **Islands Architecture**: Server-first with selective hydration using client directives +- **Content Layer API**: Use `glob()` and `file()` loaders for scalable content management +- **Zero JavaScript**: Default to static rendering, add interactivity only when needed +- **View Transitions**: Enable SPA-like navigation with `` +- **Type Safety**: Leverage auto-generated types from Content Collections +- **Performance**: Optimize with built-in image optimization and minimal client bundles diff --git a/instructions/clojure.instructions.md b/instructions/clojure.instructions.md index 52cdb90..b29fbbc 100644 --- a/instructions/clojure.instructions.md +++ b/instructions/clojure.instructions.md @@ -7,7 +7,7 @@ applyTo: '**/*.{clj,cljs,cljc,bb,edn.mdx?}' ## Code Evaluation Tool usage -“Use the repl” means to use the **Evaluate Clojure Code** tool from Calva Backseat Driver. It connects you to the the same REPL as the user is connected to via Calva. +“Use the repl” means to use the **Evaluate Clojure Code** tool from Calva Backseat Driver. It connects you to the same REPL as the user is connected to via Calva. - Always stay inside Calva's REPL instead of launching a second one from the terminal. - If there is no REPL connection, ask the user to connect the REPL instead of trying to start and connect it yourself. @@ -36,12 +36,67 @@ Docstrings belong immediately after the function name and before the argument ve - Define functions before they are used—prefer ordering over `declare` except when truly necessary. +## Interactive Programming (a.k.a. REPL Driven Development) + +### Align Data Structure Elements for Bracket Balancing +**Always align multi-line elements vertically in all data structures: vectors, maps, lists, sets, all code (since Clojure code is data). Misalignment causes the bracket balancer to close brackets incorrectly, creating invalid forms.** + +```clojure +;; ❌ Wrong - misaligned vector elements +(select-keys m [:key-a + :key-b + :key-c]) ; Misalignment → incorrect ] placement + +;; ✅ Correct - aligned vector elements +(select-keys m [:key-a + :key-b + :key-c]) ; Proper alignment → correct ] placement + +;; ❌ Wrong - misaligned map entries +{:name "Alice" + :age 30 +:city "Oslo"} ; Misalignment → incorrect } placement + +;; ✅ Correct - aligned map entries +{:name "Alice" + :age 30 + :city "Oslo"} ; Proper alignment → correct } placement +``` + +**Critical**: The bracket balancer relies on consistent indentation to determine structure. + +### REPL Dependency Management +Use `clojure.repl.deps/add-libs` for dynamic dependency loading during REPL sessions. + +```clojure +(require '[clojure.repl.deps :refer [add-libs]]) +(add-libs '{dk.ative/docjure {:mvn/version "1.15.0"}}) +``` + +- Dynamic dependency loading requires Clojure 1.12 or later +- Perfect for library exploration and prototyping + +### Checking Clojure Version + +```clojure +*clojure-version* +;; => {:major 1, :minor 12, :incremental 1, :qualifier nil} +``` + +### REPL Availability Discipline + +**Never edit code files when the REPL is unavailable.** When REPL evaluation returns errors indicating that the REPL is unavailable, stop immediately and inform the user. Let the user restore REPL before continuing. + +#### Why This Matters +- **Interactive Programming requires a working REPL** - You cannot verify behavior without evaluation +- **Guessing creates bugs** - Code changes without testing introduce errors + ## Structural Editing and REPL-First Habit - Develop changes in the REPL before touching files. - When editing Clojure files, always use structural editing tools such as **Insert Top Level Form**, **Replace Top Level Form**, **Create Clojure File**, and **Append Code**, and always read their instructions first. ### Creating New Files -- Use the **Create Clojure File** tool, with initial content +- Use the **Create Clojure File** tool with initial content - Follow Clojure naming rules: namespaces in kebab-case, file paths in matching snake_case (e.g., `my.project.ns` → `my/project/ns.clj`). ### Reloading Namespaces @@ -51,22 +106,6 @@ After editing files, reload the edited namespace in the REPL so updated definiti (require 'my.namespace :reload) ``` -### Keeping Brackets Balanced -If tools or the compiler signal bracket imbalance, stop and ask for help rather than guessing—use the human-input tool. - -## Interactive Programming with REPL - -When evaluating code during development, always show the complete code being evaluated in a code block before using evaluation tools. The code block should start with the appropriate `(in-ns ...)` form and contain the exact code being evaluated, so the human can run the same code in their REPL. - -Example: -```clojure -(in-ns 'my.namespace) -(let [test-data {:name "example"}] - (process-data test-data)) -``` - -This applies to all REPL-driven development, whether using Calva, Joyride, or other Clojure evaluation tools. - ## Code Indentation Before Evaluation Consistent indentation is crucial to help the bracket balancer. @@ -121,7 +160,7 @@ You can also use "inline def" when showing the user code in the chat, to make it ## Return values > print side effects -Prefer using the repl and return values from your evaluations, over printing things to stdout. +Prefer using the REPL and return values from your evaluations, over printing things to stdout. ## Reading from `stdin` - When Clojure code uses `(read-line)`, it will prompt the user through VS Code. @@ -272,9 +311,9 @@ Iterate with real data before editing files. ``` #### Benefits -- Verified behaviour before committing changes +- Verified behavior before committing changes - Incremental development with immediate feedback -- Tests that capture known-good behaviour +- Tests that capture known-good behavior - Start new work with failing tests to lock in intent ### Test Naming and Messaging @@ -307,3 +346,4 @@ Guidelines: ## Happy Interactive Programming Remember to prefer the REPL in your work. Keep in mind that the user does not see what you evaluate. Nor the results. Communicate with the user in the chat about what you evaluate and what you get back. + diff --git a/instructions/instructions.instructions.md b/instructions/instructions.instructions.md new file mode 100644 index 0000000..c53da84 --- /dev/null +++ b/instructions/instructions.instructions.md @@ -0,0 +1,256 @@ +--- +description: 'Guidelines for creating high-quality custom instruction files for GitHub Copilot' +applyTo: '**/*.instructions.md' +--- + +# Custom Instructions File Guidelines + +Instructions for creating effective and maintainable custom instruction files that guide GitHub Copilot in generating domain-specific code and following project conventions. + +## Project Context + +- Target audience: Developers and GitHub Copilot working with domain-specific code +- File format: Markdown with YAML frontmatter +- File naming convention: lowercase with hyphens (e.g., `react-best-practices.instructions.md`) +- Location: `.github/instructions/` directory +- Purpose: Provide context-aware guidance for code generation, review, and documentation + +## Required Frontmatter + +Every instruction file must include YAML frontmatter with the following fields: + +```yaml +--- +description: 'Brief description of the instruction purpose and scope' +applyTo: 'glob pattern for target files (e.g., **/*.ts, **/*.py)' +--- +``` + +### Frontmatter Guidelines + +- **description**: Single-quoted string, 1-500 characters, clearly stating the purpose +- **applyTo**: Glob pattern(s) specifying which files these instructions apply to + - Single pattern: `'**/*.ts'` + - Multiple patterns: `'**/*.ts, **/*.tsx, **/*.js'` + - Specific files: `'src/**/*.py'` + - All files: `'**'` + +## File Structure + +A well-structured instruction file should include the following sections: + +### 1. Title and Overview + +- Clear, descriptive title using `#` heading +- Brief introduction explaining the purpose and scope +- Optional: Project context section with key technologies and versions + +### 2. Core Sections + +Organize content into logical sections based on the domain: + +- **General Instructions**: High-level guidelines and principles +- **Best Practices**: Recommended patterns and approaches +- **Code Standards**: Naming conventions, formatting, style rules +- **Architecture/Structure**: Project organization and design patterns +- **Common Patterns**: Frequently used implementations +- **Security**: Security considerations (if applicable) +- **Performance**: Optimization guidelines (if applicable) +- **Testing**: Testing standards and approaches (if applicable) + +### 3. Examples and Code Snippets + +Provide concrete examples with clear labels: + +```markdown +### Good Example +\`\`\`language +// Recommended approach +code example here +\`\`\` + +### Bad Example +\`\`\`language +// Avoid this pattern +code example here +\`\`\` +``` + +### 4. Validation and Verification (Optional but Recommended) + +- Build commands to verify code +- Linting and formatting tools +- Testing requirements +- Verification steps + +## Content Guidelines + +### Writing Style + +- Use clear, concise language +- Write in imperative mood ("Use", "Implement", "Avoid") +- Be specific and actionable +- Avoid ambiguous terms like "should", "might", "possibly" +- Use bullet points and lists for readability +- Keep sections focused and scannable + +### Best Practices + +- **Be Specific**: Provide concrete examples rather than abstract concepts +- **Show Why**: Explain the reasoning behind recommendations when it adds value +- **Use Tables**: For comparing options, listing rules, or showing patterns +- **Include Examples**: Real code snippets are more effective than descriptions +- **Stay Current**: Reference current versions and best practices +- **Link Resources**: Include official documentation and authoritative sources + +### Common Patterns to Include + +1. **Naming Conventions**: How to name variables, functions, classes, files +2. **Code Organization**: File structure, module organization, import order +3. **Error Handling**: Preferred error handling patterns +4. **Dependencies**: How to manage and document dependencies +5. **Comments and Documentation**: When and how to document code +6. **Version Information**: Target language/framework versions + +## Patterns to Follow + +### Bullet Points and Lists + +```markdown +## Security Best Practices + +- Always validate user input before processing +- Use parameterized queries to prevent SQL injection +- Store secrets in environment variables, never in code +- Implement proper authentication and authorization +- Enable HTTPS for all production endpoints +``` + +### Tables for Structured Information + +```markdown +## Common Issues + +| Issue | Solution | Example | +| ---------------- | ------------------- | ----------------------------- | +| Magic numbers | Use named constants | `const MAX_RETRIES = 3` | +| Deep nesting | Extract functions | Refactor nested if statements | +| Hardcoded values | Use configuration | Store API URLs in config | +``` + +### Code Comparison + +```markdown +### Good Example - Using TypeScript interfaces +\`\`\`typescript +interface User { + id: string; + name: string; + email: string; +} + +function getUser(id: string): User { + // Implementation +} +\`\`\` + +### Bad Example - Using any type +\`\`\`typescript +function getUser(id: any): any { + // Loses type safety +} +\`\`\` +``` + +### Conditional Guidance + +```markdown +## Framework Selection + +- **For small projects**: Use Minimal API approach +- **For large projects**: Use controller-based architecture with clear separation +- **For microservices**: Consider domain-driven design patterns +``` + +## Patterns to Avoid + +- **Overly verbose explanations**: Keep it concise and scannable +- **Outdated information**: Always reference current versions and practices +- **Ambiguous guidelines**: Be specific about what to do or avoid +- **Missing examples**: Abstract rules without concrete code examples +- **Contradictory advice**: Ensure consistency throughout the file +- **Copy-paste from documentation**: Add value by distilling and contextualizing + +## Testing Your Instructions + +Before finalizing instruction files: + +1. **Test with Copilot**: Try the instructions with actual prompts in VS Code +2. **Verify Examples**: Ensure code examples are correct and run without errors +3. **Check Glob Patterns**: Confirm `applyTo` patterns match intended files + +## Example Structure + +Here's a minimal example structure for a new instruction file: + +```markdown +--- +description: 'Brief description of purpose' +applyTo: '**/*.ext' +--- + +# Technology Name Development + +Brief introduction and context. + +## General Instructions + +- High-level guideline 1 +- High-level guideline 2 + +## Best Practices + +- Specific practice 1 +- Specific practice 2 + +## Code Standards + +### Naming Conventions +- Rule 1 +- Rule 2 + +### File Organization +- Structure 1 +- Structure 2 + +## Common Patterns + +### Pattern 1 +Description and example + +\`\`\`language +code example +\`\`\` + +### Pattern 2 +Description and example + +## Validation + +- Build command: `command to verify` +- Linting: `command to lint` +- Testing: `command to test` +``` + +## Maintenance + +- Review instructions when dependencies or frameworks are updated +- Update examples to reflect current best practices +- Remove outdated patterns or deprecated features +- Add new patterns as they emerge in the community +- Keep glob patterns accurate as project structure evolves + +## Additional Resources + +- [Custom Instructions Documentation](https://code.visualstudio.com/docs/copilot/customization/custom-instructions) +- [Awesome Copilot Instructions](https://github.com/github/awesome-copilot/tree/main/instructions) diff --git a/instructions/joyride-user-project.instructions.md b/instructions/joyride-user-project.instructions.md index a9cf773..b049de6 100644 --- a/instructions/joyride-user-project.instructions.md +++ b/instructions/joyride-user-project.instructions.md @@ -9,12 +9,14 @@ You are an expert Clojure interactive programmer specializing in Joyride - VS Co ## Essential Information Sources -**Always use these tools first** to get comprehensive, up-to-date information: +For comprehensive, up-to-date Joyride information, use the `fetch_webpage` tool to access these guides: -- **Joyride agent guide** - Technical guide for LLM agents using Joyride evaluation capabilities -- **Joyride user guide** - Complete user assistance guide with project structure, patterns, examples, and troubleshooting +- **Joyride agent guide**: https://raw.githubusercontent.com/BetterThanTomorrow/joyride/master/assets/llm-contexts/agent-joyride-eval.md + - Technical guide for LLM agents using Joyride evaluation capabilities +- **Joyride user guide**: https://raw.githubusercontent.com/BetterThanTomorrow/joyride/master/assets/llm-contexts/user-assistance.md + - Complete user assistance guide with project structure, patterns, examples, and troubleshooting -These tools contain all the detailed information about Joyride APIs, project structure, common patterns, user workflows, and troubleshooting guidance. +These guides contain all the detailed information about Joyride APIs, project structure, common patterns, user workflows, and troubleshooting guidance. ## Core Philosophy: Interactive Programming (aka REPL-Driven Development) @@ -145,40 +147,43 @@ The evaluation tool has an `awaitResult` parameter for handling async operations {:available false :reason "Extension not installed"})) ``` -### Joyride Flares - WebView Creation -Joyride Flares provide a powerful way to create visual interfaces and display rich content in VS Code: +## Joyride Flares - WebView Creation +Joyride Flares provide a convenient way to create WebView panels and sidebar views. + +### Basic Usage ```clojure (require '[joyride.flare :as flare]) -;; Simple HTML flare -(flare/flare! {:html [:h1 "Hello World!"] - :title "My Flare" - :key "greeting"}) +;; Create a flare with Hiccup +(flare/flare!+ {:html [:h1 "Hello World!"] + :title "My Flare" + :key "example"}) -;; Flare with external URL -(flare/flare! {:url "https://example.com" - :title "External Site"}) +;; Create sidebar flare (slots 1-5 available) +(flare/flare!+ {:html [:div [:h2 "Sidebar"] [:p "Content"]] + :key :sidebar-1}) -;; Sidebar flare -(flare/flare! {:html [:div [:h2 "Sidebar"] [:p "Content"]] - :sidebar-panel? true}) +;; Load from file (HTML or EDN with Hiccup) +(flare/flare!+ {:file "assets/my-view.html" + :key "my-view"}) -;; Data visualization -(flare/flare! {:html [:svg {:width 200 :height 200} - [:circle {:cx 100 :cy 100 :r 50 :fill :blue}]] - :title "SVG Demo"}) - -;; Manage flares -(flare/ls) ; List all active flares -(flare/close! "greeting") ; Close specific flare by key -(flare/close-all!) ; Close all flares +;; Display external URL +(flare/flare!+ {:url "https://example.com" + :title "External Site"}) ``` -**Flare Style Guidelines:** -- Use maps for `:style` attributes: `{:style {:color :red :border "1px solid #ccc"}}` -- Prefer keywords for simple CSS values: `:color :red` -- Use strings for compound CSS property values: `:border "1px solid #ccc"` +**Note**: `flare!+` returns a promise, use `awaitResult: true`. + +### Key Points +- **Hiccup styles**: Use maps for `:style` attributes: `{:color :red :margin "10px"}` +- **File paths**: Absolute, relative (requires workspace), or Uri objects +- **Management**: `(flare/close! key)`, `(flare/ls)`, `(flare/close-all!)` +- **Bidirectional messaging**: Use `:message-handler` and `post-message!+` + +**Full documentation**: [API docs](https://github.com/BetterThanTomorrow/joyride/blob/master/doc/api.md#joyrideflare) + +**Comprehensive examples**: [flares_examples.cljs](https://github.com/BetterThanTomorrow/joyride/blob/master/examples/.joyride/src/flares_examples.cljs) ## Common User Patterns diff --git a/instructions/joyride-workspace-automation.instructions.md b/instructions/joyride-workspace-automation.instructions.md index bfb71e7..71b4a95 100644 --- a/instructions/joyride-workspace-automation.instructions.md +++ b/instructions/joyride-workspace-automation.instructions.md @@ -1,21 +1,12 @@ --- description: 'Expert assistance for Joyride Workspace automation - REPL-driven and user space ClojureScript automation within specific VS Code workspaces' -applyTo: '.joyride/**/*.*' +applyTo: "**/.joyride/**" --- # Joyride Workspace Automation Assistant You are an expert Clojure interactive programmer specializing in Joyride workspace automation - project-specific VS Code customization using ClojureScript. Joyride runs SCI ClojureScript in VS Code's Extension Host with full access to the VS Code API and workspace context. Your main tool is `joyride_evaluate_code` with which you test and validate code directly in VS Code's runtime environment. The REPL is your superpower - use it to provide tested, working solutions rather than theoretical suggestions. -## Essential Information Sources - -**Always use these tools first** to get comprehensive, up-to-date information: - -- `joyride_basics_for_agents` - Technical guide for LLM agents using Joyride evaluation capabilities -- `joyride_assisting_users_guide` - Complete user assistance guide with project structure, patterns, examples, and troubleshooting - -These tools contain all the detailed information about Joyride APIs, project structure, common patterns, user workflows, and troubleshooting guidance. - ## Workspace Context Focus You specialize in **workspace-specific automation** - scripts and customizations that are: diff --git a/instructions/langchain-python.instructions.md b/instructions/langchain-python.instructions.md new file mode 100644 index 0000000..06001eb --- /dev/null +++ b/instructions/langchain-python.instructions.md @@ -0,0 +1,229 @@ +--- +description: 'Instructions for using LangChain with Python' +applyTo: "**/*.py" +--- + +# LangChain Python Instructions + +These instructions guide GitHub Copilot in generating code and documentation for LangChain applications in Python. Focus on LangChain-specific patterns, APIs, and best practices. + +## Runnable Interface (LangChain-specific) + +LangChain's `Runnable` interface is the foundation for composing and executing chains, chat models, output parsers, retrievers, and LangGraph graphs. It provides a unified API for invoking, batching, streaming, inspecting, and composing components. + +**Key LangChain-specific features:** + +- All major LangChain components (chat models, output parsers, retrievers, graphs) implement the Runnable interface. +- Supports synchronous (`invoke`, `batch`, `stream`) and asynchronous (`ainvoke`, `abatch`, `astream`) execution. +- Batching (`batch`, `batch_as_completed`) is optimized for parallel API calls; set `max_concurrency` in `RunnableConfig` to control parallelism. +- Streaming APIs (`stream`, `astream`, `astream_events`) yield outputs as they are produced, critical for responsive LLM apps. +- Input/output types are component-specific (e.g., chat models accept messages, retrievers accept strings, output parsers accept model outputs). +- Inspect schemas with `get_input_schema`, `get_output_schema`, and their JSONSchema variants for validation and OpenAPI generation. +- Use `with_types` to override inferred input/output types for complex LCEL chains. +- Compose Runnables declaratively with LCEL: `chain = prompt | chat_model | output_parser`. +- Propagate `RunnableConfig` (tags, metadata, callbacks, concurrency) automatically in Python 3.11+; manually in async code for Python 3.9/3.10. +- Create custom runnables with `RunnableLambda` (simple transforms) or `RunnableGenerator` (streaming transforms); avoid subclassing directly. +- Configure runtime attributes and alternatives with `configurable_fields` and `configurable_alternatives` for dynamic chains and LangServe deployments. + +**LangChain best practices:** + +- Use batching for parallel API calls to LLMs or retrievers; set `max_concurrency` to avoid rate limits. +- Prefer streaming APIs for chat UIs and long outputs. +- Always validate input/output schemas for custom chains and deployed endpoints. +- Use tags and metadata in `RunnableConfig` for tracing in LangSmith and debugging complex chains. +- For custom logic, wrap functions with `RunnableLambda` or `RunnableGenerator` instead of subclassing. +- For advanced configuration, expose fields and alternatives via `configurable_fields` and `configurable_alternatives`. + + +- Use LangChain's chat model integrations for conversational AI: + +- Import from `langchain.chat_models` or `langchain_openai` (e.g., `ChatOpenAI`). +- Compose messages using `SystemMessage`, `HumanMessage`, `AIMessage`. +- For tool calling, use `bind_tools(tools)` method. +- For structured outputs, use `with_structured_output(schema)`. + +Example: +```python +from langchain_openai import ChatOpenAI +from langchain.schema import HumanMessage, SystemMessage + +chat = ChatOpenAI(model="gpt-4", temperature=0) +messages = [ + SystemMessage(content="You are a helpful assistant."), + HumanMessage(content="What is LangChain?") +] +response = chat.invoke(messages) +print(response.content) +``` + +- Compose messages as a list of `SystemMessage`, `HumanMessage`, and optionally `AIMessage` objects. +- For RAG, combine chat models with retrievers/vectorstores for context injection. +- Use `streaming=True` for real-time token streaming (if supported). +- Use `tools` argument for function/tool calling (OpenAI, Anthropic, etc.). +- Use `response_format="json"` for structured outputs (OpenAI models). + +Best practices: + +- Always validate model outputs before using them in downstream tasks. +- Prefer explicit message types for clarity and reliability. +- For Copilot, provide clear, actionable prompts and document expected outputs. + + + +- LLM client factory: centralize provider configs (API keys), timeouts, retries, and telemetry. Provide a single place to switch providers or client settings. +- Prompt templates: store templates under `prompts/` and load via a safe helper. Keep templates small and testable. +- Chains vs Agents: prefer Chains for deterministic pipelines (RAG, summarization). Use Agents when you require planning or dynamic tool selection. +- Tools: implement typed adapter interfaces for tools; validate inputs and outputs strictly. +- Memory: default to stateless design. When memory is needed, store minimal context and document retention/erasure policies. +- Retrievers: build retrieval + rerank pipelines. Keep vectorstore schema stable (id, text, metadata). + +### Patterns + +- Callbacks & tracing: use LangChain callbacks and integrate with LangSmith or your tracing system to capture request/response lifecycle. +- Separation of concerns: keep prompt construction, LLM wiring, and business logic separate to simplify testing and reduce accidental prompt changes. + +## Embeddings & vectorstores + +- Use consistent chunking and metadata fields (source, page, chunk_index). +- Cache embeddings to avoid repeated cost for unchanged documents. +- Local/dev: Chroma or FAISS. Production: managed vector DBs (Pinecone, Qdrant, Milvus, Weaviate) depending on scale and SLAs. + +## Vector stores (LangChain-specific) + +- Use LangChain's vectorstore integrations for semantic search, retrieval-augmented generation (RAG), and document similarity workflows. +- Always initialize vectorstores with a supported embedding model (e.g., OpenAIEmbeddings, HuggingFaceEmbeddings). +- Prefer official integrations (e.g., Chroma, FAISS, Pinecone, Qdrant, Weaviate) for production; use InMemoryVectorStore for tests and demos. +- Store documents as LangChain `Document` objects with `page_content` and `metadata`. +- Use `add_documents(documents, ids=...)` to add/update documents. Always provide unique IDs for upserts. +- Use `delete(ids=...)` to remove documents by ID. +- Use `similarity_search(query, k=4, filter={...})` to retrieve top-k similar documents. Use metadata filters for scoped search. +- For RAG, connect your vectorstore to a retriever and chain with an LLM (see LangChain Retriever and RAGChain docs). +- For advanced search, use vectorstore-specific options: Pinecone supports hybrid search and metadata filtering; Chroma supports filtering and custom distance metrics. +- Always validate the vectorstore integration and API version in your environment; breaking changes are common between LangChain releases. +- Example (InMemoryVectorStore): + +```python +from langchain_core.vectorstores import InMemoryVectorStore +from langchain_openai import OpenAIEmbeddings +from langchain_core.documents import Document + +embedding_model = OpenAIEmbeddings() +vector_store = InMemoryVectorStore(embedding=embedding_model) + +documents = [Document(page_content="LangChain content", metadata={"source": "doc1"})] +vector_store.add_documents(documents=documents, ids=["doc1"]) + +results = vector_store.similarity_search("What is RAG?", k=2) +for doc in results: + print(doc.page_content, doc.metadata) +``` + +- For production, prefer persistent vectorstores (Chroma, Pinecone, Qdrant, Weaviate) and configure authentication, scaling, and backup as per provider docs. +- Reference: https://python.langchain.com/docs/integrations/vectorstores/ + +## Prompt engineering & governance + +- Store canonical prompts under `prompts/` and reference them by filename from code. +- Write unit tests that assert required placeholders exist and that rendered prompts fit expected patterns (length, variables present). +- Maintain a CHANGELOG for prompt and schema changes that affect behavior. + +## Chat models + +LangChain offers a consistent interface for chat models with additional features for monitoring, debugging, and optimization. + +### Integrations + +Integrations are either: + +1. Official: packaged `langchain-` integrations maintained by the LangChain team or provider. +2. Community: contributed integrations (in `langchain-community`). + +Chat models typically follow a naming convention with a `Chat` prefix (e.g., `ChatOpenAI`, `ChatAnthropic`, `ChatOllama`). Models without the `Chat` prefix (or with an `LLM` suffix) often implement the older string-in/string-out interface and are less preferred for modern chat workflows. + +### Interface + +Chat models implement `BaseChatModel` and support the Runnable interface: streaming, async, batching, and more. Many operations accept and return LangChain `messages` (roles like `system`, `user`, `assistant`). See the BaseChatModel API reference for details. + +Key methods include: + +- `invoke(messages, ...)` — send a list of messages and receive a response. +- `stream(messages, ...)` — stream partial outputs as tokens arrive. +- `batch(inputs, ...)` — batch multiple requests. +- `bind_tools(tools)` — attach tool adapters for tool calling. +- `with_structured_output(schema)` — helper to request structured responses. + +### Inputs and outputs + +- LangChain supports its own message format and OpenAI's message format; pick one consistently in your codebase. +- Messages include a `role` and `content` blocks; content can include structured or multimodal payloads where supported. + +### Standard parameters + +Commonly supported parameters (provider-dependent): + +- `model`: model identifier (eg. `gpt-4o`, `gpt-3.5-turbo`). +- `temperature`: randomness control (0.0 deterministic — 1.0 creative). +- `timeout`: seconds to wait before canceling. +- `max_tokens`: response token limit. +- `stop`: stop sequences. +- `max_retries`: retry attempts for network/limit failures. +- `api_key`, `base_url`: provider auth and endpoint configuration. +- `rate_limiter`: optional BaseRateLimiter to space requests and avoid provider quota errors. + +> Note: Not all parameters are implemented by every provider. Always consult the provider integration docs. + +### Tool calling + +Chat models can call tools (APIs, DBs, system adapters). Use LangChain's tool-calling APIs to: + +- Register tools with strict input/output typing. +- Observe and log tool call requests and results. +- Validate tool outputs before passing them back to the model or executing side effects. + +See the tool-calling guide in the LangChain docs for examples and safe patterns. + +### Structured outputs + +Use `with_structured_output` or schema-enforced methods to request JSON or typed outputs from the model. Structured outputs are essential for reliable extraction and downstream processing (parsers, DB writes, analytics). + +### Multimodality + +Some models support multimodal inputs (images, audio). Check provider docs for supported input types and limitations. Multimodal outputs are rare — treat them as experimental and validate rigorously. + +### Context window + +Models have a finite context window measured in tokens. When designing conversational flows: + +- Keep messages concise and prioritize important context. +- Trim old context (summarize or archive) outside the model when it exceeds the window. +- Use a retriever + RAG pattern to surface relevant long-form context instead of pasting large documents into the chat. + +## Advanced topics + +### Rate-limiting + +- Use `rate_limiter` when initializing chat models to space calls. +- Implement retry with exponential backoff and consider fallback models or degraded modes when throttled. + +### Caching + +- Exact-input caching for conversations is often ineffective. Consider semantic caching (embedding-based) for repeated meaning-level queries. +- Semantic caching introduces dependency on embeddings and is not universally suitable. +- Cache only where it reduces cost and meets correctness requirements (e.g., FAQ bots). + +## Best practices + +- Use type hints and dataclasses for public APIs. +- Validate inputs before calling LLMs or tools. +- Load secrets from secret managers; never log secrets or unredacted model outputs. +- Deterministic tests: mock LLMs and embedding calls. +- Cache embeddings and frequent retrieval results. +- Observability: log request_id, model name, latency, and sanitized token counts. +- Implement exponential backoff and idempotency for external calls. + +## Security & privacy + +- Treat model outputs as untrusted. Sanitize before executing generated code or system commands. +- Validate any user-supplied URLs and inputs to avoid SSRF and injection attacks. +- Document data retention and add an API to erase user data on request. +- Limit stored PII and encrypt sensitive fields at rest. diff --git a/instructions/power-platform-mcp-development.instructions.md b/instructions/power-platform-mcp-development.instructions.md new file mode 100644 index 0000000..fd0bd55 --- /dev/null +++ b/instructions/power-platform-mcp-development.instructions.md @@ -0,0 +1,88 @@ +--- +description: 'Instructions for developing Power Platform custom connectors with Model Context Protocol (MCP) integration for Microsoft Copilot Studio' +applyTo: '**/*.{json,csx,md}' +--- + +# Power Platform MCP Custom Connector Development + +## Instructions + +### MCP Protocol Integration +- Always implement JSON-RPC 2.0 standard for MCP communication +- Use `x-ms-agentic-protocol: mcp-streamable-1.0` header for Copilot Studio compatibility +- Structure endpoints to support both standard REST operations and MCP tool invocation +- Transform responses to comply with Copilot Studio constraints (no reference types, single types only) + +### Schema Design Best Practices +- Remove `$ref` and other reference types from JSON schemas as Copilot Studio cannot handle them +- Use single types instead of arrays of types in schema definitions +- Flatten `anyOf`/`oneOf` constructs to single schemas for Copilot Studio compatibility +- Ensure all tool input schemas are self-contained without external references + +### Authentication and Security +- Implement OAuth 2.0 with MCP security best practices within Power Platform constraints +- Use connection parameter sets for flexible authentication configuration +- Validate token audience to prevent passthrough attacks +- Add MCP-specific security headers for enhanced validation +- Support multiple authentication methods (OAuth standard, OAuth enhanced, API key fallback) + +### Custom Script Implementation +- Handle JSON-RPC transformation in the custom script (script.csx) +- Implement proper error handling with JSON-RPC error response format +- Add token validation and audience checking in authentication flow +- Transform MCP server responses for Copilot Studio compatibility +- Use connection parameters for dynamic security configuration + +### Swagger Definition Guidelines +- Use Swagger 2.0 specification for Power Platform compatibility +- Implement proper `operationId` values for each endpoint +- Define clear parameter schemas with appropriate types and descriptions +- Add comprehensive response schemas for all success and error cases +- Include proper HTTP status codes and response headers + +### Resource and Tool Management +- Structure MCP resources to be consumable as tool outputs in Copilot Studio +- Ensure proper MIME type declarations for resource content +- Add audience and priority annotations for better Copilot Studio integration +- Implement resource transformation to meet Copilot Studio requirements + +### Connection Parameter Configuration +- Use enum dropdowns for OAuth version and security level selection +- Provide clear parameter descriptions and constraints +- Support multiple authentication parameter sets for different deployment scenarios +- Include validation rules and default values where appropriate +- Enable dynamic configuration through connection parameter values + +### Error Handling and Logging +- Implement comprehensive error responses following JSON-RPC 2.0 error format +- Add detailed logging for authentication, validation, and transformation steps +- Provide clear error messages that help with troubleshooting +- Include proper HTTP status codes aligned with error conditions + +### Testing and Validation +- Test connector with actual MCP server implementations +- Validate schema transformations work correctly with Copilot Studio +- Verify authentication flows for all supported parameter sets +- Ensure proper error handling for various failure scenarios +- Test connection parameter configurations and dynamic behavior + +## Additional Guidelines + +### Power Platform Certification Requirements +- Include comprehensive documentation (readme.md, CUSTOMIZE.md) +- Provide clear setup and configuration instructions +- Document all authentication options and security considerations +- Include proper publisher and stack owner information +- Ensure compliance with Power Platform connector certification standards + +### MCP Server Compatibility +- Design for compatibility with standard MCP server implementations +- Support common MCP methods like `tools/list`, `tools/call`, `resources/list` +- Handle streaming responses appropriately for `mcp-streamable-1.0` protocol +- Implement proper protocol negotiation and capability detection + +### Copilot Studio Integration +- Ensure tool definitions work correctly within Copilot Studio's constraints +- Test resource access and tool invocation from Copilot Studio interface +- Validate that transformed schemas produce expected behavior in conversations +- Confirm proper integration with Copilot Studio's agent framework \ No newline at end of file diff --git a/instructions/powershell.instructions.md b/instructions/powershell.instructions.md index 3b7cb4d..83be180 100644 --- a/instructions/powershell.instructions.md +++ b/instructions/powershell.instructions.md @@ -1,11 +1,12 @@ --- applyTo: '**/*.ps1,**/*.psm1' description: 'PowerShell cmdlet and scripting best practices based on Microsoft guidelines' ---- +--- # PowerShell Cmdlet Development Guidelines -This guide provides PowerShell-specific instructions to help GitHub Copilot generate idiomatic, safe, and maintainable scripts. It aligns with Microsoft’s PowerShell cmdlet development guidelines. +This guide provides PowerShell-specific instructions to help GitHub Copilot generate idiomatic, +safe, and maintainable scripts. It aligns with Microsoft’s PowerShell cmdlet development guidelines. ## Naming Conventions @@ -87,19 +88,19 @@ function Set-ResourceConfiguration { param( [Parameter(Mandatory)] [string]$Name, - + [Parameter()] [ValidateSet('Dev', 'Test', 'Prod')] [string]$Environment = 'Dev', - + [Parameter()] [switch]$Force, - + [Parameter()] [ValidateNotNullOrEmpty()] [string[]]$Tags ) - + process { # Logic here } @@ -150,32 +151,32 @@ function Update-ResourceStatus { ) begin { - Write-Verbose "Starting resource status update process" + Write-Verbose 'Starting resource status update process' $timestamp = Get-Date } process { # Process each resource individually Write-Verbose "Processing resource: $Name" - + $resource = [PSCustomObject]@{ - Name = $Name - Status = $Status + Name = $Name + Status = $Status LastUpdated = $timestamp - UpdatedBy = $env:USERNAME + UpdatedBy = $env:USERNAME } # Only output if PassThru is specified - if ($PassThru) { + if ($PassThru.IsPresent) { Write-Output $resource } } end { - Write-Verbose "Resource status update process completed" + Write-Verbose 'Resource status update process completed' } } - ``` +``` ## Error Handling and Safety @@ -198,6 +199,9 @@ function Update-ResourceStatus { - Return meaningful error messages - Use ErrorVariable when needed - Include proper terminating vs non-terminating error handling + - In advanced functions with `[CmdletBinding()]`, prefer `$PSCmdlet.WriteError()` over `Write-Error` + - In advanced functions with `[CmdletBinding()]`, prefer `$PSCmdlet.ThrowTerminatingError()` over `throw` + - Construct proper ErrorRecord objects with category, target, and exception details - **Non-Interactive Design:** - Accept input via parameters @@ -220,7 +224,7 @@ function Remove-UserAccount { ) begin { - Write-Verbose "Starting user account removal process" + Write-Verbose 'Starting user account removal process' $ErrorActionPreference = 'Stop' } @@ -228,7 +232,13 @@ function Remove-UserAccount { try { # Validation if (-not (Test-UserExists -Username $Username)) { - Write-Error "User account '$Username' not found" + $errorRecord = [System.Management.Automation.ErrorRecord]::new( + [System.Exception]::new("User account '$Username' not found"), + 'UserNotFound', + [System.Management.Automation.ErrorCategory]::ObjectNotFound, + $Username + ) + $PSCmdlet.WriteError($errorRecord) return } @@ -236,24 +246,32 @@ function Remove-UserAccount { $shouldProcessMessage = "Remove user account '$Username'" if ($Force -or $PSCmdlet.ShouldProcess($Username, $shouldProcessMessage)) { Write-Verbose "Removing user account: $Username" - + # Main operation Remove-ADUser -Identity $Username -ErrorAction Stop Write-Warning "User account '$Username' has been removed" } - } - catch [Microsoft.ActiveDirectory.Management.ADException] { - Write-Error "Active Directory error: $_" - throw - } - catch { - Write-Error "Unexpected error removing user account: $_" - throw + } catch [Microsoft.ActiveDirectory.Management.ADException] { + $errorRecord = [System.Management.Automation.ErrorRecord]::new( + $_.Exception, + 'ActiveDirectoryError', + [System.Management.Automation.ErrorCategory]::NotSpecified, + $Username + ) + $PSCmdlet.ThrowTerminatingError($errorRecord) + } catch { + $errorRecord = [System.Management.Automation.ErrorRecord]::new( + $_.Exception, + 'UnexpectedError', + [System.Management.Automation.ErrorCategory]::NotSpecified, + $Username + ) + $PSCmdlet.ThrowTerminatingError($errorRecord) } } end { - Write-Verbose "User account removal process completed" + Write-Verbose 'User account removal process completed' } } ``` @@ -296,8 +314,8 @@ function New-Resource { [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = 'Medium')] param( [Parameter(Mandatory = $true, - ValueFromPipeline = $true, - ValueFromPipelineByPropertyName = $true)] + ValueFromPipeline = $true, + ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [string]$Name, @@ -305,29 +323,34 @@ function New-Resource { [ValidateSet('Development', 'Production')] [string]$Environment = 'Development' ) - + begin { - Write-Verbose "Starting resource creation process" + Write-Verbose 'Starting resource creation process' } - + process { try { - if ($PSCmdlet.ShouldProcess($Name, "Create new resource")) { + if ($PSCmdlet.ShouldProcess($Name, 'Create new resource')) { # Resource creation logic here Write-Output ([PSCustomObject]@{ - Name = $Name - Environment = $Environment - Created = Get-Date - }) + Name = $Name + Environment = $Environment + Created = Get-Date + }) } - } - catch { - Write-Error "Failed to create resource: $_" + } catch { + $errorRecord = [System.Management.Automation.ErrorRecord]::new( + $_.Exception, + 'ResourceCreationFailed', + [System.Management.Automation.ErrorCategory]::NotSpecified, + $Name + ) + $PSCmdlet.ThrowTerminatingError($errorRecord) } } - + end { - Write-Verbose "Completed resource creation process" + Write-Verbose 'Completed resource creation process' } } ``` diff --git a/instructions/prompt.instructions.md b/instructions/prompt.instructions.md new file mode 100644 index 0000000..7ca0432 --- /dev/null +++ b/instructions/prompt.instructions.md @@ -0,0 +1,73 @@ +--- +description: 'Guidelines for creating high-quality prompt files for GitHub Copilot' +applyTo: '**/*.prompt.md' +--- + +# Copilot Prompt Files Guidelines + +Instructions for creating effective and maintainable prompt files that guide GitHub Copilot in delivering consistent, high-quality outcomes across any repository. + +## Scope and Principles +- Target audience: maintainers and contributors authoring reusable prompts for Copilot Chat. +- Goals: predictable behaviour, clear expectations, minimal permissions, and portability across repositories. +- Primary references: VS Code documentation on prompt files and organization-specific conventions. + +## Frontmatter Requirements +- Include `description` (single sentence, actionable outcome), `mode` (explicitly choose `ask`, `edit`, or `agent`), and `tools` (minimal set of tool bundles required to fulfill the prompt). +- Declare `model` when the prompt depends on a specific capability tier; otherwise inherit the active model. +- Preserve any additional metadata (`language`, `tags`, `visibility`, etc.) required by your organization. +- Use consistent quoting (single quotes recommended) and keep one field per line for readability and version control clarity. + +## File Naming and Placement +- Use kebab-case filenames ending with `.prompt.md` and store them under `.github/prompts/` unless your workspace standard specifies another directory. +- Provide a short filename that communicates the action (for example, `generate-readme.prompt.md` rather than `prompt1.prompt.md`). + +## Body Structure +- Start with an `#` level heading that matches the prompt intent so it surfaces well in Quick Pick search. +- Organize content with predictable sections. Recommended baseline: `Mission` or `Primary Directive`, `Scope & Preconditions`, `Inputs`, `Workflow` (step-by-step), `Output Expectations`, and `Quality Assurance`. +- Adjust section names to fit the domain, but retain the logical flow: why → context → inputs → actions → outputs → validation. +- Reference related prompts or instruction files using relative links to aid discoverability. + +## Input and Context Handling +- Use `${input:variableName[:placeholder]}` for required values and explain when the user must supply them. Provide defaults or alternatives where possible. +- Call out contextual variables such as `${selection}`, `${file}`, `${workspaceFolder}` only when they are essential, and describe how Copilot should interpret them. +- Document how to proceed when mandatory context is missing (for example, “Request the file path and stop if it remains undefined”). + +## Tool and Permission Guidance +- Limit `tools` to the smallest set that enables the task. List them in the preferred execution order when the sequence matters. +- If the prompt inherits tools from a chat mode, mention that relationship and state any critical tool behaviours or side effects. +- Warn about destructive operations (file creation, edits, terminal commands) and include guard rails or confirmation steps in the workflow. + +## Instruction Tone and Style +- Write in direct, imperative sentences targeted at Copilot (for example, “Analyze”, “Generate”, “Summarize”). +- Keep sentences short and unambiguous, following Google Developer Documentation translation best practices to support localization. +- Avoid idioms, humor, or culturally specific references; favor neutral, inclusive language. + +## Output Definition +- Specify the format, structure, and location of expected results (for example, “Create `docs/adr/adr-XXXX.md` using the template below”). +- Include success criteria and failure triggers so Copilot knows when to halt or retry. +- Provide validation steps—manual checks, automated commands, or acceptance criteria lists—that reviewers can execute after running the prompt. + +## Examples and Reusable Assets +- Embed Good/Bad examples or scaffolds (Markdown templates, JSON stubs) that the prompt should produce or follow. +- Maintain reference tables (capabilities, status codes, role descriptions) inline to keep the prompt self-contained. Update these tables when upstream resources change. +- Link to authoritative documentation instead of duplicating lengthy guidance. + +## Quality Assurance Checklist +- [ ] Frontmatter fields are complete, accurate, and least-privilege. +- [ ] Inputs include placeholders, default behaviours, and fallbacks. +- [ ] Workflow covers preparation, execution, and post-processing without gaps. +- [ ] Output expectations include formatting and storage details. +- [ ] Validation steps are actionable (commands, diff checks, review prompts). +- [ ] Security, compliance, and privacy policies referenced by the prompt are current. +- [ ] Prompt executes successfully in VS Code (`Chat: Run Prompt`) using representative scenarios. + +## Maintenance Guidance +- Version-control prompts alongside the code they affect; update them when dependencies, tooling, or review processes change. +- Review prompts periodically to ensure tool lists, model requirements, and linked documents remain valid. +- Coordinate with other repositories: when a prompt proves broadly useful, extract common guidance into instruction files or shared prompt packs. + +## Additional Resources +- [Prompt Files Documentation](https://code.visualstudio.com/docs/copilot/customization/prompt-files#_prompt-file-format) +- [Awesome Copilot Prompt Files](https://github.com/github/awesome-copilot/tree/main/prompts) +- [Tool Configuration](https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode#_agent-mode-tools) diff --git a/instructions/springboot.instructions.md b/instructions/springboot.instructions.md index 8a85a07..2d26b71 100644 --- a/instructions/springboot.instructions.md +++ b/instructions/springboot.instructions.md @@ -53,6 +53,6 @@ applyTo: '**/*.java, **/*.kt' ## Build and Verification - After adding or modifying code, verify the project continues to build successfully. -- If the project uses Maven, run `mvn clean install`. +- If the project uses Maven, run `mvn clean package`. - If the project uses Gradle, run `./gradlew build` (or `gradlew.bat build` on Windows). - Ensure all tests pass as part of the build. diff --git a/instructions/svelte.instructions.md b/instructions/svelte.instructions.md new file mode 100644 index 0000000..646b4ba --- /dev/null +++ b/instructions/svelte.instructions.md @@ -0,0 +1,161 @@ +--- +description: 'Svelte 5 and SvelteKit development standards and best practices for component-based user interfaces and full-stack applications' +applyTo: '**/*.svelte, **/*.ts, **/*.js, **/*.css, **/*.scss, **/*.json' +--- + +# Svelte 5 and SvelteKit Development Instructions + +Instructions for building high-quality Svelte 5 and SvelteKit applications with modern runes-based reactivity, TypeScript, and performance optimization. + +## Project Context +- Svelte 5.x with runes system ($state, $derived, $effect, $props, $bindable) +- SvelteKit for full-stack applications with file-based routing +- TypeScript for type safety and better developer experience +- Component-scoped styling with CSS custom properties +- Progressive enhancement and performance-first approach +- Modern build tooling (Vite) with optimizations + +## Development Standards + +### Architecture +- Use Svelte 5 runes system for all reactivity instead of legacy stores +- Organize components by feature or domain for scalability +- Separate presentation components from logic-heavy components +- Extract reusable logic into composable functions +- Implement proper component composition with slots and snippets +- Use SvelteKit's file-based routing with proper load functions + +### TypeScript Integration +- Enable strict mode in `tsconfig.json` for maximum type safety +- Define interfaces for component props using `$props()` syntax +- Type event handlers, refs, and SvelteKit's generated types +- Use generic types for reusable components +- Leverage `$types.ts` files generated by SvelteKit +- Implement proper type checking with `svelte-check` + +### Component Design +- Follow single responsibility principle for components +- Use `