Tool Core v0.1.0

Template Discovery

Helps find, inspect, and compare .NET project templates. Resolves natural-language project descriptions to ranked template matches with pre-filled parameters. USE FOR: finding the right dotnet new template for a task, comparing templates side by side, inspecting template parameters and constraints, understanding what a template produces before creating a project, resolving intent like "web API with auth" to concrete template + parameters. DO NOT USE FOR: actually creating projects (use template-instantiation), authoring custom templates (use template-authoring), MSBuild or build issues (use dotnet-msbuild plugin), NuGet package management unrelated to template packages.

Workflow

Step 1: Resolve intent to template candidates

Map the user's natural-language description to template short names using these common keyword mappings:

| User Intent | Template | Suggested Parameters | |-------------|----------|---------------------| | web API, REST API | webapi | --auth Individual --use-controllers if auth requested | | web app, website | webapp | | | Blazor, interactive web | blazor | | | console app, CLI tool | console | | | class library, shared code | classlib | | | worker service, background job | worker | | | gRPC service | grpc | | | MAUI app, mobile app | maui | | | test project, unit tests | xunit, mstest, or nunit | |

Step 2: Search for templates

Use dotnet new search to find templates by keyword across both locally installed templates and NuGet.org:

dotnet new search blazor

Use dotnet new list to show only installed templates, with optional filters:

dotnet new list --language C# --type project
dotnet new list web

Step 3: Inspect template details

Use dotnet new <template> --help to get full parameter details for a specific template — parameter names, types, defaults, and allowed values:

dotnet new webapi --help

Step 4: Preview output

Use dotnet new <template> --dry-run to show what files and directories a template would create without writing anything to disk:

dotnet new webapi --name MyApi --auth Individual --dry-run

Step 5: Present findings

Summarize the best template match with:

  • Template name and short description
  • Key parameters and recommended values
  • What the user should expect (files created, project structure)
  • Any constraints or prerequisites

Related skills

Use ManagedCode.Communication when a .NET application needs explicit result objects, structured errors, and predictable service or API boundaries instead of exception-driven…

ManagedCode.Communication

Use ManagedCode.MimeTypes when a .NET application needs consistent MIME type detection, extension mapping, and content-type decisions for uploads, downloads, or HTTP responses.

ManagedCode.MimeTypes

Use the Microsoft.Extensions stack correctly across Generic Host, dependency injection, configuration, logging, options, HttpClientFactory, and other shared infrastructure…

Microsoft.Extensions.*