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.
npx skills add https://github.com/Azure/azure-sdk-for-net --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.
Trigger phrases: "bump mgmt base version", "update http-client-csharp in mgmt", "bump generator version", "update mgmt dependency".
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.
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.
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.cd eng/packages/http-client-csharp-mgmt
npm install
This updates package-lock.json to resolve the new dependency version.
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.
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.
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.
pwsh eng/packages/http-client-csharp-mgmt/eng/scripts/Generate.ps1
This script:
Refresh-Mgmt-Build)Mgmt-TypeSpec test project under generator/TestProjects/Local/Mgmt-TypeSpec/If regeneration produces file changes, they must be included in the commit.
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.
git status to see all modified filespackage.json, package-lock.json, Directory.Generation.Packages.props, Emitter_Version_Dashboard.md, and any regenerated test project files are included| 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 |
Take azure/bump-mgmt-base-version from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.
The instructions reference npm.
Without those the skill loads but fails at the first command.