Zum Inhalt springen

Architekturregeln schreiben (arch.yaml)

Sie definieren Ihre Architektur in einer arch.yaml-Datei im Stammverzeichnis Ihres Repositorys. AppArch setzt diese Regeln bei jedem PR/MR durch.

version: 2
style: hexagonal # clean | hexagonal | layered | custom
layers:
- { name: presentation, paths: ["src/ui/**", "apps/mobile/**"] }
- { name: application, paths: ["src/use-cases/**"] }
- { name: domain, paths: ["src/domain/**"] }
- { name: infrastructure, paths: ["src/infra/**"] }
rules:
- id: RULE-014
forbid: "presentation → infrastructure"
- id: RULE-002
forbid: "domain → *"
except: ["std", "shared/types"]
- id: RULE-031
max_module_loc: 2000
  • layers - die Schichtnamen und welche Pfade zu welcher Schicht gehören.
  • rules - jede Regel hat eine id; forbid definiert eine gerichtete Abhängigkeit, max_module_loc definiert einen Größenschwellenwert.

Anstatt von Grund auf neu zu schreiben, können Sie eine vorgefertigte Vorlage auswählen: Clean Architecture, Hexagonal, Layered, DDD, Feature-Sliced Design und mehr. Verwenden Sie im Panel Regeln → Mit Vorlage beginnen, um einen arch.yaml-Entwurf zu generieren und ihn Ihrem Repository hinzuzufügen.

Jede Regel verfügt über zwei Ausnahmemechanismen:

  • except - nimmt bestimmte Pfade/Pakete in der Regeldefinition aus.
  • ignore - unterdrückt einzelne Befunde.

Sie können direkt aus dem PR-Kommentar mit einem einzigen Tippen auf „Akzeptieren“ klicken; ArchPilot merkt sich den Kontext der Regel bei der nächsten Prüfung.

Sie können Regeln pro Projekt oder pro Workspace im Panel ein- oder ausschalten. Eine Regel, die Sie im Panel deaktivieren, wird niemals an den Collector gesendet - sie erzeugt keine unnötigen Befunde. Details: ArchPilot aktivieren.