Repository navigation
WireDoctor 1.2.0 β Architectural Boundaries & Dev Feedback
β¨ New
- Module Boundaries (opt-in). Declare your modules by package prefix and WireDoctor flags every edge that reaches from one module into another module's internal (non-API) package β hidden coupling that compiles fine but quietly erodes modularity. Read from the resolved bean graph; surfaced in the console, in
wiredoctor-report.json(boundaryViolations), and a new Boundaries tab in the HTML report. Zero overhead when off. boundary-violationCI gate.wiredoctor.fail-on=boundary-violationfails the build on a cross-module violation β no baseline needed, it trips on the current graph the first time one appears. The verdict is also written towiredoctor-gate.status, so CI can gate even where the JVM exit code is unreliable (e.g.spring-boot:run).- DevTools restart diff. With
spring-boot-devtoolson the classpath, each restart logs a one-line diff vs the previous run β new/resolved cycles, new slow beans, startup-time delta, bean-count change β architectural drift caught as you type. Console-only, dev-only.
π§ Fixed
- Deterministic
boundaryViolationsordering β stable order (by module, then bean), so committed reports and build logs no longer reshuffle between runs. - Publisher metadata β the POM now declares
<organization>, so the artifact carries a properImplementation-Vendorinstead of "unknown".
π Docs
- Full report tour recaptured from a real, unmodified run of start.spring.io (394 beans, 0 cycles, 3 boundary violations) β view it live: https://ddsha441981.github.io/wiredoctor/sample/v1.2.0/wiredoctor-report.html
- New Module Boundaries guide; updated CI-gating & configuration docs.
β Compatibility
Spring Boot 2.7.18 β 4.1.1 Γ Java 17 / 21 / 25 β 294 tests green.
Maven: io.github.ddsha441981:wiredoctor-autoconfigure:1.2.0 Β· Docs β https://ddsha441981.github.io/wiredoctor/