CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/aspnet-project-structure

ASP.NET Core project structure — minimal APIs vs controllers, layer

95

2.50x
Quality

93%

Does it follow best practices?

Impact

100%

2.50x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

aspnet-service-registration.jsonverifiers/

{
  "instruction": "Organize DI registration into IServiceCollection extension methods and use IOptions pattern",
  "relevant_when": "Agent registers services or configures options in an ASP.NET Core project",
  "context": "DI registrations belong in IServiceCollection extension methods in an Extensions/ folder, not inline in Program.cs. Custom configuration sections use IOptions<T> pattern with strongly-typed classes.",
  "sources": [
    {
      "type": "file",
      "filename": "skills/aspnet-project-structure/SKILL.md",
      "tile": "tessl-labs/aspnet-project-structure@0.1.3"
    }
  ],
  "checklist": [
    {
      "name": "service-collection-extensions",
      "rule": "Agent creates IServiceCollection extension methods to organize DI registration instead of putting all registrations inline in Program.cs",
      "relevant_when": "Agent registers multiple services in an ASP.NET Core project"
    },
    {
      "name": "ioptions-pattern",
      "rule": "Agent uses IOptions<T> with a typed configuration class and builder.Services.Configure<T>() for custom config sections",
      "relevant_when": "Agent reads custom configuration values beyond connection strings"
    }
  ]
}

tile.json