neo-dotnet-minimal-apis · v1.0.0 · 2026-05-31 · sha256 1b3f50d88436a11c
neo-dotnet-minimal-apis v1.0.0A
Immutable. This exact content is served forever at /api/v1/blob/1b3f50d88436a11c.
--- name: neo-dotnet-minimal-apis description: > Use this skill when building, debugging, refactoring, or reviewing ASP.NET Core Minimal APIs, lightweight endpoints, route groups, endpoint filters, typed results, OpenAPI metadata, or high-performance .NET API services without controllers. compatibility: "Supports .NET 6.0 through 10.0 environments. Requires .NET SDK installed locally." metadata: version: "1.0.0" category: "Framework" --- # .NET Minimal APIs Expert Skill ## Trigger On - The user requests to create, debug, refactor, or review .NET Minimal APIs. - The project's `Program.cs` contains `WebApplication.CreateBuilder(args)` and is not configured with a Controllers directory. - The target framework is .NET 6.0 (LTS) and above. - There is a need to optimize API performance or simplify Web API architecture. ## Workflow 1. **Perceive (Architecture Awareness):** - Check `.csproj` to identify `TargetFramework`. - Analyze `Program.cs` to distinguish whether it uses simple endpoints or adopts a Module-based or Vertical Slice organization. - Identify whether OpenAPI (Swagger) support has been configured. 2. **Reason (Planning Phase):** - Evaluate whether "Route Groups" need to be introduced to optimize organizational structure. - Determine whether to use "Endpoint Filters" to handle cross-cutting concerns (such as parameter validation). - Choose the most appropriate syntax based on the .NET version (e.g., `TypedResults` in .NET 7+). 3. **Act (Execution Phase):** - Write clean, high-performance Minimal API code, prioritizing Lambdas or extension methods. - Implement strong typing and DTOs (prioritize using `record`). - Integrate dependency injection, avoiding the Service Locator pattern. 4. **Validate (Standard Validation):** - Validate whether the endpoints correctly return expected HTTP status codes. - Check whether the generated OpenAPI documentation is complete. - Ensure asynchronous operations correctly pass the `CancellationToken`. ## Feature Roadmap (.NET 6 - 10) ### .NET 6 & 7 (Foundation) - **Minimal Hosting**: Simplified startup process and top-level statements. - **Route Groups**: Use `MapGroup` to consolidate prefixes and authentication. - **Endpoint Filters**: Implement interception logic within Minimal APIs. - **Typed Results**: Improved unit testing and Swagger support. ### .NET 8 & 9 (Productivity) - **Antiforgery**: Built-in anti-forgery token support. - **Form Binding**: Support for `[FromForm]` parameter binding. - **HybridCache**: High-performance multi-level caching support. - **OpenAPI Improvements**: Better OpenAPI code generation. ### .NET 10+ (Version-Specific Features) - **Native AOT Optimization**: AOT-optimized compilation tailored for Minimal APIs. - **Enhanced Middleware Patterns**: New middleware designed for lightweight architectures. ## Coding Standards - **Clean Routing**: Prioritize using extension methods to modularize routes. - **Strong Typing**: Prioritize using `TypedResults` and `Results<T1, T2>`. - **Async Safety**: Always accept and pass down `CancellationToken`. - **DI Best Practices**: Services should be defined directly in the Handler parameters. ## Deliver - **Version-Optimized API Code**: Provide the most appropriate modern API code based on the target .NET version. - **Modular Architecture**: Provide structural suggestions for extracting `Program.cs` routes into extension methods. - **OpenAPI Configuration**: Provide comprehensive Swagger/OpenAPI configuration suggestions. ## Validate - Ensure the provided code executes correctly in a .NET 6+ environment. - Validate endpoint security (authentication, authorization, Antiforgery). - Check if the code complies with high-performance best practices for Minimal APIs (e.g., avoiding closures, reducing allocations). ## Documentation ### Official References - [Minimal APIs Overview](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis) - [Route groups and filters](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/route-handlers) - [Typed responses in Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/responses) ### Internal References - [Minimal APIs Coding Style and Naming Conventions](reference/coding-style.md) - [Minimal APIs Anti-Patterns and Best Practices](reference/anti-patterns.md) - [Minimal APIs Modern Patterns Guide](reference/patterns.md)