ASP.NET Core project structure — minimal APIs vs controllers, layer
95
93%
Does it follow best practices?
Impact
100%
2.50xAverage score across 5 eval scenarios
Passed
No known issues
{
"instruction": "Use DTOs as C# records with static From() factory methods",
"relevant_when": "Agent defines API request or response types in an ASP.NET Core project",
"context": "DTOs must be C# records (not classes) in a DTOs/ folder. Response DTOs must include a static From() factory method that maps from the entity type. Models use class keyword with { get; set; } properties.",
"sources": [
{
"type": "file",
"filename": "skills/aspnet-project-structure/SKILL.md",
"tile": "tessl-labs/aspnet-project-structure@0.1.3"
}
],
"checklist": [
{
"name": "dtos-are-records",
"rule": "Agent declares DTOs using the C# 'record' keyword, not 'class'",
"relevant_when": "Agent creates request or response types for an ASP.NET Core API"
},
{
"name": "dto-from-factory",
"rule": "Agent adds a static From() factory method to response DTOs that maps from the corresponding entity type",
"relevant_when": "Agent creates a response DTO that corresponds to a database entity"
},
{
"name": "dtos-in-folder",
"rule": "Agent places DTOs in a dedicated DTOs/ folder, not inline in controllers or services",
"relevant_when": "Agent creates DTO types in an ASP.NET Core project"
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
skills
aspnet-project-structure
verifiers