Repository navigation
Description
The rename in #76 is parked. CleanMinimalApi.Template has around 75,000 downloads, and new package IDs would start that count again at zero. So the names stay, we ask NuGet to reserve them, and we make the templates as easy to find as we can.
Where each kind of word gets searched:
| Where people search | What it matches |
|---|---|
dotnet new search <word> |
Any part of the template name or of any short name, nothing else |
dotnet new search --tag <tag> and dotnet new list --tag <tag> |
A whole classification from template.json |
nuget.org and dotnet package search |
Package ID, title, description and PackageTags |
So the brand words go in all three places: short name aliases for dotnet new search, a classification for --tag, and package tags for nuget.org.
Phase 1: Ask NuGet
- Send the prefix reservation email to account@nuget.org from the account that owns the five packages (draft in the project files:
nuget/prefix-reservation-email.md). It asks forCleanMinimalApi.,CleanModelContextProtocol.,CleanGraphQLApi.,CleanWebApi.andCleanLambdaFunction.(sent 6 Nov, waiting on NuGet's reply)
Checks: NuGet replies. If they say yes, the packages show the Trusted tick on nuget.org and in dotnet new search clean.
Phase 2: Search words (waiting for approval)
Short names
The first short name never changes. Everything after it is new, apart from cleanmcp. leanmeancleanapps-<x> also matches searches for clean and leanmeanclean; lmca-<x> also matches lmc.
| Template | Short names |
|---|---|
| Minimal API | cleanminimalapi, cleanminimal, lmca-minimalapi, leanmeancleanapps-minimalapi |
| MCP | cleanmodelcontextprotocol, cleanmcp, lmca-mcp, leanmeancleanapps-mcp |
| GraphQL | cleangraphqlapi, cleangraphql, cleanhotchocolate, lmca-graphql, leanmeancleanapps-graphql |
| Web API | cleanwebapi, cleancontrollers, lmca-webapi, leanmeancleanapps-webapi |
| Lambda Function | cleanlambdafunction, cleanlambda, lmca-lambda, leanmeancleanapps-lambda |
Template names (and the package Title)
| Template | Today | After |
|---|---|---|
| Minimal API | Clean Minimal API Template | unchanged |
| MCP | Clean Model Context Protocol (MCP) Template | unchanged |
| GraphQL | Clean GraphQL API Template | Clean GraphQL API (Hot Chocolate) Template |
| Web API | Clean Web API Template | Clean Web API (Controllers) Template |
| Lambda Function | Clean Lambda Function Template | Clean AWS Lambda Function Template |
Classifications
All five gain Lean Mean Clean Apps, so dotnet new list --tag "Lean Mean Clean Apps" shows the family. GraphQL also gains Hot Chocolate.
Package tags
All five keep today's tags and gain clean, cleanarchitecture, lmc, lmca, leanmeanclean, leanmeancleanapps, project-template, solution-template, net10, dotnet10, sqlite, efcore, serilog and opentelemetry. Then each adds:
| Template | Extra tags |
|---|---|
| Minimal API | minimalapi, minimal-apis, webapi, api, rest, scalar |
| MCP | modelcontextprotocol, mcp-tools, ai, ai-agents, agents, llm |
| GraphQL | graph, graphql-api, graphql-server, hot-chocolate, chillicream, relay, dataloader, nitro, api |
| Web API | webapi, controllers, mvc, api, rest, scalar |
| Lambda Function | lambda, amazon, lambda-annotations, cloudformation, container-image |
Work, one PR per repository on feature/search-words
- Each template:
template.json(short names, name, classifications),template.csproj(Title,PackageTags), the pipeline's Verify Template reads the first short name ([.shortName] | flatten | first, as MCP already does), README and NUGET.md say which short aliases work and thatdotnet new search leanmeancleanfinds the whole family, and thetemplate-authoringskill describes the alias, classification and tag pattern. Minimal API, MCP, GraphQL and Web API sayPart of LeanMeanCleanApps/.github#77; Lambda saysCloses LeanMeanCleanApps/.github#77 - Docs site: each template's options page lists its aliases, and the template names match
Checks: Verify Template passes in every template; locally, dotnet new install ./ then dotnet new search-style checks with dotnet new list lmca, dotnet new list leanmeanclean, dotnet new list graph and dotnet new list --tag "Lean Mean Clean Apps" list what they should. dotnet new search itself only sees nuget.org, so the real check is after the 1 December release.
Activity
[-]Get the Trusted tick and better search under the current names[/-][+]Get the Trusted tick and get found in search under the current names[/+]Help people find the templates in search (#48)
Help people find the templates in search (#77)
Help people find the templates in search (#57)
Help people find the templates in search (#51)