Fast .NET tooling —
format, lint, build cache & test sharding
A Rust-powered, instant-start alternative to dotnet format plus a C#
linter — and CI accelerators: Git affected-project detection, an Azure Blob remote build
cache, and NUnit test sharding for Azure DevOps and GitHub Actions. The native paths
load no MSBuild or Roslyn, so they start in milliseconds and run common jobs 10–100× faster.
Install
dotnet tool install -g RDLL.dotnet-fast dotnet tool update -g RDLL.dotnet-fast # update to the latest
dotnet-fast lint path/to/App.sln # report findings (the CI gate) dotnet-fast lint --fix path/to/App.sln # apply every safe fix in one pass dotnet-fast affected --ci # projects to build/test for this change dotnet-fast test-plan --shards 8 --format matrix .
What it does
lint
Report formatting + native CST lint findings (the fast CI gate). --fix applies the safe fixes; --deep opts into the project's real Roslyn analyzers.
format
Apply whitespace/style formatting on a dotnet format-compatible path — no MSBuild load, starts in milliseconds.
affected
List the projects a Git change set affects (plus reverse-dependents) for scoped CI. Emits a job matrix for Azure DevOps / GitHub Actions.
build preview
Remote build cache backed by Azure Blob Storage: restore cached build outputs on a clean checkout instead of rebuilding; build misses and upload trusted artifacts.
test-plan preview
NUnit test sharding for parallel CI agents — discovered from source before test assemblies are built, balanced with project affinity, emitted as an ADO/Actions matrix.
doctor
Fast, build-free scan for common workspace problems (duplicate references, CPM conflicts, inconsistent lock usage, and more).
Native paths use no MSBuild or Roslyn (hand-written XML/filesystem evaluation + tree-sitter). The exceptions are documented and opt-in: lint --deep runs real Roslyn analyzers, and build orchestrates the real dotnet build on a cache miss.
Built for speed
format checkaffected detectionEvery run reports its own cost; add --json to any command for machine-readable results and timing.
Made for CI
- Scope the build —
affected --citells the pipeline exactly which projects changed. - Skip the rebuild —
buildrestores prior outputs from an Azure Blob cache on a clean checkout. - Parallelize tests —
test-planshards NUnit suites across agents (Azure DevOpsparallel/matrix, GitHub Actions) without building first.
Guides: build cache · test sharding · full command reference.
Support the project
dotnet-fast is free to use. If it speeds up your builds and CI, a coffee genuinely helps and is much appreciated.