What established architecture-rule tools document about their enforcement models, where their approaches differ, and which claims need more than a documentation review.
Scope and method
A focused review of public documentation for architecture-rule tools and adjacent code-analysis workflows: ArchUnit for Java, ArchUnitTS for TypeScript and JavaScript, dependency-cruiser for dependency rules, and SonarQube Server Design and Architecture documentation.
Compared the enforcement model, documented language scope, and the way each source says teams run or act on checks. Sources are vendor or project documentation, reviewed September 30, 2026. This is a documentation review, not a hands-on product trial.
Research findings
What the public evidence supports
Finding 01
A common model is to keep architecture rules beside the test suite.
ArchUnit describes importing Java bytecode, expressing dependency and layer rules, and evaluating them with ordinary Java test frameworks. ArchUnitTS presents a similar workflow for TypeScript and JavaScript, including integrations with Vitest, Jest, Jasmine, and runner-neutral calls.
Why it matters: For teams already relying on tests and CI, architecture checks can fit into an established developer workflow. The tradeoff is that teams own the rules and decide when and where those tests run.
dependency-cruiser rules match a source module and a destination module. Rules can be forbidden, named, assigned a severity, and configured to return a non-zero result for build-breaking violations. Its reference also documents checks for cycles and dependencies between selected paths.
Why it matters: This makes the policy itself inspectable in configuration. Teams should compare the rule language and graph coverage against their own module layout before choosing a tool.
Language coverage and execution point are practical selection filters.
The reviewed sources describe different scopes: the ArchUnit user guide focuses on Java bytecode; ArchUnitTS targets TypeScript and JavaScript; dependency-cruiser describes JavaScript, TypeScript, and CoffeeScript dependency graphs. Their documented integration points also differ, from test frameworks to configurable dependency analysis.
Why it matters: A useful evaluation starts with supported languages and the repository’s preferred enforcement point, then compares rule expressiveness and diagnostic detail.
One platform comparison is limited by an outdated deprecation notice.
SonarQube Server’s versioned 2025.5 Design and Architecture overview describes architecture-as-code and CI verification for Java, while warning that architecture-as-code and cycle detection were deprecated pending removal in January 2026.
Why it matters: Because the stated removal date predates this review, the page is evidence of the documented workflow at that version, not proof that the feature is available today. Confirm its current status with Sonar before treating it as an active alternative.
The public documentation does not settle claims about autonomous repair.
The sources reviewed explain how teams define constraints and receive architecture findings through tests, dependency analysis, or CI. They do not provide enough evidence to conclude that any one tool is the only option for continuous monitoring or automated code changes.
Why it matters: A defensible comparison of autonomous repair would require a separate, hands-on review of the same repositories and correction workflows. This audit does not claim a winner.
No tools were installed or tested against the same repository. This review makes no claims about relative accuracy, performance, false-positive rates, pricing, adoption, or customer outcomes.
Documentation can omit capabilities. The reviewed pages do not establish whether a product offers continuous repository monitoring or automated code repair, so silence on those topics is not evidence that a capability is absent.
The SonarQube Server 2025.5 page still says its architecture-as-code and cycle-detection features were deprecated pending removal in January 2026. That date has passed; this review could not verify the feature’s current availability.
This is a selected sample of relevant tools, not an exhaustive market inventory. Product names and support can change; verify current documentation before making a purchasing decision.