changewaves

Coordinate MSBuild feature changes behind opt-out Change Waves.

1.2k|334|Updated Oct 13, 2022
One-click install
npx skills add https://github.com/dotnet/dotnet --skill changewaves
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: changewaves
Source: https://github.com/dotnet/dotnet/tree/main/src/msbuild/.github/skills/changewaves
Command: npx skills add https://github.com/dotnet/dotnet --skill changewaves

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Change waves provide a safe, temporary opt-out mechanism to group risky feature changes, reducing production-risk by enabling controlled rollout and rollback.

Core Features & Use Cases

  • Create and version waves for upcoming changes across the MSBuild codebase.
  • Gate code paths and features behind AreFeaturesEnabled checks to support opt-out during compatibility risk periods.
  • Document and retire expired waves with a clear rotation in ChangeWaves.md and ChangeWaves-Dev.md to keep teams aligned.

Quick Start

Add a new wave entry for the target version and wrap the affected code with AreFeaturesEnabled checks.

Frequently Asked Questions about changewaves

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What are MSBuild change waves and how do they manage feature compatibility risk?

MSBuild change waves are a temporary opt-out mechanism that groups risky feature changes to enable controlled rollout and rollback, minimizing production compatibility risk across the codebase.

How do I gate MSBuild code paths behind feature flags for an upcoming release?

You can gate MSBuild code paths by wrapping affected features with AreFeaturesEnabled checks, ensuring users can opt out of risky changes during compatibility periods.

What is the process to create a new change wave in the MSBuild codebase?

To create a change wave, add a new version entry in ChangeWaves.cs, wrap the affected code with AreFeaturesEnabled checks, add tests, and document the entry in ChangeWaves.md and ChangeWaves-Dev.md.

Does the MSBuild change wave process require updating documentation along with code changes?

Yes, the MSBuild change wave process requires documenting new entries and retirements in ChangeWaves.md and ChangeWaves-Dev.md to keep teams aligned on evolving features.

When should I retire an expired MSBuild change wave, and how is it documented?

You should retire expired MSBuild change waves through a clear rotation process, documenting the retirement in ChangeWaves.md and ChangeWaves-Dev.md to maintain alignment.