Tool Reference

Each enforcement tool has its own page with project-specific configuration, guides, and usage notes.

Tools Overview

Tool Role Trigger Specs
ArchUnit Architecture enforcement Every push (JUnit) ARCH-001, ARCH-002, ARCH-003
Checkstyle Code style enforcement Every push CS-001, CS-002, CS-003
SpotBugs Bug detection Every push BUG-001, BUG-002, BUG-003
SonarQube Quality gate On PR only CQ-001, CQ-002, CQ-003
OpenRewrite Code modernisation (remediation) Before release MIG-001, MIG-002, MIG-003

How Tools Relate to Specs

Each Spec maps to one or more tools via its tools front-matter field:

tools: [archunit, sonarqube]   ← this Spec is enforced by both tools

The Spec page describes what is enforced and why. The Tool page describes how to configure and run the enforcement.

CI Pipeline Flow

flowchart LR subgraph "Every Push" A[Checkstyle] --> D[Build] B[SpotBugs] --> D C[ArchUnit] --> D end subgraph "On PR" E[SonarQube] --> F{Quality Gate} end subgraph "Before Release" G[OpenRewrite] --> H[Dry-Run Patch] end D --> E