Plugin
dependency-injection-planning
DI planning — constructor injection default, setter/param/ambient where justified, one composition root at main/Program.cs/app.module.ts/bootstrap, lifetimes per dep (singleton / scoped-per-request / transient / per-tenant / per-conversation) with thread-safety rules, framework choice (manual for Go/Rust, Spring for Java, NestJS for TS, FastAPI Depends for Python, built-in DI for .NET), ports + adapters with deterministic ports (Clock / RNG / IdGen / HttpClient), lifecycle hooks, circular-dep prevention via seam extraction.