Aller au contenu

Écrire des règles d'architecture (arch.yaml)

Vous définissez votre architecture dans un fichier arch.yaml à la racine de votre dépôt. AppArch applique ces règles à chaque PR/MR.

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 - les noms des couches et les chemins qui appartiennent à chaque couche.
  • rules - chaque règle possède un id ; forbid définit une dépendance directionnelle, max_module_loc définit un seuil de taille.

Plutôt que de tout écrire de zéro, vous pouvez choisir un modèle prêt à l’emploi : Clean Architecture, Hexagonale, En couches, DDD, Feature-Sliced Design, et bien d’autres. Dans le panneau, utilisez Règles → Partir d’un modèle pour générer un brouillon arch.yaml et l’ajouter à votre dépôt.

Chaque règle dispose de deux mécanismes d’échappement :

  • except - exempte des chemins/paquets spécifiques dans la définition de la règle.
  • ignore - fait taire des constats individuels.

Vous pouvez cliquer sur « Accepter » d’un seul geste depuis le commentaire de la PR ; ArchPilot retient le contexte de la règle lors de la prochaine revue.

Vous pouvez activer ou désactiver des règles par projet ou par espace de travail dans le panneau. Une règle que vous désactivez dans le panneau n’est jamais envoyée au collecteur - elle ne produit aucun constat inutile. Détails : Activer ArchPilot.