awesome-copilot/prompts/aspnet-minimal-api-openapi.prompt.md
CypherHK 2b45ca4e8b
feat: update deprecated tool names to namespaced versions (#365)
- Replace 'codebase' with 'search/codebase'
- Replace 'searchResults' with 'search/searchResults'
- Replace 'terminalLastCommand' with 'runCommands/terminalLastCommand'
- Replace 'terminalSelection' with 'runCommands/terminalSelection'

Updated files:
- 13 chatmode files in chatmodes/
- 41 prompt files in prompts/

This update aligns with VS Code's latest tool naming conventions that organize tools into logical namespaces.
2025-10-30 09:29:27 +11:00

1.8 KiB

mode tools description
agent
changes
search/codebase
edit/editFiles
problems
Create ASP.NET Minimal API endpoints with proper OpenAPI documentation

ASP.NET Minimal API with OpenAPI

Your goal is to help me create well-structured ASP.NET Minimal API endpoints with correct types and comprehensive OpenAPI/Swagger documentation.

API Organization

  • Group related endpoints using MapGroup() extension
  • Use endpoint filters for cross-cutting concerns
  • Structure larger APIs with separate endpoint classes
  • Consider using a feature-based folder structure for complex APIs

Request and Response Types

  • Define explicit request and response DTOs/models
  • Create clear model classes with proper validation attributes
  • Use record types for immutable request/response objects
  • Use meaningful property names that align with API design standards
  • Apply [Required] and other validation attributes to enforce constraints
  • Use the ProblemDetailsService and StatusCodePages to get standard error responses

Type Handling

  • Use strongly-typed route parameters with explicit type binding
  • Use Results<T1, T2> to represent multiple response types
  • Return TypedResults instead of Results for strongly-typed responses
  • Leverage C# 10+ features like nullable annotations and init-only properties

OpenAPI Documentation

  • Use the built-in OpenAPI document support added in .NET 9
  • Define operation summary and description
  • Add operationIds using the WithName extension method
  • Add descriptions to properties and parameters with [Description()]
  • Set proper content types for requests and responses
  • Use document transformers to add elements like servers, tags, and security schemes
  • Use schema transformers to apply customizations to OpenAPI schemas