mcpbeat

Bump Mgmt Base Version

azure/bump-mgmt-base-version

Bump the http-client-csharp base dependency version in http-client-csharp-mgmt. Updates emitter (npm) and generator (NuGet) references, rebuilds, and regenerates test projects.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
6033
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Azure/azure-sdk-for-net --skill bump-mgmt-base-version

The instruction itself

14 sections, as written by the author

Skill: bump-mgmt-base-version

Bump the base http-client-csharp dependency used by the management-plane generator (http-client-csharp-mgmt). This updates both the npm emitter dependency and the NuGet generator dependency, then rebuilds and regenerates test projects.

When Invoked

Trigger phrases: "bump mgmt base version", "update http-client-csharp in mgmt", "bump generator version", "update mgmt dependency".

Instructions

1. Determine the target version

Read the latest version of @azure-typespec/http-client-csharp from:

eng/azure-typespec-http-client-csharp-emitter-package.json

Look at the dependencies["@azure-typespec/http-client-csharp"] value. This is the target version.

2. Identify current versions

Check the current versions in these two files:

| File | Field | Purpose |

|------|-------|---------|

| eng/packages/http-client-csharp-mgmt/package.json | dependencies["@azure-typespec/http-client-csharp"] | Emitter npm dependency |

| eng/centralpackagemanagement/Directory.Generation.Packages.props | <AzureGeneratorVersion> | Generator NuGet dependency (used by Azure.Generator.Management.csproj via <PackageReference Include="Azure.Generator" />) |

If both already match the target version, no update is needed — inform the user and stop.

3. Update version references

Update both files to the target version:

  • eng/packages/http-client-csharp-mgmt/package.json: Change the @azure-typespec/http-client-csharp version in dependencies.
  • eng/centralpackagemanagement/Directory.Generation.Packages.props: Change the <AzureGeneratorVersion> value.

4. Run npm install

cd eng/packages/http-client-csharp-mgmt
npm install

This updates package-lock.json to resolve the new dependency version.

5. Build the emitter

cd eng/packages/http-client-csharp-mgmt
npm run build:emitter

If TypeScript compilation fails, examine the errors — they likely indicate breaking API changes in the base @azure-typespec/http-client-csharp package. Fix the emitter source code under eng/packages/http-client-csharp-mgmt/emitter/ accordingly.

6. Lint and format the emitter

cd eng/packages/http-client-csharp-mgmt
npm run lint
npm run prettier

If lint or prettier checks fail, fix with:

npm run lint:fix
npm run prettier:fix

These checks are required to pass CI. Always run them after any emitter code changes.

7. Build the generator

cd eng/packages/http-client-csharp-mgmt
npm run build:generator

This runs dotnet build ./generator. The Azure.Generator.Management project references the Azure.Generator NuGet package, whose version is controlled by AzureGeneratorVersion in eng/centralpackagemanagement/Directory.Generation.Packages.props.

If C# compilation fails, examine the errors — they likely indicate breaking API changes in the Azure.Generator package. Fix the generator source code under eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/ accordingly.

8. Regenerate test projects

pwsh eng/packages/http-client-csharp-mgmt/eng/scripts/Generate.ps1

This script:

  • Rebuilds the emitter and generator (via Refresh-Mgmt-Build)
  • Regenerates the Mgmt-TypeSpec test project under generator/TestProjects/Local/Mgmt-TypeSpec/
  • Builds the regenerated test project to verify correctness

If regeneration produces file changes, they must be included in the commit.

9. Refresh the Emitter Version Dashboard

pwsh doc/GeneratorVersions/Emitter_Version_Dashboard.ps1

This regenerates doc/GeneratorVersions/Emitter_Version_Dashboard.md so the documented dependency chain matches the updated package.json versions. The updated dashboard file must be included in the commit.

10. Verify

  • Run git status to see all modified files
  • Ensure package.json, package-lock.json, Directory.Generation.Packages.props, Emitter_Version_Dashboard.md, and any regenerated test project files are included
  • All changes should be committed together

Key Files Reference

| File | Role |

|------|------|

| eng/azure-typespec-http-client-csharp-emitter-package.json | Source of truth for latest base version |

| eng/packages/http-client-csharp-mgmt/package.json | Mgmt emitter npm dependencies |

| eng/packages/http-client-csharp-mgmt/package-lock.json | Resolved npm dependency tree |

| eng/centralpackagemanagement/Directory.Generation.Packages.props | NuGet version properties (AzureGeneratorVersion) |

| eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Azure.Generator.Management.csproj | Generator project referencing Azure.Generator |

| eng/packages/http-client-csharp-mgmt/eng/scripts/Generate.ps1 | Test project regeneration script |

| eng/packages/http-client-csharp-mgmt/eng/scripts/Generation.psm1 | Build and generation helper functions |

| doc/GeneratorVersions/Emitter_Version_Dashboard.ps1 | Script to regenerate the version dashboard |

| doc/GeneratorVersions/Emitter_Version_Dashboard.md | Emitter dependency version dashboard |

How to use it

Copy the folder

Take azure/bump-mgmt-base-version from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npm. Without those the skill loads but fails at the first command.