@@ -17,13 +17,21 @@ network:
1717 - defaults
1818 - dotnet
1919 - containers
20+ - github
2021
2122tools :
2223 github :
2324 edit :
24- bash : ["curl", " grep", "sed", "jq", "git", "cat", "ls", "find", "bash", "head", "tail", "dotnet", "source", "chmod"]
25+ bash : ["grep", "sed", "jq", "git", "cat", "ls", "find", "bash", "head", "tail", "dotnet", "source", "chmod"]
2526 web-fetch :
2627
28+ mcp-servers :
29+ nuget :
30+ container : " mcr.microsoft.com/dotnet/sdk:10.0"
31+ entrypoint : " dnx"
32+ entrypointArgs : ["NuGet.Mcp.Server", "--source", "https://api.nuget.org/v3/index.json", "--yes"]
33+ allowed : ["get-latest-package-version"]
34+
2735safe-outputs :
2836 create-pull-request :
2937 title-prefix : " [package] "
@@ -82,14 +90,11 @@ Perform these checks and apply changes:
8290
8391### Step 1: Check for a newer CsWin32 version
8492
85- Fetch the latest stable version of Microsoft.Windows.CsWin32 from NuGet:
93+ Use the NuGet MCP server's ` get-latest-package-version ` tool to look up the latest stable version
94+ of ` Microsoft.Windows.CsWin32 ` .
8695
87- ``` bash
88- PACKAGE_ID_LOWER=$( echo " Microsoft.Windows.CsWin32" | tr ' [:upper:]' ' [:lower:]' )
89- VERSIONS=$( curl -s " https://api.nuget.org/v3-flatcontainer/${PACKAGE_ID_LOWER} /index.json" )
90- LATEST=$( echo " $VERSIONS " | jq -r ' .versions[]' | grep -v ' -' | tail -1)
91- echo " Latest stable version: $LATEST "
92- ```
96+ Do NOT use ` curl ` , ` web-fetch ` , or any direct HTTP requests to the NuGet API — they are blocked
97+ by the network firewall.
9398
9499Compare with the current version in ` eng/Versions.props ` under ` <MicrosoftWindowsCsWin32Version> ` .
95100
@@ -127,6 +132,10 @@ If the build fails on Linux due to platform-specific runtime dependencies, that'
127132is that the source generator runs and produces files in ` obj/ ` . Check if the source generation step completes
128133even if later compilation steps have errors.
129134
135+ ** Important:** ` NETSDK1127 ` (missing targeting pack), missing SDK, or restore/feed failures are ** not**
136+ acceptable platform-specific build issues — they indicate a broken restore/toolset. If encountered, rerun
137+ ` bash -c 'source activate.sh && ./restore.sh' ` , inspect the restore output for errors, and do not proceed to ` noop ` .
138+
130139After building, inspect CsWin32's generated output:
131140
132141``` bash
@@ -138,7 +147,12 @@ find src/Servers/IIS/obj -name "*.g.cs" | head -20
138147
139148### Step 3: Research what changed in CsWin32
140149
141- Use ` web_fetch ` to check CsWin32's release notes and changelog:
150+ Use the ` github ` tool to check CsWin32's releases and referenced issues:
151+
152+ - Use ` list_releases ` or ` get_release ` on ` microsoft/CsWin32 ` for release notes and changelog.
153+ - Use ` get_issue ` on ` microsoft/CsWin32 ` to check the status of referenced issues (e.g., issue #1086 ).
154+
155+ If the ` github ` tool output lacks detail (e.g., release body is truncated), fall back to ` web_fetch ` :
142156
143157```
144158https://github.com/microsoft/CsWin32/releases
@@ -152,8 +166,8 @@ Look for:
152166- Issues referenced in this codebase's workaround comments
153167
154168Also check the status of referenced GitHub issues. For example, if a workaround comment
155- references ` https://github.com/microsoft/CsWin32/issues/1086 ` , use ` web_fetch ` to check
156- if the issue is closed/resolved.
169+ references ` https://github.com/microsoft/CsWin32/issues/1086 ` , use the ` github ` tool's
170+ ` get_issue ` on ` microsoft/CsWin32 ` to check if the issue is closed/resolved.
157171
158172---
159173
@@ -318,6 +332,10 @@ After the PR is created, use the `add-comment` safe output to post a comment on
318332- The CsWin32 version is already the latest stable release
319333- No workarounds were found that can be fixed (verified by checking ` obj/ ` generated code and CsWin32 issue status)
320334- You searched for ALL patterns above and found nothing actionable
335+ - All required checks completed successfully (NuGet version lookup, GitHub issue research, restore, build, and generated-source inspection)
336+
337+ Do ** not** call ` noop ` if any required check failed or was skipped. If a check could not be completed
338+ (e.g., restore failed, build failed, NuGet lookup failed), report the failure details instead of calling ` noop ` .
321339
322340The ` noop ` message must list what was checked (version, patterns searched, issues checked).
323341
0 commit comments