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.
Temel yapı
Bölüm başlığı “Temel yapı”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 - katman adları ve hangi yolların o katmana ait olduğu.
- rules - her kuralın bir
id’si vardır;forbidyön bağımlılığını,max_module_locboyut eşiğini tanımlar.
Şablonlardan başlama
Bölüm başlığı “Şablonlardan başlama”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.
Yanlış pozitifleri yönetme
Bölüm başlığı “Yanlış pozitifleri yönetme”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.
Proje/workspace override
Bölüm başlığı “Proje/workspace override”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.