Building the project
Issues and pull requests are welcome.
Install the SDK
Section titled “Install the SDK”The repository pins its .NET SDK in global.json and installs it locally, so it does not interfere with anything else
on your machine:
./eng/install-sdk.shThe SDK lands in ./eng/.dotnet, along with the older runtimes the test suite needs.
Activate your shell
Section titled “Activate your shell”. ./eng/activate.shThis puts the local SDK first on PATH and sets DOTNET_ROOT. Confirm with dotnet --info; run deactivate to undo
it.
dotnet buildLaunching your IDE from the activated shell makes it use the same SDK:
. ./eng/activate.shrider Affected.slndotnet testThe suite creates temporary Git repositories and runs real MSBuild evaluations, so it is slower than a unit-test-only
run and needs git available.
Layout
Section titled “Layout”| Path | What it is |
|---|---|
src/dotnet-affected |
The CLI: commands, options, views and output formatters |
src/DotnetAffected.Core |
Discovery, Git change detection, NuGet diffing, graph walking |
src/DotnetAffected.Abstractions |
Interfaces and DTOs shared by the CLI, SDK and tests |
src/DotnetAffected.Tasks |
The MSBuild SDK — task, Sdk.props/Sdk.targets, examples |
test/ |
Test projects plus the shared temporary-repository helpers |
benchmarks/ |
BenchmarkDotNet projects |
docs/ |
This documentation site |
eng/ |
SDK install/activate scripts and packaging helpers |
Working on the docs
Section titled “Working on the docs”The site is an Astro Starlight project under docs/. See
docs/README.md — it includes a
container-based workflow, so you don’t need Node installed to run it.