What problem does it solve? Static calls like DateTime.UtcNow and File.ReadAllText make .NET code untestable and tightly coupled. Manually replacing every call site, adding constructor injection, and updating tests is tedious and error-prone across large projects. ## Core Features & Use Cases - Codemod-Style Bulk Replacement: Mechanically converts static calls (DateTime.UtcNow, File., Environment., Console.*) to injected abstractions like TimeProvider and IFileSystem within a bounded scope. - Constructor Injection Automation: Adds dependency parameters to traditional or primary constructors following existing naming conventions, and verifies DI registration in Program.cs or Startup.cs. - Test File Updates: Updates test instantiations with fakes such as FakeTimeProvider and MockFileSystem, then verifies the migration with dotnet build. - Use Case: Migrate DateTime.UtcNow to TimeProvider.GetUtcNow() across one project, with constructor injection added and tests updated to use FakeTimeProvider. ## Quick Start Replace all DateTime.UtcNow calls with TimeProvider.GetUtcNow() in the Services project and add constructor injection to the affected classes.