diff --git a/README.md b/README.md index 9d62c3f..44b8369 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,14 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [ASP.NET Minimal API with OpenAPI](prompts/aspnet-minimal-api-openapi.prompt.md) | Create ASP.NET Minimal API endpoints with proper OpenAPI documentation | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Faspnet-minimal-api-openapi.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Faspnet-minimal-api-openapi.prompt.md) | | [Azure Cost Optimize](prompts/az-cost-optimize.prompt.md) | Analyze Azure resources used in the app (IaC files and/or resources in a target rg) and optimize costs - creating GitHub issues for identified optimizations. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Faz-cost-optimize.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Faz-cost-optimize.prompt.md) | | [Comment Code Generate A Tutorial](prompts/comment-code-generate-a-tutorial.prompt.md) | Transform this Python script into a polished, beginner-friendly project by refactoring the code, adding clear instructional comments, and generating a complete markdown tutorial. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcomment-code-generate-a-tutorial.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcomment-code-generate-a-tutorial.prompt.md) | +| [Create Architectural Decision Record](prompts/create-architectural-decision-record.prompt.md) | Create an Architectural Decision Record (ADR) document for AI-optimized decision documentation. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-architectural-decision-record.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-architectural-decision-record.prompt.md) | +| [Create GitHub Issue from Specification](prompts/create-github-issue-feature-from-specification.prompt.md) | Create GitHub Issue for feature request from specification file using feature_request.yml template. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issue-feature-from-specification.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issue-feature-from-specification.prompt.md) | +| [Create GitHub Issue from Implementation Plan](prompts/create-github-issues-feature-from-implementation-plan.prompt.md) | Create GitHub Issues from implementation plan phases using feature_request.yml or chore_request.yml templates. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issues-feature-from-implementation-plan.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issues-feature-from-implementation-plan.prompt.md) | +| [Create GitHub Issues for Unmet Specification Requirements](prompts/create-github-issues-for-unmet-specification-requirements.prompt.md) | Create GitHub Issues for unimplemented requirements from specification files using feature_request.yml template. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issues-for-unmet-specification-requirements.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issues-for-unmet-specification-requirements.prompt.md) | +| [Create Implementation Plan](prompts/create-implementation-plan.prompt.md) | Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-implementation-plan.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-implementation-plan.prompt.md) | +| [Create LLMs.txt File from Repository Structure](prompts/create-llms.prompt.md) | Create an llms.txt file from scratch based on repository structure following the llms.txt specification at https://llmstxt.org/ | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-llms.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-llms.prompt.md) | +| [Generate Standard OO Component Documentation](prompts/create-oo-component-documentation.prompt.md) | Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-oo-component-documentation.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-oo-component-documentation.prompt.md) | +| [Create Specification](prompts/create-specification.prompt.md) | Create a new specification file for the solution, optimized for Generative AI consumption. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-specification.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-specification.prompt.md) | | [Create Spring Boot Java project prompt](prompts/create-spring-boot-java-project.prompt.md) | Create Spring Boot Java project skeleton | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-java-project.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-java-project.prompt.md) | | [Create Spring Boot Kotlin project prompt](prompts/create-spring-boot-kotlin-project.prompt.md) | Create Spring Boot Kotlin project skeleton | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-kotlin-project.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-kotlin-project.prompt.md) | | [C# Async Programming Best Practices](prompts/csharp-async.prompt.md) | Get best practices for C# async programming | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-async.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-async.prompt.md) | @@ -64,6 +72,8 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [MSTest Best Practices](prompts/csharp-mstest.prompt.md) | Get best practices for MSTest unit testing, including data-driven tests | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-mstest.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-mstest.prompt.md) | | [NUnit Best Practices](prompts/csharp-nunit.prompt.md) | Get best practices for NUnit unit testing, including data-driven tests | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-nunit.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-nunit.prompt.md) | | [XUnit Best Practices](prompts/csharp-xunit.prompt.md) | Get best practices for XUnit unit testing, including data-driven tests | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-xunit.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-xunit.prompt.md) | +| [.NET/C# Best Practices](prompts/dotnet-best-practices.prompt.md) | Ensure .NET/C# code meets best practices for the solution/project. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?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](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fdotnet-best-practices.prompt.md) | +| [.NET/C# Design Pattern Review](prompts/dotnet-design-pattern-review.prompt.md) | Review the C#/.NET code for design pattern implementation and suggest improvements. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?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](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fdotnet-design-pattern-review.prompt.md) | | [Entity Framework Core Best Practices](prompts/ef-core.prompt.md) | Get best practices for Entity Framework Core | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fef-core.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fef-core.prompt.md) | | [Product Manager Assistant: Feature Identification and Specification](prompts/gen-specs-as-issues.prompt.md) | This workflow guides you through a systematic approach to identify missing features, prioritize them, and create detailed specifications for implementation. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fgen-specs-as-issues.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fgen-specs-as-issues.prompt.md) | | [Javascript Typescript Jest](prompts/javascript-typescript-jest.prompt.md) | Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?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](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjavascript-typescript-jest.prompt.md) | @@ -71,6 +81,14 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [My Issues](prompts/my-issues.prompt.md) | List my issues in the current repository | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-issues.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-issues.prompt.md) | | [My Pull Requests](prompts/my-pull-requests.prompt.md) | List my pull requests in the current repository | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) | | [Next Intl Add Language](prompts/next-intl-add-language.prompt.md) | Add new language to a Next.js + next-intl application | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) | +| [Suggest Awesome GitHub Copilot Chatmodes](prompts/suggest-awesome-github-copilot-chatmodes.prompt.md) | Suggest relevant GitHub Copilot chatmode files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing chatmodes in this repository. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsuggest-awesome-github-copilot-chatmodes.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsuggest-awesome-github-copilot-chatmodes.prompt.md) | +| [Suggest Awesome GitHub Copilot Prompts](prompts/suggest-awesome-github-copilot-prompts.prompt.md) | Suggest relevant GitHub Copilot prompt files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing prompts in this repository. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsuggest-awesome-github-copilot-prompts.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsuggest-awesome-github-copilot-prompts.prompt.md) | +| [Update Azure Verified Modules in Bicep Files](prompts/update-avm-modules-in-bicep.prompt.md) | Update Azure Verified Modules (AVM) to latest versions in Bicep files. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-avm-modules-in-bicep.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-avm-modules-in-bicep.prompt.md) | +| [Update Implementation Plan](prompts/update-implementation-plan.prompt.md) | Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md) | +| [Update LLMs.txt File](prompts/update-llms.prompt.md) | Update the llms.txt file in the root folder to reflect changes in documentation or specifications following the llms.txt specification at https://llmstxt.org/ | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-llms.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-llms.prompt.md) | +| [Update Markdown File Index](prompts/update-markdown-file-index.prompt.md) | Update a markdown file section with an index/table of files from a specified folder. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-markdown-file-index.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-markdown-file-index.prompt.md) | +| [Update Standard OO Component Documentation](prompts/update-oo-component-documentation.prompt.md) | Update existing object-oriented component documentation following industry best practices and architectural documentation standards. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-oo-component-documentation.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-oo-component-documentation.prompt.md) | +| [Update Specification](prompts/update-specification.prompt.md) | Update an existing specification file for the solution, optimized for Generative AI consumption based on new requirements or updates to any existing code. | [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-specification.prompt.md) [![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-specification.prompt.md) | > 💡 **Usage**: Use `/prompt-name` in VS Code chat, run `Chat: Run Prompt` command, or hit the run button while you have a prompt open. diff --git a/prompts/create-architectural-decision-record.prompt.md b/prompts/create-architectural-decision-record.prompt.md new file mode 100644 index 0000000..a5488a3 --- /dev/null +++ b/prompts/create-architectural-decision-record.prompt.md @@ -0,0 +1,97 @@ +--- +mode: 'agent' +description: 'Create an Architectural Decision Record (ADR) document for AI-optimized decision documentation.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Create Architectural Decision Record + +Create an ADR document for `${input:DecisionTitle}` using structured formatting optimized for AI consumption and human readability. + +## Inputs + +- **Context**: `${input:Context}` +- **Decision**: `${input:Decision}` +- **Alternatives**: `${input:Alternatives}` +- **Stakeholders**: `${input:Stakeholders}` + +## Input Validation +If any of the required inputs are not provided or cannot be determined from the conversation history, ask the user to provide the missing information before proceeding with ADR generation. + +## Requirements + +- Use precise, unambiguous language +- Follow standardized ADR format with front matter +- Include both positive and negative consequences +- Document alternatives with rejection rationale +- Structure for machine parsing and human reference +- Use coded bullet points (3-4 letter codes + 3-digit numbers) for multi-item sections + +The ADR must be saved in the `/docs/adr/` directory using the naming convention: `adr-NNNN-[title-slug].md`, where NNNN is the next sequential 4-digit number (e.g., `adr-0001-database-selection.md`). + +## Required Documentation Structure + +The documentation file must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following: + +```md +--- +title: "ADR-NNNN: [Decision Title]" +status: "Proposed" +date: "YYYY-MM-DD" +authors: "[Stakeholder Names/Roles]" +tags: ["architecture", "decision"] +supersedes: "" +superseded_by: "" +--- + +# ADR-NNNN: [Decision Title] + +## Status + +**Proposed** | Accepted | Rejected | Superseded | Deprecated + +## Context + +[Problem statement, technical constraints, business requirements, and environmental factors requiring this decision.] + +## Decision + +[Chosen solution with clear rationale for selection.] + +## Consequences + +### Positive + +- **POS-001**: [Beneficial outcomes and advantages] +- **POS-002**: [Performance, maintainability, scalability improvements] +- **POS-003**: [Alignment with architectural principles] + +### Negative + +- **NEG-001**: [Trade-offs, limitations, drawbacks] +- **NEG-002**: [Technical debt or complexity introduced] +- **NEG-003**: [Risks and future challenges] + +## Alternatives Considered + +### [Alternative 1 Name] + +- **ALT-001**: **Description**: [Brief technical description] +- **ALT-002**: **Rejection Reason**: [Why this option was not selected] + +### [Alternative 2 Name] + +- **ALT-003**: **Description**: [Brief technical description] +- **ALT-004**: **Rejection Reason**: [Why this option was not selected] + +## Implementation Notes + +- **IMP-001**: [Key implementation considerations] +- **IMP-002**: [Migration or rollout strategy if applicable] +- **IMP-003**: [Monitoring and success criteria] + +## References + +- **REF-001**: [Related ADRs] +- **REF-002**: [External documentation] +- **REF-003**: [Standards or frameworks referenced] +``` diff --git a/prompts/create-github-issue-feature-from-specification.prompt.md b/prompts/create-github-issue-feature-from-specification.prompt.md new file mode 100644 index 0000000..15bf930 --- /dev/null +++ b/prompts/create-github-issue-feature-from-specification.prompt.md @@ -0,0 +1,28 @@ +--- +mode: 'agent' +description: 'Create GitHub Issue for feature request from specification file using feature_request.yml template.' +tools: ['codebase', 'search', 'github', 'create_issue', 'search_issues', 'update_issue'] +--- +# Create GitHub Issue from Specification + +Create GitHub Issue for the specification at `${file}`. + +## Process + +1. Analyze specification file to extract requirements +2. Check existing issues using `search_issues` +3. Create new issue using `create_issue` or update existing with `update_issue` +4. Use `feature_request.yml` template (fallback to default) + +## Requirements + +- Single issue for the complete specification +- Clear title identifying the specification +- Include only changes required by the specification +- Verify against existing issues before creation + +## Issue Content + +- Title: Feature name from specification +- Description: Problem statement, proposed solution, and context +- Labels: feature, enhancement (as appropriate) diff --git a/prompts/create-github-issues-feature-from-implementation-plan.prompt.md b/prompts/create-github-issues-feature-from-implementation-plan.prompt.md new file mode 100644 index 0000000..567d17d --- /dev/null +++ b/prompts/create-github-issues-feature-from-implementation-plan.prompt.md @@ -0,0 +1,28 @@ +--- +mode: 'agent' +description: 'Create GitHub Issues from implementation plan phases using feature_request.yml or chore_request.yml templates.' +tools: ['codebase', 'search', 'github', 'create_issue', 'search_issues', 'update_issue'] +--- +# Create GitHub Issue from Implementation Plan + +Create GitHub Issues for the implementation plan at `${file}`. + +## Process + +1. Analyze plan file to identify phases +2. Check existing issues using `search_issues` +3. Create new issue per phase using `create_issue` or update existing with `update_issue` +4. Use `feature_request.yml` or `chore_request.yml` templates (fallback to default) + +## Requirements + +- One issue per implementation phase +- Clear, structured titles and descriptions +- Include only changes required by the plan +- Verify against existing issues before creation + +## Issue Content + +- Title: Phase name from implementation plan +- Description: Phase details, requirements, and context +- Labels: Appropriate for issue type (feature/chore) diff --git a/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md b/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md new file mode 100644 index 0000000..e81cb03 --- /dev/null +++ b/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md @@ -0,0 +1,35 @@ +--- +mode: 'agent' +description: 'Create GitHub Issues for unimplemented requirements from specification files using feature_request.yml template.' +tools: ['codebase', 'search', 'github', 'create_issue', 'search_issues', 'update_issue'] +--- +# Create GitHub Issues for Unmet Specification Requirements + +Create GitHub Issues for unimplemented requirements in the specification at `${file}`. + +## Process + +1. Analyze specification file to extract all requirements +2. Check codebase implementation status for each requirement +3. Search existing issues using `search_issues` to avoid duplicates +4. Create new issue per unimplemented requirement using `create_issue` +5. Use `feature_request.yml` template (fallback to default) + +## Requirements + +- One issue per unimplemented requirement from specification +- Clear requirement ID and description mapping +- Include implementation guidance and acceptance criteria +- Verify against existing issues before creation + +## Issue Content + +- Title: Requirement ID and brief description +- Description: Detailed requirement, implementation method, and context +- Labels: feature, enhancement (as appropriate) + +## Implementation Check + +- Search codebase for related code patterns +- Check related specification files in `/spec/` directory +- Verify requirement isn't partially implemented diff --git a/prompts/create-implementation-plan.prompt.md b/prompts/create-implementation-plan.prompt.md new file mode 100644 index 0000000..8d5ae40 --- /dev/null +++ b/prompts/create-implementation-plan.prompt.md @@ -0,0 +1,146 @@ +--- +mode: 'agent' +description: 'Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Create Implementation Plan + +## Primary Directive +Your goal is to create a new implementation plan file for `${input:PlanPurpose}`. Your output must be machine-readable, deterministic, and structured for autonomous execution by other AI systems or humans. + +## Execution Context +This prompt is designed for AI-to-AI communication and automated processing. All instructions must be interpreted literally and executed systematically without human interpretation or clarification. + +## Core Requirements + +- Generate implementation plans that are fully executable by AI agents or humans +- Use deterministic language with zero ambiguity +- Structure all content for automated parsing and execution +- Ensure complete self-containment with no external dependencies for understanding + +## Plan Structure Requirements +Plans must consist of discrete, atomic phases containing executable tasks. Each phase must be independently processable by AI agents or humans without cross-phase dependencies unless explicitly declared. + +## Phase Architecture + +- Each phase must have measurable completion criteria +- Tasks within phases must be executable in parallel unless dependencies are specified +- All task descriptions must include specific file paths, function names, and exact implementation details +- No task should require human interpretation or decision-making + +## AI-Optimized Implementation Standards + +- Use explicit, unambiguous language with zero interpretation required +- Structure all content as machine-parseable formats (tables, lists, structured data) +- Include specific file paths, line numbers, and exact code references where applicable +- Define all variables, constants, and configuration values explicitly +- Provide complete context within each task description +- Use standardized prefixes for all identifiers (REQ-, TASK-, etc.) +- Include validation criteria that can be automatically verified + +## Output File Specifications + +- Save implementation plan files in `/plan/` directory +- Use naming convention: `[purpose]-[component]-[version].md` +- Purpose prefixes: `upgrade|refactor|feature|data|infrastructure|process|architecture|design` +- Example: `upgrade-system-command-4.md`, `feature-auth-module-1.md` +- File must be valid Markdown with proper front matter structure + +## Mandatory Template Structure +All implementation plans must strictly adhere to the following template. Each section is required and must be populated with specific, actionable content. AI agents must validate template compliance before execution. + +## Template Validation Rules + +- All front matter fields must be present and properly formatted +- All section headers must match exactly (case-sensitive) +- All identifier prefixes must follow the specified format +- Tables must include all required columns +- No placeholder text may remain in the final output + +```md +--- +goal: [Concise Title Describing the Package Implementation Plan's Goal] +version: [Optional: e.g., 1.0, Date] +date_created: [YYYY-MM-DD] +last_updated: [Optional: YYYY-MM-DD] +owner: [Optional: Team/Individual responsible for this spec] +tags: [Optional: List of relevant tags or categories, e.g., `feature`, `upgrade`, `chore`, `architecture`, `migration`, `bug` etc] +--- + +# Introduction + +[A short concise introduction to the plan and the goal it is intended to achieve.] + +## 1. Requirements & Constraints + +[Explicitly list all requirements & constraints that affect the plan and constrain how it is implemented. Use bullet points or tables for clarity.] + +- **REQ-001**: Requirement 1 +- **SEC-001**: Security Requirement 1 +- **[3 LETTERS]-001**: Other Requirement 1 +- **CON-001**: Constraint 1 +- **GUD-001**: Guideline 1 +- **PAT-001**: Pattern to follow 1 + +## 2. Implementation Steps + +### Implementation Phase 1 + +- GOAL-001: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.] + +| Task | Description | Completed | Date | +|------|-------------|-----------|------| +| TASK-001 | Description of task 1 | ✅ | 2025-04-25 | +| TASK-002 | Description of task 2 | | | +| TASK-003 | Description of task 3 | | | + +### Implementation Phase 2 + +- GOAL-002: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.] + +| Task | Description | Completed | Date | +|------|-------------|-----------|------| +| TASK-004 | Description of task 4 | | | +| TASK-005 | Description of task 5 | | | +| TASK-006 | Description of task 6 | | | + +## 3. Alternatives + +[A bullet point list of any alternative approaches that were considered and why they were not chosen. This helps to provide context and rationale for the chosen approach.] + +- **ALT-001**: Alternative approach 1 +- **ALT-002**: Alternative approach 2 + +## 4. Dependencies + +[List any dependencies that need to be addressed, such as libraries, frameworks, or other components that the plan relies on.] + +- **DEP-001**: Dependency 1 +- **DEP-002**: Dependency 2 + +## 5. Files + +[List the files that will be affected by the feature or refactoring task.] + +- **FILE-001**: Description of file 1 +- **FILE-002**: Description of file 2 + +## 6. Testing + +[List the tests that need to be implemented to verify the feature or refactoring task.] + +- **TEST-001**: Description of test 1 +- **TEST-002**: Description of test 2 + +## 7. Risks & Assumptions + +[List any risks or assumptions related to the implementation of the plan.] + +- **RISK-001**: Risk 1 +- **ASSUMPTION-001**: Assumption 1 + +## 8. Related Specifications / Further Reading + +[Link to related spec 1] +[Link to relevant external documentation] +``` diff --git a/prompts/create-llms.prompt.md b/prompts/create-llms.prompt.md new file mode 100644 index 0000000..4534eea --- /dev/null +++ b/prompts/create-llms.prompt.md @@ -0,0 +1,210 @@ +--- +mode: 'agent' +description: 'Create an llms.txt file from scratch based on repository structure following the llms.txt specification at https://llmstxt.org/' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Create LLMs.txt File from Repository Structure + +Create a new `llms.txt` file from scratch in the root of the repository following the official llms.txt specification at https://llmstxt.org/. This file provides high-level guidance to large language models (LLMs) on where to find relevant content for understanding the repository's purpose and specifications. + +## Primary Directive + +Create a comprehensive `llms.txt` file that serves as an entry point for LLMs to understand and navigate the repository effectively. The file must comply with the llms.txt specification and be optimized for LLM consumption while remaining human-readable. + +## Analysis and Planning Phase + +Before creating the `llms.txt` file, you must complete a thorough analysis: + +### Step 1: Review llms.txt Specification + +- Review the official specification at https://llmstxt.org/ to ensure full compliance +- Understand the required format structure and guidelines +- Note the specific markdown structure requirements + +### Step 2: Repository Structure Analysis + +- Examine the complete repository structure using appropriate tools +- Identify the primary purpose and scope of the repository +- Catalog all important directories and their purposes +- List key files that would be valuable for LLM understanding + +### Step 3: Content Discovery + +- Identify README files and their locations +- Find documentation files (`.md` files in `/docs/`, `/spec/`, etc.) +- Locate specification files and their purposes +- Discover configuration files and their relevance +- Find example files and code samples +- Identify any existing documentation structure + +### Step 4: Create Implementation Plan + +Based on your analysis, create a structured plan that includes: + +- Repository purpose and scope summary +- Priority-ordered list of essential files for LLM understanding +- Secondary files that provide additional context +- Organizational structure for the llms.txt file + +## Implementation Requirements + +### Format Compliance + +The `llms.txt` file must follow this exact structure per the specification: + +1. **H1 Header**: Single line with repository/project name (required) +2. **Blockquote Summary**: Brief description in blockquote format (optional but recommended) +3. **Additional Details**: Zero or more markdown sections without headings for context +4. **File List Sections**: Zero or more H2 sections containing markdown lists of links + +### Content Requirements + +#### Required Elements + +- **Project Name**: Clear, descriptive title as H1 +- **Summary**: Concise blockquote explaining the repository's purpose +- **Key Files**: Essential files organized by category (H2 sections) + +#### File Link Format + +Each file link must follow: `[descriptive-name](relative-url): optional description` + +#### Section Organization + +Organize files into logical H2 sections such as: + +- **Documentation**: Core documentation files +- **Specifications**: Technical specifications and requirements +- **Examples**: Sample code and usage examples +- **Configuration**: Setup and configuration files +- **Optional**: Secondary files (special meaning - can be skipped for shorter context) + +### Content Guidelines + +#### Language and Style + +- Use concise, clear, unambiguous language +- Avoid jargon without explanation +- Write for both human and LLM readers +- Be specific and informative in descriptions + +#### File Selection Criteria + +Include files that: +- Explain the repository's purpose and scope +- Provide essential technical documentation +- Show usage examples and patterns +- Define interfaces and specifications +- Contain configuration and setup instructions + +Exclude files that: +- Are purely implementation details +- Contain redundant information +- Are build artifacts or generated content +- Are not relevant to understanding the project + +## Execution Steps + +### Step 1: Repository Analysis + +1. Examine the repository structure completely +2. Read the main README.md to understand the project +3. Identify all documentation directories and files +4. Catalog specification files and their purposes +5. Find example files and configuration files + +### Step 2: Content Planning + +1. Determine the primary purpose statement +2. Write a concise summary for the blockquote +3. Group identified files into logical categories +4. Prioritize files by importance for LLM understanding +5. Create descriptions for each file link + +### Step 3: File Creation + +1. Create the `llms.txt` file in the repository root +2. Follow the exact format specification +3. Include all required sections +4. Use proper markdown formatting +5. Ensure all links are valid relative paths + +### Step 4: Validation +1. Verify compliance with https://llmstxt.org/ specification +2. Check that all links are valid and accessible +3. Ensure the file serves as an effective LLM navigation tool +4. Confirm the file is both human and machine readable + +## Quality Assurance + +### Format Validation + +- ✅ H1 header with project name +- ✅ Blockquote summary (if included) +- ✅ H2 sections for file lists +- ✅ Proper markdown link format +- ✅ No broken or invalid links +- ✅ Consistent formatting throughout + +### Content Validation + +- ✅ Clear, unambiguous language +- ✅ Comprehensive coverage of essential files +- ✅ Logical organization of content +- ✅ Appropriate file descriptions +- ✅ Serves as effective LLM navigation tool + +### Specification Compliance + +- ✅ Follows https://llmstxt.org/ format exactly +- ✅ Uses required markdown structure +- ✅ Implements optional sections appropriately +- ✅ File located at repository root (`/llms.txt`) + +## Example Structure Template + +```txt +# [Repository Name] + +> [Concise description of the repository's purpose and scope] + +[Optional additional context paragraphs without headings] + +## Documentation + +- [Main README](README.md): Primary project documentation and getting started guide +- [Contributing Guide](CONTRIBUTING.md): Guidelines for contributing to the project +- [Code of Conduct](CODE_OF_CONDUCT.md): Community guidelines and expectations + +## Specifications + +- [Technical Specification](spec/technical-spec.md): Detailed technical requirements and constraints +- [API Specification](spec/api-spec.md): Interface definitions and data contracts + +## Examples + +- [Basic Example](examples/basic-usage.md): Simple usage demonstration +- [Advanced Example](examples/advanced-usage.md): Complex implementation patterns + +## Configuration + +- [Setup Guide](docs/setup.md): Installation and configuration instructions +- [Deployment Guide](docs/deployment.md): Production deployment guidelines + +## Optional + +- [Architecture Documentation](docs/architecture.md): Detailed system architecture +- [Design Decisions](docs/decisions.md): Historical design decision records +``` + +## Success Criteria + +The created `llms.txt` file should: +1. Enable LLMs to quickly understand the repository's purpose +2. Provide clear navigation to essential documentation +3. Follow the official llms.txt specification exactly +4. Be comprehensive yet concise +5. Serve both human and machine readers effectively +6. Include all critical files for project understanding +7. Use clear, unambiguous language throughout +8. Organize content logically for easy consumption diff --git a/prompts/create-oo-component-documentation.prompt.md b/prompts/create-oo-component-documentation.prompt.md new file mode 100644 index 0000000..aed7b63 --- /dev/null +++ b/prompts/create-oo-component-documentation.prompt.md @@ -0,0 +1,193 @@ +--- +mode: 'agent' +description: 'Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Generate Standard OO Component Documentation + +Create comprehensive documentation for the object-oriented component(s) at: `${input:ComponentPath}`. + +Analyze the component by examining code in the provided path. If folder, analyze all source files. If single file, treat as main component and analyze related files in same directory. + +## Documentation Standards + +- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code) +- DOC-002: Align with Arc42 software architecture documentation template +- DOC-003: Comply with IEEE 1016 Software Design Description standard +- DOC-004: Use Agile Documentation principles (just enough documentation that adds value) +- DOC-005: Target developers and maintainers as primary audience + +## Analysis Instructions + +- ANA-001: Determine path type (folder vs single file) and identify primary component +- ANA-002: Examine source code files for class structures and inheritance +- ANA-003: Identify design patterns and architectural decisions +- ANA-004: Document public APIs, interfaces, and dependencies +- ANA-005: Recognize creational/structural/behavioral patterns +- ANA-006: Document method parameters, return values, exceptions +- ANA-007: Assess performance, security, reliability, maintainability +- ANA-008: Infer integration patterns and data flow + +## Language-Specific Optimizations + +- LNG-001: **C#/.NET** - async/await, dependency injection, configuration, disposal +- LNG-002: **Java** - Spring framework, annotations, exception handling, packaging +- LNG-003: **TypeScript/JavaScript** - modules, async patterns, types, npm +- LNG-004: **Python** - packages, virtual environments, type hints, testing + +## Error Handling + +- ERR-001: Path doesn't exist - provide correct format guidance +- ERR-002: No source files found - suggest alternative locations +- ERR-003: Unclear structure - document findings and request clarification +- ERR-004: Non-standard patterns - document custom approaches +- ERR-005: Insufficient code - focus on available information, highlight gaps + +## Output Format + +Generate well-structured Markdown with clear heading hierarchy, code blocks, tables, bullet points, and proper formatting for readability and maintainability. + +## File Location + +The documentation should be saved in the `/docs/components/` directory and named according to the convention: `[component-name]-documentation.md`. + +## Required Documentation Structure + +The documentation file must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following: + +```md +--- +title: [Component Name] - Technical Documentation +component_path: `${input:ComponentPath}` +version: [Optional: e.g., 1.0, Date] +date_created: [YYYY-MM-DD] +last_updated: [Optional: YYYY-MM-DD] +owner: [Optional: Team/Individual responsible for this component] +tags: [Optional: List of relevant tags or categories, e.g., `component`,`service`,`tool`,`infrastructure`,`documentation`,`architecture` etc] +--- + +# [Component Name] Documentation + +[A short concise introduction to the component and its purpose within the system.] + +## 1. Component Overview + +### Purpose/Responsibility +- OVR-001: State component's primary responsibility +- OVR-002: Define scope (included/excluded functionality) +- OVR-003: Describe system context and relationships + +## 2. Architecture Section + +- ARC-001: Document design patterns used (Repository, Factory, Observer, etc.) +- ARC-002: List internal and external dependencies with purposes +- ARC-003: Document component interactions and relationships +- ARC-004: Include visual diagrams (UML class, sequence, component) +- ARC-005: Create mermaid diagram showing component structure, relationships, and dependencies + +### Component Structure and Dependencies Diagram + +Include a comprehensive mermaid diagram that shows: +- **Component structure** - Main classes, interfaces, and their relationships +- **Internal dependencies** - How components interact within the system +- **External dependencies** - External libraries, services, databases, APIs +- **Data flow** - Direction of dependencies and interactions +- **Inheritance/composition** - Class hierarchies and composition relationships + +```mermaid +graph TD + subgraph "Component System" + A[Main Component] --> B[Internal Service] + A --> C[Internal Repository] + B --> D[Business Logic] + C --> E[Data Access Layer] + end + + subgraph "External Dependencies" + F[External API] + G[Database] + H[Third-party Library] + I[Configuration Service] + end + + A --> F + E --> G + B --> H + A --> I + + classDiagram + class MainComponent { + +property: Type + +method(): ReturnType + +asyncMethod(): Promise~Type~ + } + class InternalService { + +businessOperation(): Result + } + class ExternalAPI { + <> + +apiCall(): Data + } + + MainComponent --> InternalService + MainComponent --> ExternalAPI +``` + +## 3. Interface Documentation + +- INT-001: Document all public interfaces and usage patterns +- INT-002: Create method/property reference table +- INT-003: Document events/callbacks/notification mechanisms + +| Method/Property | Purpose | Parameters | Return Type | Usage Notes | +|-----------------|---------|------------|-------------|-------------| +| [Name] | [Purpose] | [Parameters] | [Type] | [Notes] | + +## 4. Implementation Details + +- IMP-001: Document main implementation classes and responsibilities +- IMP-002: Describe configuration requirements and initialization +- IMP-003: Document key algorithms and business logic +- IMP-004: Note performance characteristics and bottlenecks + +## 5. Usage Examples + +### Basic Usage + +```csharp +// Basic usage example +var component = new ComponentName(); +component.DoSomething(); +``` + +### Advanced Usage + +```csharp +// Advanced configuration patterns +var options = new ComponentOptions(); +var component = ComponentFactory.Create(options); +await component.ProcessAsync(data); +``` + +- USE-001: Provide basic usage examples +- USE-002: Show advanced configuration patterns +- USE-003: Document best practices and recommended patterns + +## 6. Quality Attributes + +- QUA-001: Security (authentication, authorization, data protection) +- QUA-002: Performance (characteristics, scalability, resource usage) +- QUA-003: Reliability (error handling, fault tolerance, recovery) +- QUA-004: Maintainability (standards, testing, documentation) +- QUA-005: Extensibility (extension points, customization options) + +## 7. Reference Information + +- REF-001: List dependencies with versions and purposes +- REF-002: Complete configuration options reference +- REF-003: Testing guidelines and mock setup +- REF-004: Troubleshooting (common issues, error messages) +- REF-005: Related documentation links +- REF-006: Change history and migration notes + +``` diff --git a/prompts/create-specification.prompt.md b/prompts/create-specification.prompt.md new file mode 100644 index 0000000..09c6bd7 --- /dev/null +++ b/prompts/create-specification.prompt.md @@ -0,0 +1,127 @@ +--- +mode: 'agent' +description: 'Create a new specification file for the solution, optimized for Generative AI consumption.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Create Specification + +Your goal is to create a new specification file for `${input:SpecPurpose}`. + +The specification file must define the requirements, constraints, and interfaces for the solution components in a manner that is clear, unambiguous, and structured for effective use by Generative AIs. Follow established documentation standards and ensure the content is machine-readable and self-contained. + +## Best Practices for AI-Ready Specifications + +- Use precise, explicit, and unambiguous language. +- Clearly distinguish between requirements, constraints, and recommendations. +- Use structured formatting (headings, lists, tables) for easy parsing. +- Avoid idioms, metaphors, or context-dependent references. +- Define all acronyms and domain-specific terms. +- Include examples and edge cases where applicable. +- Ensure the document is self-contained and does not rely on external context. + +The specification should be saved in the [/spec/](/spec/) directory and named according to the following convention: `spec-[a-z0-9-]+.md`, where the name should be descriptive of the specification's content and starting with the highlevel purpose, which is one of [schema, tool, data, infrastructure, process, architecture, or design]. + +The specification file must be formatted in well formed Markdown. + +Specification files must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following: + +```md +--- +title: [Concise Title Describing the Specification's Focus] +version: [Optional: e.g., 1.0, Date] +date_created: [YYYY-MM-DD] +last_updated: [Optional: YYYY-MM-DD] +owner: [Optional: Team/Individual responsible for this spec] +tags: [Optional: List of relevant tags or categories, e.g., `infrastructure`, `process`, `design`, `app` etc] +--- + +# Introduction + +[A short concise introduction to the specification and the goal it is intended to achieve.] + +## 1. Purpose & Scope + +[Provide a clear, concise description of the specification's purpose and the scope of its application. State the intended audience and any assumptions.] + +## 2. Definitions + +[List and define all acronyms, abbreviations, and domain-specific terms used in this specification.] + +## 3. Requirements, Constraints & Guidelines + +[Explicitly list all requirements, constraints, rules, and guidelines. Use bullet points or tables for clarity.] + +- **REQ-001**: Requirement 1 +- **SEC-001**: Security Requirement 1 +- **[3 LETTERS]-001**: Other Requirement 1 +- **CON-001**: Constraint 1 +- **GUD-001**: Guideline 1 +- **PAT-001**: Pattern to follow 1 + +## 4. Interfaces & Data Contracts + +[Describe the interfaces, APIs, data contracts, or integration points. Use tables or code blocks for schemas and examples.] + +## 5. Acceptance Criteria + +[Define clear, testable acceptance criteria for each requirement using Given-When-Then format where appropriate.] + +- **AC-001**: Given [context], When [action], Then [expected outcome] +- **AC-002**: The system shall [specific behavior] when [condition] +- **AC-003**: [Additional acceptance criteria as needed] + +## 6. Test Automation Strategy + +[Define the testing approach, frameworks, and automation requirements.] + +- **Test Levels**: Unit, Integration, End-to-End +- **Frameworks**: MSTest, FluentAssertions, Moq (for .NET applications) +- **Test Data Management**: [approach for test data creation and cleanup] +- **CI/CD Integration**: [automated testing in GitHub Actions pipelines] +- **Coverage Requirements**: [minimum code coverage thresholds] +- **Performance Testing**: [approach for load and performance testing] + +## 7. Rationale & Context + +[Explain the reasoning behind the requirements, constraints, and guidelines. Provide context for design decisions.] + +## 8. Dependencies & External Integrations + +[Define the external systems, services, and architectural dependencies required for this specification. Focus on **what** is needed rather than **how** it's implemented. Avoid specific package or library versions unless they represent architectural constraints.] + +### External Systems +- **EXT-001**: [External system name] - [Purpose and integration type] + +### Third-Party Services +- **SVC-001**: [Service name] - [Required capabilities and SLA requirements] + +### Infrastructure Dependencies +- **INF-001**: [Infrastructure component] - [Requirements and constraints] + +### Data Dependencies +- **DAT-001**: [External data source] - [Format, frequency, and access requirements] + +### Technology Platform Dependencies +- **PLT-001**: [Platform/runtime requirement] - [Version constraints and rationale] + +### Compliance Dependencies +- **COM-001**: [Regulatory or compliance requirement] - [Impact on implementation] + +**Note**: This section should focus on architectural and business dependencies, not specific package implementations. For example, specify "OAuth 2.0 authentication library" rather than "Microsoft.AspNetCore.Authentication.JwtBearer v6.0.1". + +## 9. Examples & Edge Cases + +```code +// Code snippet or data example demonstrating the correct application of the guidelines, including edge cases +``` + +## 10. Validation Criteria + +[List the criteria or tests that must be satisfied for compliance with this specification.] + +## 11. Related Specifications / Further Reading + +[Link to related spec 1] +[Link to relevant external documentation] + +``` diff --git a/prompts/dotnet-best-practices.prompt.md b/prompts/dotnet-best-practices.prompt.md new file mode 100644 index 0000000..36e5cf2 --- /dev/null +++ b/prompts/dotnet-best-practices.prompt.md @@ -0,0 +1,84 @@ +--- +mode: 'agent' +description: 'Ensure .NET/C# code meets best practices for the solution/project.' +--- +# .NET/C# Best Practices + +Your task is to ensure .NET/C# code in ${selection} meets the best practices specific to this solution/project. This includes: + +## Documentation & Structure + +- Create comprehensive XML documentation comments for all public classes, interfaces, methods, and properties +- Include parameter descriptions and return value descriptions in XML comments +- Follow the established namespace structure: {Core|Console|App|Service}.{Feature} + +## Design Patterns & Architecture + +- Use primary constructor syntax for dependency injection (e.g., `public class MyClass(IDependency dependency)`) +- Implement the Command Handler pattern with generic base classes (e.g., `CommandHandler`) +- Use interface segregation with clear naming conventions (prefix interfaces with 'I') +- Follow the Factory pattern for complex object creation. + +## Dependency Injection & Services + +- Use constructor dependency injection with null checks via ArgumentNullException +- Register services with appropriate lifetimes (Singleton, Scoped, Transient) +- Use Microsoft.Extensions.DependencyInjection patterns +- Implement service interfaces for testability + +## Resource Management & Localization + +- Use ResourceManager for localized messages and error strings +- Separate LogMessages and ErrorMessages resource files +- Access resources via `_resourceManager.GetString("MessageKey")` + +## Async/Await Patterns + +- Use async/await for all I/O operations and long-running tasks +- Return Task or Task from async methods +- Use ConfigureAwait(false) where appropriate +- Handle async exceptions properly + +## Testing Standards + +- Use MSTest framework with FluentAssertions for assertions +- Follow AAA pattern (Arrange, Act, Assert) +- Use Moq for mocking dependencies +- Test both success and failure scenarios +- Include null parameter validation tests + +## Configuration & Settings + +- Use strongly-typed configuration classes with data annotations +- Implement validation attributes (Required, NotEmptyOrWhitespace) +- Use IConfiguration binding for settings +- Support appsettings.json configuration files + +## Semantic Kernel & AI Integration + +- Use Microsoft.SemanticKernel for AI operations +- Implement proper kernel configuration and service registration +- Handle AI model settings (ChatCompletion, Embedding, etc.) +- Use structured output patterns for reliable AI responses + +## Error Handling & Logging + +- Use structured logging with Microsoft.Extensions.Logging +- Include scoped logging with meaningful context +- Throw specific exceptions with descriptive messages +- Use try-catch blocks for expected failure scenarios + +## Performance & Security + +- Use C# 12+ features and .NET 8 optimizations where applicable +- Implement proper input validation and sanitization +- Use parameterized queries for database operations +- Follow secure coding practices for AI/ML operations + +## Code Quality + +- Ensure SOLID principles compliance +- Avoid code duplication through base classes and utilities +- Use meaningful names that reflect domain concepts +- Keep methods focused and cohesive +- Implement proper disposal patterns for resources diff --git a/prompts/dotnet-design-pattern-review.prompt.md b/prompts/dotnet-design-pattern-review.prompt.md new file mode 100644 index 0000000..f154da7 --- /dev/null +++ b/prompts/dotnet-design-pattern-review.prompt.md @@ -0,0 +1,41 @@ +--- +mode: 'agent' +description: 'Review the C#/.NET code for design pattern implementation and suggest improvements.' +--- +# .NET/C# Design Pattern Review + +Review the C#/.NET code in ${selection} for design pattern implementation and suggest improvements for the solution/project. Do not make any changes to the code, just provide a review. + +## Required Design Patterns + +- **Command Pattern**: Generic base classes (`CommandHandler`), `ICommandHandler` interface, `CommandHandlerOptions` inheritance, static `SetupCommand(IHost host)` methods +- **Factory Pattern**: Complex object creation service provider integration +- **Dependency Injection**: Primary constructor syntax, `ArgumentNullException` null checks, interface abstractions, proper service lifetimes +- **Repository Pattern**: Async data access interfaces provider abstractions for connections +- **Provider Pattern**: External service abstractions (database, AI), clear contracts, configuration handling +- **Resource Pattern**: ResourceManager for localized messages, separate .resx files (LogMessages, ErrorMessages) + +## Review Checklist + +- **Design Patterns**: Identify patterns used. Are Command Handler, Factory, Provider, and Repository patterns correctly implemented? Missing beneficial patterns? +- **Architecture**: Follow namespace conventions (`{Core|Console|App|Service}.{Feature}`)? Proper separation between Core/Console projects? Modular and readable? +- **.NET Best Practices**: Primary constructors, async/await with Task returns, ResourceManager usage, structured logging, strongly-typed configuration? +- **GoF Patterns**: Command, Factory, Template Method, Strategy patterns correctly implemented? +- **SOLID Principles**: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion violations? +- **Performance**: Proper async/await, resource disposal, ConfigureAwait(false), parallel processing opportunities? +- **Maintainability**: Clear separation of concerns, consistent error handling, proper configuration usage? +- **Testability**: Dependencies abstracted via interfaces, mockable components, async testability, AAA pattern compatibility? +- **Security**: Input validation, secure credential handling, parameterized queries, safe exception handling? +- **Documentation**: XML docs for public APIs, parameter/return descriptions, resource file organization? +- **Code Clarity**: Meaningful names reflecting domain concepts, clear intent through patterns, self-explanatory structure? +- **Clean Code**: Consistent style, appropriate method/class size, minimal complexity, eliminated duplication? + +## Improvement Focus Areas + +- **Command Handlers**: Validation in base class, consistent error handling, proper resource management +- **Factories**: Dependency configuration, service provider integration, disposal patterns +- **Providers**: Connection management, async patterns, exception handling and logging +- **Configuration**: Data annotations, validation attributes, secure sensitive value handling +- **AI/ML Integration**: Semantic Kernel patterns, structured output handling, model configuration + +Provide specific, actionable recommendations for improvements aligned with the project's architecture and .NET best practices. diff --git a/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md b/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md new file mode 100644 index 0000000..10fb88b --- /dev/null +++ b/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md @@ -0,0 +1,70 @@ +--- +mode: 'agent' +description: 'Suggest relevant GitHub Copilot chatmode files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing chatmodes in this repository.' +tools: ['changes', 'codebase', 'editFiles', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] +--- + +# Suggest Awesome GitHub Copilot Chatmodes + +Analyze current repository context and suggest relevant chatmode files from the [GitHub awesome-copilot repository](https://github.com/github/awesome-copilot/tree/main/chatmodes) that are not already available in this repository. + +## Process + +1. **Fetch Available Chatmodes**: Extract chatmode list and descriptions from [awesome-copilot chatmodes folder](https://github.com/github/awesome-copilot/tree/main/chatmodes) +2. **Scan Local Chatmodes**: Discover existing chatmode files in `.github/chatmodes/` folder +3. **Extract Descriptions**: Read front matter from local chatmode files to get descriptions +4. **Analyze Context**: Review chat history, repository files, and current project needs +5. **Compare Existing**: Check against chatmodes already available in this repository +6. **Match Relevance**: Compare available chatmodes against identified patterns and requirements +7. **Present Options**: Display relevant chatmodes with descriptions, rationale, and availability status +8. **Validate**: Ensure suggested chatmodes would add value not already covered by existing chatmodes +9. **Output**: Provide structured table with suggestions, descriptions, and links to both awesome-copilot chatmodes and similar local chatmodes +10. **Next Steps**: If any suggestions are made, provide instructions that GitHub Copilot will be able to follow to add the suggested chatmodes to the repository by downloading the file into the chatmodes directory. Offer to do this automatically if the user confirms. + +## Context Analysis Criteria + +🔍 **Repository Patterns**: +- Programming languages used (.cs, .js, .py, etc.) +- Framework indicators (ASP.NET, React, Azure, etc.) +- Project types (web apps, APIs, libraries, tools) +- Documentation needs (README, specs, ADRs) + +🗨️ **Chat History Context**: +- Recent discussions and pain points +- Feature requests or implementation needs +- Code review patterns +- Development workflow requirements + +## Output Format + +Display analysis results in structured table comparing awesome-copilot chatmodes with existing repository chatmodes: + +| Awesome-Copilot Chatmode | Description | Already Installed | Similar Local Chatmode | Suggestion Rationale | +|---------------------------|-------------|-------------------|-------------------------|---------------------| +| [code-reviewer.chatmode.md](https://github.com/github/awesome-copilot/blob/main/chatmodes/code-reviewer.chatmode.md) | Specialized code review chatmode | ❌ No | None | Would enhance development workflow with dedicated code review assistance | +| [architect.chatmode.md](https://github.com/github/awesome-copilot/blob/main/chatmodes/architect.chatmode.md) | Software architecture guidance | ✅ Yes | azure_principal_architect.chatmode.md | Already covered by existing architecture chatmodes | +| [debugging-expert.chatmode.md](https://github.com/github/awesome-copilot/blob/main/chatmodes/debugging-expert.chatmode.md) | Debug assistance chatmode | ❌ No | None | Could improve troubleshooting efficiency for development team | + +## Local Chatmodes Discovery Process + +1. List all `*.chatmode.md` files in `.github/chatmodes/` directory +2. For each discovered file, read front matter to extract `description` +3. Build comprehensive inventory of existing chatmodes +4. Use this inventory to avoid suggesting duplicates + +## Requirements + +- Use `githubRepo` tool to get content from awesome-copilot repository chatmodes folder +- Scan local file system for existing chatmodes in `.github/chatmodes/` directory +- Read YAML front matter from local chatmode files to extract descriptions +- Compare against existing chatmodes in this repository to avoid duplicates +- Focus on gaps in current chatmode library coverage +- Validate that suggested chatmodes align with repository's purpose and standards +- Provide clear rationale for each suggestion +- Include links to both awesome-copilot chatmodes and similar local chatmodes +- Don't provide any additional information or context beyond the table and the analysis + +## Icons Reference + +- ✅ Already installed in repo +- ❌ Not installed in repo diff --git a/prompts/suggest-awesome-github-copilot-prompts.prompt.md b/prompts/suggest-awesome-github-copilot-prompts.prompt.md new file mode 100644 index 0000000..01a3eb2 --- /dev/null +++ b/prompts/suggest-awesome-github-copilot-prompts.prompt.md @@ -0,0 +1,70 @@ +--- +mode: 'agent' +description: 'Suggest relevant GitHub Copilot prompt files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing prompts in this repository.' +tools: ['changes', 'codebase', 'editFiles', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] +--- +# Suggest Awesome GitHub Copilot Prompts + +Analyze current repository context and suggest relevant prompt files from the [GitHub awesome-copilot repository](https://github.com/github/awesome-copilot/tree/main/prompts) that are not already available in this repository. + +## Process + +1. **Fetch Available Prompts**: Extract prompt list and descriptions from [awesome-copilot README](https://github.com/github/awesome-copilot/blob/main/README.md) +2. **Scan Local Prompts**: Discover existing prompt files in `.github/prompts/` folder +3. **Extract Descriptions**: Read front matter from local prompt files to get descriptions +4. **Analyze Context**: Review chat history, repository files, and current project needs +5. **Compare Existing**: Check against prompts already available in this repository +6. **Match Relevance**: Compare available prompts against identified patterns and requirements +7. **Present Options**: Display relevant prompts with descriptions, rationale, and availability status +8. **Validate**: Ensure suggested prompts would add value not already covered by existing prompts +9. **Output**: Provide structured table with suggestions, descriptions, and links to both awesome-copilot prompts and similar local prompts +10. **Next Steps**: If any suggestions are made, provide instructions that GitHub Copilot will be able to follow to add the suggested prompts to the repository by downloading the file into the prompts directory. Offer to do this automatically if the user confirms. + +## Context Analysis Criteria + +🔍 **Repository Patterns**: +- Programming languages used (.cs, .js, .py, etc.) +- Framework indicators (ASP.NET, React, Azure, etc.) +- Project types (web apps, APIs, libraries, tools) +- Documentation needs (README, specs, ADRs) + +🗨️ **Chat History Context**: +- Recent discussions and pain points +- Feature requests or implementation needs +- Code review patterns +- Development workflow requirements + +## Output Format + +Display analysis results in structured table comparing awesome-copilot prompts with existing repository prompts: + +| Awesome-Copilot Prompt | Description | Already Installed | Similar Local Prompt | Suggestion Rationale | +|-------------------------|-------------|-------------------|---------------------|---------------------| +| [code-review.md](https://github.com/github/awesome-copilot/blob/main/prompts/code-review.md) | Automated code review prompts | ❌ No | None | Would enhance development workflow with standardized code review processes | +| [documentation.md](https://github.com/github/awesome-copilot/blob/main/prompts/documentation.md) | Generate project documentation | ✅ Yes | create_oo_component_documentation.prompt.md | Already covered by existing documentation prompts | +| [debugging.md](https://github.com/github/awesome-copilot/blob/main/prompts/debugging.md) | Debug assistance prompts | ❌ No | None | Could improve troubleshooting efficiency for development team | + +## Local Prompts Discovery Process + +1. List all `*.prompt.md` files directory `.github/prompts/`. +2. For each discovered file, read front matter to extract `description` +3. Build comprehensive inventory of existing prompts +4. Use this inventory to avoid suggesting duplicates + +## Requirements + +- Use `githubRepo` tool to get content from awesome-copilot repository +- Scan local file system for existing prompts in `.github/prompts/` directory +- Read YAML front matter from local prompt files to extract descriptions +- Compare against existing prompts in this repository to avoid duplicates +- Focus on gaps in current prompt library coverage +- Validate that suggested prompts align with repository's purpose and standards +- Provide clear rationale for each suggestion +- Include links to both awesome-copilot prompts and similar local prompts +- Don't provide any additional information or context beyond the table and the analysis + + +## Icons Reference + +- ✅ Already installed in repo +- ❌ Not installed in repo diff --git a/prompts/update-avm-modules-in-bicep.prompt.md b/prompts/update-avm-modules-in-bicep.prompt.md new file mode 100644 index 0000000..3bb4fd2 --- /dev/null +++ b/prompts/update-avm-modules-in-bicep.prompt.md @@ -0,0 +1,48 @@ +--- +mode: 'agent' +description: 'Update Azure Verified Modules (AVM) to latest versions in Bicep files.' +tools: ['changes', 'codebase', 'editFiles', 'fetch', 'runCommands', 'azure_get_deployment_best_practices', 'azure_get_schema_for_Bicep'] +--- +# Update Azure Verified Modules in Bicep Files + +Update Bicep file `${file}` to use latest Azure Verified Module (AVM) versions. + +## Process + +1. **Scan**: Extract AVM modules and current versions from `${file}` +2. **Check**: Fetch latest versions from MCR: `https://mcr.microsoft.com/v2/bicep/avm/res/{service}/{resource}/tags/list` +3. **Compare**: Parse semantic versions to identify updates +4. **Review**: For breaking changes, fetch docs from: `https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/{service}/{resource}` +5. **Update**: Apply version updates and parameter changes +6. **Validate**: Run `bicep lint` to ensure compliance + +## Breaking Change Policy + +⚠️ **PAUSE for approval** if updates involve: + +- Incompatible parameter changes +- Security/compliance modifications +- Behavioral changes + +## Output Format + +Display results in table with icons: + +| Module | Current | Latest | Status | Action | Docs | +|--------|---------|--------|--------|--------|------| +| avm/res/compute/vm | 0.1.0 | 0.2.0 | 🔄 | Updated | [📖](link) | +| avm/res/storage/account | 0.3.0 | 0.3.0 | ✅ | Current | [📖](link) | + +## Icons + +- 🔄 Updated +- ✅ Current +- ⚠️ Manual review required +- ❌ Failed +- 📖 Documentation + +## Requirements + +- Use MCR tags API only for version discovery +- Parse JSON tags array and sort by semantic versioning +- Maintain Bicep file validity and linting compliance diff --git a/prompts/update-implementation-plan.prompt.md b/prompts/update-implementation-plan.prompt.md new file mode 100644 index 0000000..1eaab38 --- /dev/null +++ b/prompts/update-implementation-plan.prompt.md @@ -0,0 +1,150 @@ +--- +mode: 'agent' +description: 'Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Update Implementation Plan + +## Primary Directive + +You are an AI agent tasked with updating the implementation plan file `${file}` based on new or updated requirements. Your output must be machine-readable, deterministic, and structured for autonomous execution by other AI systems or humans. + +## Execution Context + +This prompt is designed for AI-to-AI communication and automated processing. All instructions must be interpreted literally and executed systematically without human interpretation or clarification. + +## Core Requirements + +- Generate implementation plans that are fully executable by AI agents or humans +- Use deterministic language with zero ambiguity +- Structure all content for automated parsing and execution +- Ensure complete self-containment with no external dependencies for understanding + +## Plan Structure Requirements + +Plans must consist of discrete, atomic phases containing executable tasks. Each phase must be independently processable by AI agents or humans without cross-phase dependencies unless explicitly declared. + +## Phase Architecture + +- Each phase must have measurable completion criteria +- Tasks within phases must be executable in parallel unless dependencies are specified +- All task descriptions must include specific file paths, function names, and exact implementation details +- No task should require human interpretation or decision-making + +## AI-Optimized Implementation Standards + +- Use explicit, unambiguous language with zero interpretation required +- Structure all content as machine-parseable formats (tables, lists, structured data) +- Include specific file paths, line numbers, and exact code references where applicable +- Define all variables, constants, and configuration values explicitly +- Provide complete context within each task description +- Use standardized prefixes for all identifiers (REQ-, TASK-, etc.) +- Include validation criteria that can be automatically verified + +## Output File Specifications + +- Save implementation plan files in `/plan/` directory +- Use naming convention: `[purpose]-[component]-[version].md` +- Purpose prefixes: `upgrade|refactor|feature|data|infrastructure|process|architecture|design` +- Example: `upgrade-system-command-4.md`, `feature-auth-module-1.md` +- File must be valid Markdown with proper front matter structure + +## Mandatory Template Structure + +All implementation plans must strictly adhere to the following template. Each section is required and must be populated with specific, actionable content. AI agents must validate template compliance before execution. + +## Template Validation Rules + +- All front matter fields must be present and properly formatted +- All section headers must match exactly (case-sensitive) +- All identifier prefixes must follow the specified format +- Tables must include all required columns +- No placeholder text may remain in the final output + +```md +--- +goal: [Concise Title Describing the Package Implementation Plan's Goal] +version: [Optional: e.g., 1.0, Date] +date_created: [YYYY-MM-DD] +last_updated: [Optional: YYYY-MM-DD] +owner: [Optional: Team/Individual responsible for this spec] +tags: [Optional: List of relevant tags or categories, e.g., `feature`, `upgrade`, `chore`, `architecture`, `migration`, `bug` etc] +--- + +# Introduction + +[A short concise introduction to the plan and the goal it is intended to achieve.] + +## 1. Requirements & Constraints + +[Explicitly list all requirements & constraints that affect the plan and constrain how it is implemented. Use bullet points or tables for clarity.] + +- **REQ-001**: Requirement 1 +- **SEC-001**: Security Requirement 1 +- **[3 LETTERS]-001**: Other Requirement 1 +- **CON-001**: Constraint 1 +- **GUD-001**: Guideline 1 +- **PAT-001**: Pattern to follow 1 + +## 2. Implementation Steps + +### Implementation Phase 1 + +- GOAL-001: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.] + +| Task | Description | Completed | Date | +|------|-------------|-----------|------| +| TASK-001 | Description of task 1 | ✅ | 2025-04-25 | +| TASK-002 | Description of task 2 | | | +| TASK-003 | Description of task 3 | | | + +### Implementation Phase 2 + +- GOAL-002: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.] + +| Task | Description | Completed | Date | +|------|-------------|-----------|------| +| TASK-004 | Description of task 4 | | | +| TASK-005 | Description of task 5 | | | +| TASK-006 | Description of task 6 | | | + +## 3. Alternatives + +[A bullet point list of any alternative approaches that were considered and why they were not chosen. This helps to provide context and rationale for the chosen approach.] + +- **ALT-001**: Alternative approach 1 +- **ALT-002**: Alternative approach 2 + +## 4. Dependencies + +[List any dependencies that need to be addressed, such as libraries, frameworks, or other components that the plan relies on.] + +- **DEP-001**: Dependency 1 +- **DEP-002**: Dependency 2 + +## 5. Files + +[List the files that will be affected by the feature or refactoring task.] + +- **FILE-001**: Description of file 1 +- **FILE-002**: Description of file 2 + +## 6. Testing + +[List the tests that need to be implemented to verify the feature or refactoring task.] + +- **TEST-001**: Description of test 1 +- **TEST-002**: Description of test 2 + +## 7. Risks & Assumptions + +[List any risks or assumptions related to the implementation of the plan.] + +- **RISK-001**: Risk 1 +- **ASSUMPTION-001**: Assumption 1 + +## 8. Related Specifications / Further Reading + +[Link to related spec 1] +[Link to relevant external documentation] +``` diff --git a/prompts/update-llms.prompt.md b/prompts/update-llms.prompt.md new file mode 100644 index 0000000..2575403 --- /dev/null +++ b/prompts/update-llms.prompt.md @@ -0,0 +1,216 @@ +--- +mode: 'agent' +description: 'Update the llms.txt file in the root folder to reflect changes in documentation or specifications following the llms.txt specification at https://llmstxt.org/' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Update LLMs.txt File + +Update the existing `llms.txt` file in the root of the repository to reflect changes in documentation, specifications, or repository structure. This file provides high-level guidance to large language models (LLMs) on where to find relevant content for understanding the repository's purpose and specifications. + +## Primary Directive + +Update the existing `llms.txt` file to maintain accuracy and compliance with the llms.txt specification while reflecting current repository structure and content. The file must remain optimized for LLM consumption while staying human-readable. + +## Analysis and Planning Phase + +Before updating the `llms.txt` file, you must complete a thorough analysis: + +### Step 1: Review Current File and Specification +- Read the existing `llms.txt` file to understand current structure +- Review the official specification at https://llmstxt.org/ to ensure continued compliance +- Identify areas that may need updates based on repository changes + +### Step 2: Repository Structure Analysis +- Examine the current repository structure using appropriate tools +- Compare current structure with what's documented in existing `llms.txt` +- Identify new directories, files, or documentation that should be included +- Note any removed or relocated files that need to be updated + +### Step 3: Content Discovery and Change Detection +- Identify new README files and their locations +- Find new documentation files (`.md` files in `/docs/`, `/spec/`, etc.) +- Locate new specification files and their purposes +- Discover new configuration files and their relevance +- Find new example files and code samples +- Identify any changes to existing documentation structure + +### Step 4: Create Update Plan +Based on your analysis, create a structured plan that includes: +- Changes needed to maintain accuracy +- New files to be added to the llms.txt +- Outdated references to be removed or updated +- Organizational improvements to maintain clarity + +## Implementation Requirements + +### Format Compliance +The updated `llms.txt` file must maintain this exact structure per the specification: + +1. **H1 Header**: Single line with repository/project name (required) +2. **Blockquote Summary**: Brief description in blockquote format (optional but recommended) +3. **Additional Details**: Zero or more markdown sections without headings for context +4. **File List Sections**: Zero or more H2 sections containing markdown lists of links + +### Content Requirements + +#### Required Elements +- **Project Name**: Clear, descriptive title as H1 +- **Summary**: Concise blockquote explaining the repository's purpose +- **Key Files**: Essential files organized by category (H2 sections) + +#### File Link Format +Each file link must follow: `[descriptive-name](relative-url): optional description` + +#### Section Organization +Organize files into logical H2 sections such as: +- **Documentation**: Core documentation files +- **Specifications**: Technical specifications and requirements +- **Examples**: Sample code and usage examples +- **Configuration**: Setup and configuration files +- **Optional**: Secondary files (special meaning - can be skipped for shorter context) + +### Content Guidelines + +#### Language and Style +- Use concise, clear, unambiguous language +- Avoid jargon without explanation +- Write for both human and LLM readers +- Be specific and informative in descriptions + +#### File Selection Criteria +Include files that: +- Explain the repository's purpose and scope +- Provide essential technical documentation +- Show usage examples and patterns +- Define interfaces and specifications +- Contain configuration and setup instructions + +Exclude files that: +- Are purely implementation details +- Contain redundant information +- Are build artifacts or generated content +- Are not relevant to understanding the project + +## Execution Steps + +### Step 1: Current State Analysis +1. Read the existing `llms.txt` file thoroughly +2. Examine the current repository structure completely +3. Compare existing file references with actual repository content +4. Identify outdated, missing, or incorrect references +5. Note any structural issues with the current file + +### Step 2: Content Planning +1. Determine if the primary purpose statement needs updates +2. Review and update the summary blockquote if needed +3. Plan additions for new files and directories +4. Plan removals for outdated or moved content +5. Reorganize sections if needed for better clarity + +### Step 3: File Updates +1. Update the existing `llms.txt` file in the repository root +2. Maintain compliance with the exact format specification +3. Add new file references with appropriate descriptions +4. Remove or update outdated references +5. Ensure all links are valid relative paths + +### Step 4: Validation +1. Verify continued compliance with https://llmstxt.org/ specification +2. Check that all links are valid and accessible +3. Ensure the file still serves as an effective LLM navigation tool +4. Confirm the file remains both human and machine readable + +## Quality Assurance + +### Format Validation +- ✅ H1 header with project name +- ✅ Blockquote summary (if included) +- ✅ H2 sections for file lists +- ✅ Proper markdown link format +- ✅ No broken or invalid links +- ✅ Consistent formatting throughout + +### Content Validation +- ✅ Clear, unambiguous language +- ✅ Comprehensive coverage of essential files +- ✅ Logical organization of content +- ✅ Appropriate file descriptions +- ✅ Serves as effective LLM navigation tool + +### Specification Compliance +- ✅ Follows https://llmstxt.org/ format exactly +- ✅ Uses required markdown structure +- ✅ Implements optional sections appropriately +- ✅ File located at repository root (`/llms.txt`) + +## Update Strategy + +### Addition Process +When adding new content: +1. Identify the appropriate section for new files +2. Create clear, descriptive names for links +3. Write concise but informative descriptions +4. Maintain alphabetical or logical ordering within sections +5. Consider if new sections are needed for new content types + +### Removal Process +When removing outdated content: +1. Verify files are actually removed or relocated +2. Check if relocated files should be updated rather than removed +3. Remove entire sections if they become empty +4. Update cross-references if needed + +### Reorganization Process +When restructuring content: +1. Maintain logical flow from general to specific +2. Keep essential documentation in primary sections +3. Move secondary content to "Optional" section if appropriate +4. Ensure new organization improves LLM navigation + +Example structure for `llms.txt`: + +```txt +# [Repository Name] + +> [Concise description of the repository's purpose and scope] + +[Optional additional context paragraphs without headings] + +## Documentation + +- [Main README](README.md): Primary project documentation and getting started guide +- [Contributing Guide](CONTRIBUTING.md): Guidelines for contributing to the project +- [Code of Conduct](CODE_OF_CONDUCT.md): Community guidelines and expectations + +## Specifications + +- [Technical Specification](spec/technical-spec.md): Detailed technical requirements and constraints +- [API Specification](spec/api-spec.md): Interface definitions and data contracts + +## Examples + +- [Basic Example](examples/basic-usage.md): Simple usage demonstration +- [Advanced Example](examples/advanced-usage.md): Complex implementation patterns + +## Configuration + +- [Setup Guide](docs/setup.md): Installation and configuration instructions +- [Deployment Guide](docs/deployment.md): Production deployment guidelines + +## Optional + +- [Architecture Documentation](docs/architecture.md): Detailed system architecture +- [Design Decisions](docs/decisions.md): Historical design decision records +``` + +## Success Criteria + +The updated `llms.txt` file should: +1. Accurately reflect the current repository structure and content +2. Maintain compliance with the llms.txt specification +3. Provide clear navigation to essential documentation +4. Remove outdated or incorrect references +5. Include new important files and documentation +6. Maintain logical organization for easy LLM consumption +7. Use clear, unambiguous language throughout +8. Continue to serve both human and machine readers effectively diff --git a/prompts/update-markdown-file-index.prompt.md b/prompts/update-markdown-file-index.prompt.md new file mode 100644 index 0000000..1d2b299 --- /dev/null +++ b/prompts/update-markdown-file-index.prompt.md @@ -0,0 +1,76 @@ +--- +mode: 'agent' +description: 'Update a markdown file section with an index/table of files from a specified folder.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Update Markdown File Index + +Update markdown file `${file}` with an index/table of files from folder `${input:folder}`. + +## Process + +1. **Scan**: Read the target markdown file `${file}` to understand existing structure +2. **Discover**: List all files in the specified folder `${input:folder}` matching pattern `${input:pattern}` +3. **Analyze**: Identify if an existing table/index section exists to update, or create new structure +4. **Structure**: Generate appropriate table/list format based on file types and existing content +5. **Update**: Replace existing section or add new section with file index +6. **Validate**: Ensure markdown syntax is valid and formatting is consistent + +## File Analysis + +For each discovered file, extract: + +- **Name**: Filename with or without extension based on context +- **Type**: File extension and category (e.g., `.md`, `.js`, `.py`) +- **Description**: First line comment, header, or inferred purpose +- **Size**: File size for reference (optional) +- **Modified**: Last modified date (optional) + +## Table Structure Options + +Choose format based on file types and existing content: + +### Option 1: Simple List + +```markdown +## Files in ${folder} + +- [filename.ext](path/to/filename.ext) - Description +- [filename2.ext](path/to/filename2.ext) - Description +``` + +### Option 2: Detailed Table + +| File | Type | Description | +|------|------|-------------| +| [filename.ext](path/to/filename.ext) | Extension | Description | +| [filename2.ext](path/to/filename2.ext) | Extension | Description | + +### Option 3: Categorized Sections + +Group files by type/category with separate sections or sub-tables. + +## Update Strategy + +- 🔄 **Update existing**: If table/index section exists, replace content while preserving structure +- ➕ **Add new**: If no existing section, create new section using best-fit format +- 📋 **Preserve**: Maintain existing markdown formatting, heading levels, and document flow +- 🔗 **Links**: Use relative paths for file links within the repository + +## Section Identification + +Look for existing sections with these patterns: + +- Headings containing: "index", "files", "contents", "directory", "list" +- Tables with file-related columns +- Lists with file links +- HTML comments marking file index sections + +## Requirements + +- Preserve existing markdown structure and formatting +- Use relative paths for file links +- Include file descriptions when available +- Sort files alphabetically by default +- Handle special characters in filenames +- Validate all generated markdown syntax diff --git a/prompts/update-oo-component-documentation.prompt.md b/prompts/update-oo-component-documentation.prompt.md new file mode 100644 index 0000000..97b1d69 --- /dev/null +++ b/prompts/update-oo-component-documentation.prompt.md @@ -0,0 +1,162 @@ +--- +mode: 'agent' +description: 'Update existing object-oriented component documentation following industry best practices and architectural documentation standards.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Update Standard OO Component Documentation + +Update the existing documentation file at: `${file}` by analyzing the corresponding component code. + +Extract the component path from the existing documentation's front matter (`component_path` field) or infer it from the documentation content. Analyze the current component implementation and update the documentation accordingly. + +**Documentation Standards:** + +- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code) +- DOC-002: Align with Arc42 software architecture documentation template +- DOC-003: Comply with IEEE 1016 Software Design Description standard +- DOC-004: Use Agile Documentation principles (just enough documentation that adds value) +- DOC-005: Target developers and maintainers as primary audience + +**Analysis Instructions:** + +- ANA-001: Read existing documentation to understand component context and structure +- ANA-002: Identify component path from front matter or content analysis +- ANA-003: Examine current source code files for class structures and inheritance +- ANA-004: Compare existing documentation with current implementation +- ANA-005: Identify design patterns and architectural changes +- ANA-006: Update public APIs, interfaces, and dependencies +- ANA-007: Recognize new/changed creational/structural/behavioral patterns +- ANA-008: Update method parameters, return values, exceptions +- ANA-009: Reassess performance, security, reliability, maintainability +- ANA-010: Update integration patterns and data flow + +**Language-Specific Optimizations:** + +- LNG-001: **C#/.NET** - async/await, dependency injection, configuration, disposal +- LNG-002: **Java** - Spring framework, annotations, exception handling, packaging +- LNG-003: **TypeScript/JavaScript** - modules, async patterns, types, npm +- LNG-004: **Python** - packages, virtual environments, type hints, testing + +**Update Strategy:** + +- UPD-001: Preserve existing documentation structure and format +- UPD-002: Update `last_updated` field to current date +- UPD-003: Maintain version history in front matter if present +- UPD-004: Add new sections if component has significantly expanded +- UPD-005: Mark deprecated features or breaking changes +- UPD-006: Update examples to reflect current API +- UPD-007: Refresh dependency lists and versions +- UPD-008: Update mermaid diagrams to reflect current architecture + +**Error Handling:** + +- ERR-001: Documentation file doesn't exist - provide guidance on file location +- ERR-002: Component path not found in documentation - request clarification +- ERR-003: Source code has moved - suggest updated paths +- ERR-004: Major architectural changes - highlight breaking changes +- ERR-005: Insufficient access to source - document limitations + +**Output Format:** + +Update the existing Markdown file maintaining its structure while refreshing content to match current implementation. Preserve formatting, heading hierarchy, and existing organizational decisions. + +**Required Documentation Structure:** + +Update the existing documentation following the same template structure, ensuring all sections reflect current implementation: + +```md +--- +title: [Component Name] - Technical Documentation +component_path: [Current component path] +version: [Updated version if applicable] +date_created: [Original creation date - preserve] +last_updated: [YYYY-MM-DD - update to current date] +owner: [Preserve existing or update if changed] +tags: [Update tags as needed based on current functionality] +--- + +# [Component Name] Documentation + +[Update introduction to reflect current component purpose and capabilities] + +## 1. Component Overview + +### Purpose/Responsibility +- OVR-001: Update component's primary responsibility +- OVR-002: Refresh scope (included/excluded functionality) +- OVR-003: Update system context and relationships + +## 2. Architecture Section + +- ARC-001: Update design patterns used (Repository, Factory, Observer, etc.) +- ARC-002: Refresh internal and external dependencies with current purposes +- ARC-003: Update component interactions and relationships +- ARC-004: Update visual diagrams (UML class, sequence, component) +- ARC-005: Refresh mermaid diagram showing current component structure, relationships, and dependencies + +### Component Structure and Dependencies Diagram + +Update the mermaid diagram to show current: +- **Component structure** - Current classes, interfaces, and their relationships +- **Internal dependencies** - How components currently interact within the system +- **External dependencies** - Current external libraries, services, databases, APIs +- **Data flow** - Current direction of dependencies and interactions +- **Inheritance/composition** - Current class hierarchies and composition relationships + +```mermaid +[Update diagram to reflect current architecture] +``` + +## 3. Interface Documentation + +- INT-001: Update all public interfaces and current usage patterns +- INT-002: Refresh method/property reference table with current API +- INT-003: Update events/callbacks/notification mechanisms + +| Method/Property | Purpose | Parameters | Return Type | Usage Notes | +|-----------------|---------|------------|-------------|-------------| +| [Update table with current API] | | | | | + +## 4. Implementation Details + +- IMP-001: Update main implementation classes and current responsibilities +- IMP-002: Refresh configuration requirements and initialization patterns +- IMP-003: Update key algorithms and business logic +- IMP-004: Update performance characteristics and bottlenecks + +## 5. Usage Examples + +### Basic Usage + +```csharp +// Update basic usage example to current API +``` + +### Advanced Usage + +```csharp +// Update advanced configuration patterns to current implementation +``` + +- USE-001: Update basic usage examples +- USE-002: Refresh advanced configuration patterns +- USE-003: Update best practices and recommended patterns + +## 6. Quality Attributes + +- QUA-001: Update security (authentication, authorization, data protection) +- QUA-002: Refresh performance (characteristics, scalability, resource usage) +- QUA-003: Update reliability (error handling, fault tolerance, recovery) +- QUA-004: Refresh maintainability (standards, testing, documentation) +- QUA-005: Update extensibility (extension points, customization options) + +## 7. Reference Information + +- REF-001: Update dependencies with current versions and purposes +- REF-002: Refresh configuration options reference +- REF-003: Update testing guidelines and mock setup +- REF-004: Refresh troubleshooting (common issues, error messages) +- REF-005: Update related documentation links +- REF-006: Add change history and migration notes for this update + +``` diff --git a/prompts/update-specification.prompt.md b/prompts/update-specification.prompt.md new file mode 100644 index 0000000..e96db34 --- /dev/null +++ b/prompts/update-specification.prompt.md @@ -0,0 +1,127 @@ +--- +mode: 'agent' +description: 'Update an existing specification file for the solution, optimized for Generative AI consumption based on new requirements or updates to any existing code.' +tools: ['changes', 'codebase', 'editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +--- +# Update Specification + +Your goal is to update the existing specification file `${file}` based on new requirements or updates to any existing code. + +The specification file must define the requirements, constraints, and interfaces for the solution components in a manner that is clear, unambiguous, and structured for effective use by Generative AIs. Follow established documentation standards and ensure the content is machine-readable and self-contained. + +## Best Practices for AI-Ready Specifications + +- Use precise, explicit, and unambiguous language. +- Clearly distinguish between requirements, constraints, and recommendations. +- Use structured formatting (headings, lists, tables) for easy parsing. +- Avoid idioms, metaphors, or context-dependent references. +- Define all acronyms and domain-specific terms. +- Include examples and edge cases where applicable. +- Ensure the document is self-contained and does not rely on external context. + +The specification should be saved in the [/spec/](/spec/) directory and named according to the following convention: `[a-z0-9-]+.md`, where the name should be descriptive of the specification's content and starting with the highlevel purpose, which is one of [schema, tool, data, infrastructure, process, architecture, or design]. + +The specification file must be formatted in well formed Markdown. + +Specification files must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following: + +```md +--- +title: [Concise Title Describing the Specification's Focus] +version: [Optional: e.g., 1.0, Date] +date_created: [YYYY-MM-DD] +last_updated: [Optional: YYYY-MM-DD] +owner: [Optional: Team/Individual responsible for this spec] +tags: [Optional: List of relevant tags or categories, e.g., `infrastructure`, `process`, `design`, `app` etc] +--- + +# Introduction + +[A short concise introduction to the specification and the goal it is intended to achieve.] + +## 1. Purpose & Scope + +[Provide a clear, concise description of the specification's purpose and the scope of its application. State the intended audience and any assumptions.] + +## 2. Definitions + +[List and define all acronyms, abbreviations, and domain-specific terms used in this specification.] + +## 3. Requirements, Constraints & Guidelines + +[Explicitly list all requirements, constraints, rules, and guidelines. Use bullet points or tables for clarity.] + +- **REQ-001**: Requirement 1 +- **SEC-001**: Security Requirement 1 +- **[3 LETTERS]-001**: Other Requirement 1 +- **CON-001**: Constraint 1 +- **GUD-001**: Guideline 1 +- **PAT-001**: Pattern to follow 1 + +## 4. Interfaces & Data Contracts + +[Describe the interfaces, APIs, data contracts, or integration points. Use tables or code blocks for schemas and examples.] + +## 5. Acceptance Criteria + +[Define clear, testable acceptance criteria for each requirement using Given-When-Then format where appropriate.] + +- **AC-001**: Given [context], When [action], Then [expected outcome] +- **AC-002**: The system shall [specific behavior] when [condition] +- **AC-003**: [Additional acceptance criteria as needed] + +## 6. Test Automation Strategy + +[Define the testing approach, frameworks, and automation requirements.] + +- **Test Levels**: Unit, Integration, End-to-End +- **Frameworks**: MSTest, FluentAssertions, Moq (for .NET applications) +- **Test Data Management**: [approach for test data creation and cleanup] +- **CI/CD Integration**: [automated testing in GitHub Actions pipelines] +- **Coverage Requirements**: [minimum code coverage thresholds] +- **Performance Testing**: [approach for load and performance testing] + +## 7. Rationale & Context + +[Explain the reasoning behind the requirements, constraints, and guidelines. Provide context for design decisions.] + +## 8. Dependencies & External Integrations + +[Define the external systems, services, and architectural dependencies required for this specification. Focus on **what** is needed rather than **how** it's implemented. Avoid specific package or library versions unless they represent architectural constraints.] + +### External Systems +- **EXT-001**: [External system name] - [Purpose and integration type] + +### Third-Party Services +- **SVC-001**: [Service name] - [Required capabilities and SLA requirements] + +### Infrastructure Dependencies +- **INF-001**: [Infrastructure component] - [Requirements and constraints] + +### Data Dependencies +- **DAT-001**: [External data source] - [Format, frequency, and access requirements] + +### Technology Platform Dependencies +- **PLT-001**: [Platform/runtime requirement] - [Version constraints and rationale] + +### Compliance Dependencies +- **COM-001**: [Regulatory or compliance requirement] - [Impact on implementation] + +**Note**: This section should focus on architectural and business dependencies, not specific package implementations. For example, specify "OAuth 2.0 authentication library" rather than "Microsoft.AspNetCore.Authentication.JwtBearer v6.0.1". + +## 9. Examples & Edge Cases + +```code +// Code snippet or data example demonstrating the correct application of the guidelines, including edge cases +``` + +## 10. Validation Criteria + +[List the criteria or tests that must be satisfied for compliance with this specification.] + +## 11. Related Specifications / Further Reading + +[Link to related spec 1] +[Link to relevant external documentation] + +```