📜 ADR
Bu bölüm, projelerimizin mimarisini şekillendiren kritik kararların kronolojik bir günlüğüdür. Sadece neye karar verdiğimizi değil, neden o kararı aldığımızı ve o anki bağlamı belgeleriz.
🎯 Neden ADR Tutuyoruz?
- Hafıza Kaybını Önlemek: Altı ay sonra "Neden bu veritabanını seçtik?" dediğimizde cevabı burada buluruz.
- Onboarding Desteği: Yeni katılan arkadaşlarımız, sistemin evrimini ve arkasındaki mantığı hızlıca kavrar.
- Hatalardan Ders Çıkarmak: Geçmişte alınan kararların sonuçlarını (pros/cons) görerek aynı hataları tekrarlamayız.
- Hizalama (Alignment): Teknik tartışmaları sözlü olmaktan çıkarıp, yazılı ve kalıcı bir mutabakata dönüştürürüz.
🚦 Karar Durumları (Status)
Her karar belgesi aşağıdaki durumlardan birine sahip olmalıdır:
- 🟡 Proposed: Tartışma aşamasında, henüz karara bağlanmamış.
- 🟢 Accepted: Kabul edildi ve uygulanmaya başlandı.
- 🔴 Deprecated: Artık geçerli olmayan bir uygulama.
- 🔵 Superseded: Başka bir karar (örn: ADR-005) tarafından geçersiz kılındı (yerine yenisi geldi).
🛠️ Yeni Bir ADR Nasıl Eklenir?
Bir mimari değişiklik veya önemli bir kütüphane seçimi yapıldığında şu adımları izle:
- Şablonu Kullan:
docs/adr/template.mddosyasını kopyala. - İsimlendir: Dosyayı
000X-karar-basligi.mdformatında adlandır (örn:0004-switching-to-postgresql.md). - PR Aç: Kararını bir Pull Request olarak gönder ve ekip arkadaşlarını olarak etiketle.
Daha detaylı bilgi için Document Style Guide bakınız.