İçeriğe geç

Mimari kuralları yazma (arch.yaml)

Mimarinizi deponuzun kökündeki bir arch.yaml dosyasında tanımlarsınız. AppArch bu kuralları her PR/MR’da uygular.

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 - katman adları ve hangi yolların o katmana ait olduğu.
  • rules - her kuralın bir id’si vardır; forbid yön bağımlılığını, max_module_loc boyut eşiğini tanımlar.

Sıfırdan yazmak yerine hazır bir şablon seçebilirsiniz: Clean Architecture, Hexagonal, Layered, DDD, Feature-Sliced Design ve daha fazlası. Panelde Kurallar → Şablondan başla ile bir arch.yaml taslağı oluşturup deponuza ekleyin.

Her kuralın iki kaçış mekanizması vardır:

  • except - kural tanımında belirli yolları/paketleri muaf tutar.
  • ignore - tek tek bulguları susturur.

PR yorumundan tek tıkla “Kabul et” diyebilirsiniz; ArchPilot kuralı bir sonraki incelemede bağlamı hatırlar.

Kuralları panelden proje veya çalışma alanı bazında açıp kapatabilirsiniz. Panelde kapattığınız bir kural collector’a hiç gönderilmez - gereksiz bulgu üretmez. Ayrıntı: ArchPilot’u etkinleştirme.