From the free book Delta: Closing the Specification Gap (Dhuri, 2026). The PDF is the canonical edition — figures, tables, and code formatting are simplified online.
C Project Setup Guide C.1 .NET 9 Key NuGet Packages <!-- Application: MediatR 12.*, FluentValidation 11.*, MEL ,→ Abstractions 8.* --> <!-- Infrastructure: EF Core 9.*, Npgsql EFCore 8.*, Serilog. ,→ AspNetCore 8.*, Anthropic.SDK 3.* --> <!-- Tests: xunit 2.*, xunit.runner.visualstudio 2.*, NSubstitute 5.*, ,→ FluentAssertions 6.*, coverlet 6.* --> <!-- Project settings: <Nullable>enable</Nullable> <LangVersion>12</ ,→ LangVersion> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> -->
149
<!-- Web: spring-boot-starter-web, spring-boot-starter-security --> <!-- Data: spring-boot-starter-data-jpa, postgresql (runtime), flyway,→ core --> <!-- Messaging: spring-kafka, spring-boot-starter-data-redis --> <!-- Utilities: lombok (optional:true), mapstruct 1.5.5.Final --> <!-- Test: spring-boot-starter-test, spring-security-test, ,→ testcontainers:postgresql --> <!-- Plugins: spring-boot-maven-plugin, maven-compiler-plugin (with mapstruct + lombok annotation processors), jacoco-maven,→ plugin 0.8.11 --> <!-- Parent: spring-boot-starter-parent 3.3.4 / Java 21 -->