SOLID Design (v1.9.4+)
Each generator is split into three focused classes following SRP:
| Class | Responsibility |
|---|---|
*Generator (e.g. ResultToIResultGenerator) |
Entry point — thin [Generator] wrapper, delegates to orchestrator |
*Orchestrator |
Coordinates pipeline — registers Phase 1 + Phase 2 |
*AttributeGenerator |
Emits the [GenerateResultExtensions] / [AutoGenerateEndpoints] etc. attribute |
*ExtensionGenerator / *CodeGenerator |
Emits the actual extension methods |
This eliminates duplicate generation (CS0101/CS0579 errors) and makes each piece independently testable.