v2: Improve dotnet_project New template discoverability (expose allowed TFMs/options before failing)
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with the dotnet_project New workflow and the dotnet_sdk TemplateInfo action described in the issue. Review the proposed capability fields and the dotnet new --help output, then examine the listed unit and opt-in scenario tests. Done means a machine-readable capabilities call exists, invalid framework choices return structured suggestions, and the recommended capabilities/info-to-New flow is documented.
Written by the indexing model from the issue text.
Description
Summary
When using dotnet_project (action: New), some templates do not accept certain target frameworks (e.g., net10.0). Today, this constraint is often only discoverable by attempting creation and failing.
We should improve UX by exposing template capabilities (allowed TFMs and key options/constraints) via a discoverability call before project creation.
Problem
- Users/agents may default to the latest TFM (e.g.,
net10.0). - Some templates only support certain TFMs (or have custom rules), causing
dotnet newto fail. - The current workflow becomes: try → fail → parse error → retry.
Desired UX
A consumer should be able to:
- Ask “what frameworks/options does this template support?”
- Choose a valid TFM/options combination.
- Call
dotnet_projectNew successfully on the first attempt.
Proposal
Option A (recommended): Extend dotnet_sdk TemplateInfo / add a new action
- Add an action such as
dotnet_sdk(action:TemplateCapabilities) or extendTemplateInfooutput to include a capabilities section. - Capabilities could include:
supportedFrameworks: list of known supported TFMs (when determinable)defaultFramework: TFM (if applicable)parameters: structured options (name, type, required, allowed values)constraints: structured constraints (e.g., “only supports net8.0+”, “not supported on macOS”, etc.)source: whether data came from Template Engine API vs CLI parsing
Option B: Provide a validation helper for dotnet_project New
- Add a
validateOnly: trueflag or adotnet_projectaction likeNewValidatethat:- validates the requested template + framework + options
- returns structured suggestions if invalid (allowed TFMs, closest match)
Implementation notes
- Template Engine metadata may not always expose TFMs explicitly; we may need to:
- parse
dotnet new <template> --helpoutput, and/or - infer allowed TFMs based on template parameters and known conventions.
- parse
- Keep it conservative and clearly indicate confidence/source.
Tests
- Add unit tests for:
- machine-readable schema includes
capabilitiesfields - behavior when TFMs are determinable vs unknown
- validation errors include suggested TFMs/options
- machine-readable schema includes
- Add scenario test (opt-in) demonstrating:
- call capabilities/info
- select valid TFM
- successfully create project
Acceptance criteria
- There is a supported “discover capabilities” call that surfaces template framework constraints/options in machine-readable form.
dotnet_project Newfailures include structured suggestions when framework mismatch is detected.- Docs show the recommended flow: TemplateInfo/capabilities → New.
- Dominant language
- C#
- Stars
- 36
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from jongalloway/dotnet-mcp
-
area: telemetry enhancement priority: low
Difficulty 4/5 3-5 days Newbie friendliness 55/100
jongalloway/dotnet-mcp#493 ·
-
enhancement mcp-app priority: low
Difficulty 4/5 3-5 days Newbie friendliness 48/100
jongalloway/dotnet-mcp#492 ·
-
area: mcp-protocol enhancement priority: low
Difficulty 4/5 3-5 days Newbie friendliness 45/100
jongalloway/dotnet-mcp#491 ·
-
area: mcp-protocol enhancement performance priority: low
Difficulty 4/5 3-5 days Newbie friendliness 55/100
jongalloway/dotnet-mcp#490 ·
-
documentation priority: medium
Difficulty 4/5 3-5 days Newbie friendliness 62/100
jongalloway/dotnet-mcp#489 ·
All issues in jongalloway/dotnet-mcp
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SubtitleEdit/subtitleedit#15108 · 1 comment ·
-
area/docs-content Bug pulumi/docs
Difficulty 1/5 1-3 hours Newbie friendliness 94/100
-
agentic-workflows untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 76/100