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.
Grundstruktur
Abschnitt betitelt „Grundstruktur“version: 2style: 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;forbiddefiniert eine gerichtete Abhängigkeit,max_module_locdefiniert einen Größenschwellenwert.
Mit Vorlagen beginnen
Abschnitt betitelt „Mit Vorlagen beginnen“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.
Umgang mit False Positives
Abschnitt betitelt „Umgang mit False Positives“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.
Projekt-/Workspace-Override
Abschnitt betitelt „Projekt-/Workspace-Override“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.