From 0bc669377fcc712a20e749ce64135d4fa603273d Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Fri, 20 Mar 2026 16:35:16 -0700 Subject: [PATCH 01/10] Remove skills directory link --- .github/skills | 1 - 1 file changed, 1 deletion(-) delete mode 120000 .github/skills diff --git a/.github/skills b/.github/skills deleted file mode 120000 index 9af1c1454ae3..000000000000 --- a/.github/skills +++ /dev/null @@ -1 +0,0 @@ -D:/code/dotnet-sdk/.claude/skills/ \ No newline at end of file From 5c368da2c4120d3ac7ad781923360cdab8e90756 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Fri, 20 Mar 2026 16:35:55 -0700 Subject: [PATCH 02/10] Rewrite Copilot instructions --- .github/copilot-instructions.md | 44 ----------------- AGENTS.md | 83 +++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 44 deletions(-) delete mode 100644 .github/copilot-instructions.md create mode 100644 AGENTS.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md deleted file mode 100644 index 6667feadfe7e..000000000000 --- a/.github/copilot-instructions.md +++ /dev/null @@ -1,44 +0,0 @@ -Use the instructions from the main branch if available: @dotnet/sdk/files/.github/copilot-instructions.md - -If the instructions from main are not available, use the following as a fallback: - -Coding Style and Changes: -- Code should match the style of the file it's in. -- Changes should be minimal to resolve a problem in a clean way. -- User-visible changes to behavior should be considered carefully before committing. They should always be flagged. -- Only edit the files that are necessary to address the specific issue. Do not run `dotnet format` or make formatting changes to additional files. -- Prefer using file-based namespaces for new code. -- Do not allow unused `using` directives to be committed. -- Use `#if NET` blocks for .NET Core specific code, and `#if NETFRAMEWORK` for .NET Framework specific code. - -Testing: -- Large changes should always include test changes. -- When creating new test projects in test/TestAssets/TestProjects, always use `$(CurrentTargetFramework)` for the `` property instead of hard-coding a specific version like `net8.0`. -- The Skip parameter of the Fact attribute to point to the specific issue link. -- To run tests in this repo: - - Use the repo-local dotnet instance: `./.dotnet/dotnet` - - For MSTest-style projects: `dotnet test path/to/project.csproj --filter "FullyQualifiedName~TestName"` - - For XUnit test assemblies: `dotnet exec artifacts/bin/redist/Debug/TestAssembly.dll -method "*TestMethodName*"` - - Examples: - - `dotnet test test/dotnet.Tests/dotnet.Tests.csproj --filter "Name~ItShowsTheAppropriateMessageToTheUser"` - - `dotnet exec artifacts/bin/redist/Debug/dotnet.Tests.dll -method "*ItShowsTheAppropriateMessageToTheUser*"` -- To test CLI command changes: - - Build the redist SDK: `./build.sh` from repo root - - Create a dogfood environment: `source eng/dogfood.sh` - - Test commands in the dogfood shell (e.g., `dnx --help`, `dotnet tool install --help`) - - The dogfood script sets up PATH and environment to use the newly built SDK - -Output Considerations: -- When considering how output should look, solicit advice from baronfel. - -Localization: -- Avoid modifying .xlf files and instead prompt the user to update them using the `/t:UpdateXlf` target on MSBuild. Correctly automatically modified .xlf files have elements with state `needs-review-translation` or `new`. -- Consider localizing strings in .resx files when possible. - -Documentation: -- Do not manually edit files under documentation/manpages/sdk as these are generated based on documentation and should not be manually modified. - -External Dependencies: -- Changes that require modifications to the dotnet/templating repository (Microsoft.TemplateEngine packages) should be made directly in that repository, not worked around in this repo. -- The dotnet/templating repository owns the TemplateEngine.Edge, TemplateEngine.Abstractions, and related packages. -- If a change requires updates to template engine behavior or formatting (e.g., DisplayName properties), file an issue in dotnet/templating and make the changes there rather than adding workarounds in this SDK repository. diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000000..9510c202a406 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,83 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Repository Overview + +This is the .NET SDK repository (dotnet/sdk) — the toolchain for building, running, and publishing .NET applications. It contains the `dotnet` CLI, MSBuild tasks/targets, project system SDKs (Web, Razor, Blazor, Containers, StaticWebAssets, Wasm), template engine, workload management, and related tooling. + +Uses the Arcade build infrastructure (Microsoft.DotNet.Arcade.Sdk). C# language version is Preview with nullable enabled and warnings as errors. + +## Local Development Workflow + +### Building + +```bash +./build.sh # Linux/macOS (must use bash, not zsh) +build.cmd # Windows +``` + +By default (without `-pack`), the build skips crossgen and installers (`SkipUsingCrossgen=true`, `SkipBuildingInstallers=true`) to speed up inner-loop iteration. Build output goes to `artifacts/bin/redist//dotnet/`. + +Key flags: +- `-c Release` — Release configuration (default: Debug) +- `-pack` — Full build including crossgen and NuGet packages +- `-bl` — Generate MSBuild binary log (useful for diagnosing build issues) +- `-v ` — MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic] +- Extra MSBuild properties can be passed directly, e.g. `./build.sh /p:SomeProperty=value` + +### Using the Built SDK (Dogfooding) + +After building, set up your shell to use the locally-built SDK: + +```bash +# macOS/Linux (bash only) +source ./eng/dogfood.sh + +# Windows +eng\dogfood.cmd +# or: artifacts\sdk-build-env.bat +``` + +This puts the built SDK on your PATH so `dotnet build`, `dotnet test`, etc. use your local changes. + +### Running Tests + +```bash +# All tests via build script +./build.sh --test + +# Single test project (after full build + dogfood) +cd test/.Tests +dotnet test + +# Single test by name +dotnet test --filter "FullyQualifiedName~TestMethodName" + +# Single test by class +dotnet test --filter "ClassName=Microsoft.DotNet.Cli.SomeTests" +``` + +Test projects live in `test/` with naming conventions `.Tests` (unit) and `.IntegrationTests` (integration). + +## Project Layout + +- **`src/Cli/`** — The `dotnet` CLI entry point and command implementations +- **`src/Tasks/`** — MSBuild tasks (`Microsoft.NET.Build.Tasks`, etc.) +- **`src/StaticWebAssetsSdk/`** — Static web assets build pipeline +- **`src/WebSdk/`**, **`src/RazorSdk/`**, **`src/BlazorWasmSdk/`** — Web project SDKs +- **`src/Containers/`** — Container publishing support +- **`src/Dotnet.Watch/`** — `dotnet watch` tool +- **`src/Resolvers/`** — SDK resolver infrastructure +- **`test/`** — All test projects, test assets (`test/TestAssets/TestProjects/`) +- **`eng/`** — Build infrastructure (Arcade, pipelines, dogfood scripts) +- **`documentation/`** — Developer guide, CLI UX guidelines, snapshot testing docs + +Filtered solution files for focused work: `cli.slnf`, `tasks.slnf`, `containers.slnf`, `TemplateEngine.slnf`. + +## Key Conventions + +- Tests use XUnit. Some tests use the Verify library for snapshot-based assertion (e.g., CLI completion tests in `test/dotnet.Tests/CompletionTests/`). +- The repo builds with a specific preview SDK version pinned in `global.json`, which `build.sh`/`build.cmd` installs automatically. Don't update this manually. +- CI runs on Azure DevOps with tests distributed via Helix. Test orchestration is in `test/UnitTests.proj`. +- Centralized package versioning via `Directory.Packages.props`. From 747216e7c568f8998aa82c221d4a5a4ab1a9b191 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Mon, 23 Mar 2026 15:44:21 -0700 Subject: [PATCH 03/10] Clean up Copilot instructions --- AGENTS.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 9510c202a406..45295f9b62e1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,12 +1,8 @@ -# CLAUDE.md +# .NET SDK Repo Instructions -This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. +## Overview -## Repository Overview - -This is the .NET SDK repository (dotnet/sdk) — the toolchain for building, running, and publishing .NET applications. It contains the `dotnet` CLI, MSBuild tasks/targets, project system SDKs (Web, Razor, Blazor, Containers, StaticWebAssets, Wasm), template engine, workload management, and related tooling. - -Uses the Arcade build infrastructure (Microsoft.DotNet.Arcade.Sdk). C# language version is Preview with nullable enabled and warnings as errors. +This is the .NET SDK repository (dotnet/sdk). It contains the `dotnet` CLI, MSBuild tasks/targets, project system SDKs (Web, Razor, Blazor, Containers, StaticWebAssets, Wasm), template engine, workload management, and related tooling. Uses the Arcade build infrastructure. ## Local Development Workflow @@ -73,11 +69,10 @@ Test projects live in `test/` with naming conventions `.Tests` (uni - **`eng/`** — Build infrastructure (Arcade, pipelines, dogfood scripts) - **`documentation/`** — Developer guide, CLI UX guidelines, snapshot testing docs -Filtered solution files for focused work: `cli.slnf`, `tasks.slnf`, `containers.slnf`, `TemplateEngine.slnf`. - ## Key Conventions -- Tests use XUnit. Some tests use the Verify library for snapshot-based assertion (e.g., CLI completion tests in `test/dotnet.Tests/CompletionTests/`). -- The repo builds with a specific preview SDK version pinned in `global.json`, which `build.sh`/`build.cmd` installs automatically. Don't update this manually. -- CI runs on Azure DevOps with tests distributed via Helix. Test orchestration is in `test/UnitTests.proj`. +- Some tests use the Verify library for snapshot-based assertion (e.g., CLI completion tests in `test/dotnet.Tests/CompletionTests/`). +- The repo builds with a specific preview SDK version pinned in `global.json`, which `build.sh`/`build.cmd` install automatically. Don't update this manually. +- CI runs on Azure DevOps with distributed testing via Helix. Test orchestration is in `test/UnitTests.proj`. - Centralized package versioning via `Directory.Packages.props`. + From c66fd64d6b74da9a350d076c4a53572485f71cc2 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Mon, 30 Mar 2026 09:52:16 -0700 Subject: [PATCH 04/10] Remove recommendation to run all tests --- AGENTS.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 45295f9b62e1..d2ae4189ee67 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -39,18 +39,19 @@ This puts the built SDK on your PATH so `dotnet build`, `dotnet test`, etc. use ### Running Tests -```bash -# All tests via build script -./build.sh --test +Do **not** run the full test suite locally — it takes hours and is handled by CI (Azure DevOps + Helix). Instead, run only the tests relevant to your changes. + +After building, run individual test projects: -# Single test project (after full build + dogfood) +```bash +# Run all tests in a specific test project cd test/.Tests dotnet test -# Single test by name +# Run a single test by name dotnet test --filter "FullyQualifiedName~TestMethodName" -# Single test by class +# Run a single test by class dotnet test --filter "ClassName=Microsoft.DotNet.Cli.SomeTests" ``` From b9bdec04aeb357461e17d5ee4fc872bbcc2e63a1 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Mon, 30 Mar 2026 10:00:37 -0700 Subject: [PATCH 05/10] Rework project layout in AGENTS.md --- AGENTS.md | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d2ae4189ee67..a0af111ab734 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -59,16 +59,31 @@ Test projects live in `test/` with naming conventions `.Tests` (uni ## Project Layout -- **`src/Cli/`** — The `dotnet` CLI entry point and command implementations -- **`src/Tasks/`** — MSBuild tasks (`Microsoft.NET.Build.Tasks`, etc.) -- **`src/StaticWebAssetsSdk/`** — Static web assets build pipeline -- **`src/WebSdk/`**, **`src/RazorSdk/`**, **`src/BlazorWasmSdk/`** — Web project SDKs -- **`src/Containers/`** — Container publishing support -- **`src/Dotnet.Watch/`** — `dotnet watch` tool -- **`src/Resolvers/`** — SDK resolver infrastructure -- **`test/`** — All test projects, test assets (`test/TestAssets/TestProjects/`) -- **`eng/`** — Build infrastructure (Arcade, pipelines, dogfood scripts) -- **`documentation/`** — Developer guide, CLI UX guidelines, snapshot testing docs +| Feature | Location | +|---|---| +| `dotnet` CLI (entry point & commands) | `src/Cli/` | +| MSBuild tasks & targets | `src/Tasks/` | +| `dotnet watch` tool | `src/Dotnet.Watch/` | +| `dotnet format` tool | `src/Dotnet.Format/` | +| SDK container builds | `src/Containers/` | +| Static web assets pipeline | `src/StaticWebAssetsSdk/` | +| Blazor WebAssembly SDK | `src/BlazorWasmSdk/` | +| Razor SDK | `src/RazorSdk/` | +| Web publish SDK | `src/WebSdk/` | +| WebAssembly SDK (non-Blazor) | `src/WasmSdk/` | +| API compatibility tools (ApiCompat, GenAPI, PackageValidation) | `src/Compatibility/` | +| .NET code analyzers | `src/Microsoft.CodeAnalysis.NetAnalyzers/` | +| Workload management | `src/Workloads/` | +| SDK resolvers | `src/Resolvers/` | +| Template locator | `src/Microsoft.DotNet.TemplateLocator/` | +| CLI tab completions | `src/System.CommandLine.StaticCompletions/` | +| Compilers toolset | `src/Microsoft.Net.Sdk.Compilers.Toolset/` | +| MSI installer support | `src/Microsoft.Win32.Msi/` | +| SDK layout & redistribution | `src/Layout/` | +| Tests & test assets | `test/` | +| Template content | `template_feed/` | +| Build infrastructure (Arcade, pipelines, dogfood) | `eng/` | +| Developer documentation | `documentation/` | ## Key Conventions From 16c4bdf6b9b4c52bd183cac071e50e272fd613f5 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Mon, 30 Mar 2026 10:04:36 -0700 Subject: [PATCH 06/10] Remove unnecessary lines --- AGENTS.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a0af111ab734..9ef47f924939 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -87,8 +87,6 @@ Test projects live in `test/` with naming conventions `.Tests` (uni ## Key Conventions -- Some tests use the Verify library for snapshot-based assertion (e.g., CLI completion tests in `test/dotnet.Tests/CompletionTests/`). - The repo builds with a specific preview SDK version pinned in `global.json`, which `build.sh`/`build.cmd` install automatically. Don't update this manually. - CI runs on Azure DevOps with distributed testing via Helix. Test orchestration is in `test/UnitTests.proj`. -- Centralized package versioning via `Directory.Packages.props`. From 9cac85c198f7570b04962244865b0cd676795f8c Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Mon, 6 Apr 2026 10:37:44 -0700 Subject: [PATCH 07/10] Simplify and remove unnecessary parts of AGENTS.md --- AGENTS.md | 70 +++++++++++++++++++++---------------------------------- 1 file changed, 27 insertions(+), 43 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 9ef47f924939..4ba9ca8d7861 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,61 +1,47 @@ -# .NET SDK Repo Instructions +# dotnet/sdk Repo Overview -## Overview - -This is the .NET SDK repository (dotnet/sdk). It contains the `dotnet` CLI, MSBuild tasks/targets, project system SDKs (Web, Razor, Blazor, Containers, StaticWebAssets, Wasm), template engine, workload management, and related tooling. Uses the Arcade build infrastructure. +This is the .NET SDK repo. +It contains the `dotnet` CLI, MSBuild tasks/targets, project system SDKs, template engine, workload management, and related tooling. +This repo uses https://github.com/dotnet/arcade for build, test, and pipeline infrastructure. ## Local Development Workflow -### Building +Use the `.dotnet/dotnet` executable for `dotnet` CLI commands. +It is automatically acquired during the build process. +Do not modify the SDK version specified in `global.json`. -```bash -./build.sh # Linux/macOS (must use bash, not zsh) -build.cmd # Windows -``` +### Build -By default (without `-pack`), the build skips crossgen and installers (`SkipUsingCrossgen=true`, `SkipBuildingInstallers=true`) to speed up inner-loop iteration. Build output goes to `artifacts/bin/redist//dotnet/`. +- Linux/macOS: `./build.sh` +- Windows: `build.cmd` Key flags: -- `-c Release` — Release configuration (default: Debug) -- `-pack` — Full build including crossgen and NuGet packages -- `-bl` — Generate MSBuild binary log (useful for diagnosing build issues) -- `-v ` — MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic] -- Extra MSBuild properties can be passed directly, e.g. `./build.sh /p:SomeProperty=value` - -### Using the Built SDK (Dogfooding) - -After building, set up your shell to use the locally-built SDK: - -```bash -# macOS/Linux (bash only) -source ./eng/dogfood.sh - -# Windows -eng\dogfood.cmd -# or: artifacts\sdk-build-env.bat -``` +- `-bl` - Generate MSBuild binary log (useful for diagnosing build issues) +- `-v ` - MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic] +- Extra MSBuild properties can be passed directly with `/p:SomeProperty=value` -This puts the built SDK on your PATH so `dotnet build`, `dotnet test`, etc. use your local changes. +The newly built .NET CLI is output to `artifacts/bin/redist/Debug/dotnet/dotnet`. +It can be used to sanity check local changes in a temp directory. -### Running Tests +### Test -Do **not** run the full test suite locally — it takes hours and is handled by CI (Azure DevOps + Helix). Instead, run only the tests relevant to your changes. +Do not run the full test suite locally, it takes hours. +Instead, run only the tests relevant to your changes. After building, run individual test projects: ```bash # Run all tests in a specific test project -cd test/.Tests -dotnet test +./.dotnet/dotnet test test/.Tests # Run a single test by name -dotnet test --filter "FullyQualifiedName~TestMethodName" +./.dotnet/dotnet test test/.Tests --filter "FullyQualifiedName~TestMethodName" # Run a single test by class -dotnet test --filter "ClassName=Microsoft.DotNet.Cli.SomeTests" +./.dotnet/dotnet test test/.Tests --filter "ClassName=Microsoft.DotNet.Cli.SomeTests" ``` -Test projects live in `test/` with naming conventions `.Tests` (unit) and `.IntegrationTests` (integration). +Test projects live in `test/.Tests` and `.IntegrationTests` (with one exception: `NetAnalyzers` tests live in `src/Microsoft.CodeAnalysis.NetAnalyzers/tests`). ## Project Layout @@ -80,13 +66,11 @@ Test projects live in `test/` with naming conventions `.Tests` (uni | Compilers toolset | `src/Microsoft.Net.Sdk.Compilers.Toolset/` | | MSI installer support | `src/Microsoft.Win32.Msi/` | | SDK layout & redistribution | `src/Layout/` | -| Tests & test assets | `test/` | | Template content | `template_feed/` | -| Build infrastructure (Arcade, pipelines, dogfood) | `eng/` | -| Developer documentation | `documentation/` | -## Key Conventions - -- The repo builds with a specific preview SDK version pinned in `global.json`, which `build.sh`/`build.cmd` install automatically. Don't update this manually. -- CI runs on Azure DevOps with distributed testing via Helix. Test orchestration is in `test/UnitTests.proj`. +### Meta +| Build infrastructure (Arcade, pipelines, dogfood) | `eng/` | +| Developer documentation | `documentation/` | +| Tests & test assets | `test/` | +| Distributed test orchestration via Helix | `test/UnitTests.proj` | From 4e349fe1ea6765ad3e284386f9e18a2e8537bab0 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Thu, 16 Apr 2026 07:58:41 -0700 Subject: [PATCH 08/10] Update test path Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 4ba9ca8d7861..078eafaf98f7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -41,7 +41,7 @@ After building, run individual test projects: ./.dotnet/dotnet test test/.Tests --filter "ClassName=Microsoft.DotNet.Cli.SomeTests" ``` -Test projects live in `test/.Tests` and `.IntegrationTests` (with one exception: `NetAnalyzers` tests live in `src/Microsoft.CodeAnalysis.NetAnalyzers/tests`). +Test projects live in `test/.Tests` and `test/.IntegrationTests` (with one exception: `NetAnalyzers` tests live in `src/Microsoft.CodeAnalysis.NetAnalyzers/tests`). ## Project Layout From dac83ead5d5e44d858a5c102c2a506b563e758ff Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Thu, 16 Apr 2026 08:05:44 -0700 Subject: [PATCH 09/10] Remove layout content that is self-evident --- AGENTS.md | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 078eafaf98f7..f46115e081c1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -48,29 +48,8 @@ Test projects live in `test/.Tests` and `test/.Integra | Feature | Location | |---|---| | `dotnet` CLI (entry point & commands) | `src/Cli/` | -| MSBuild tasks & targets | `src/Tasks/` | -| `dotnet watch` tool | `src/Dotnet.Watch/` | -| `dotnet format` tool | `src/Dotnet.Format/` | -| SDK container builds | `src/Containers/` | -| Static web assets pipeline | `src/StaticWebAssetsSdk/` | -| Blazor WebAssembly SDK | `src/BlazorWasmSdk/` | -| Razor SDK | `src/RazorSdk/` | -| Web publish SDK | `src/WebSdk/` | -| WebAssembly SDK (non-Blazor) | `src/WasmSdk/` | -| API compatibility tools (ApiCompat, GenAPI, PackageValidation) | `src/Compatibility/` | -| .NET code analyzers | `src/Microsoft.CodeAnalysis.NetAnalyzers/` | -| Workload management | `src/Workloads/` | -| SDK resolvers | `src/Resolvers/` | -| Template locator | `src/Microsoft.DotNet.TemplateLocator/` | -| CLI tab completions | `src/System.CommandLine.StaticCompletions/` | -| Compilers toolset | `src/Microsoft.Net.Sdk.Compilers.Toolset/` | -| MSI installer support | `src/Microsoft.Win32.Msi/` | -| SDK layout & redistribution | `src/Layout/` | | Template content | `template_feed/` | - -### Meta - -| Build infrastructure (Arcade, pipelines, dogfood) | `eng/` | -| Developer documentation | `documentation/` | -| Tests & test assets | `test/` | +| Build infrastructure | `eng/` | +| Arcade infrastructure (do not edit) | `eng/common` | | Distributed test orchestration via Helix | `test/UnitTests.proj` | +| Developer documentation | `documentation/` | From da4f0f4844e1c68c77c55a06fd26ce70cae09a9c Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Thu, 16 Apr 2026 08:08:00 -0700 Subject: [PATCH 10/10] Update build flag section --- AGENTS.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f46115e081c1..44efbe614240 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,10 +15,11 @@ Do not modify the SDK version specified in `global.json`. - Linux/macOS: `./build.sh` - Windows: `build.cmd` -Key flags: -- `-bl` - Generate MSBuild binary log (useful for diagnosing build issues) -- `-v ` - MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic] -- Extra MSBuild properties can be passed directly with `/p:SomeProperty=value` +Useful flags: + +- `-bl` - Generate binlog +- `-v ` - verbosity: q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic] +- `/p:SomeProperty=value` - Set MSBuild property The newly built .NET CLI is output to `artifacts/bin/redist/Debug/dotnet/dotnet`. It can be used to sanity check local changes in a temp directory.