# Copilot Development Rules ## Genel Kurallar - Kodlar mevcut proje yapısına uygun olmalı. - Gin + Gorm mimarisine sadık kalınmalı. - Gereksiz paket eklenmemeli. - Fonksiyonlar küçük, net ve test edilebilir olmalı. - Tüm endpointler standart HTTP semantiğine uygun olmalı. - Hata mesajları tutarlı ve anlaşılır olmalı. ## Mimari Kurallar - Handler katmanı sadece HTTP ile ilgilenmeli. - DB işlemleri Gorm üzerinden yapılmalı. - Gerekirse DTO/request struct kullanılmalı. - Model alanları ile response alanları ayrılmalı. - Şifre hash’i asla response içinde dönmemeli. ## Admin User Yönetimi Kuralları - Admin endpointleri `/admin/users` altında toplanmalı. - Listeleme, detay, oluşturma, güncelleme, durum değiştirme ve silme desteklenmeli. - Kullanıcı listesinde pagination ve search desteği tercih edilmeli. - Yetkisiz erişim engellenmeli. - Eğer rol sistemi yoksa, en az müdahaleyle admin kontrolü eklenmeli. ## Güvenlik Kuralları - Password düz metin saklanmamalı. - Password hash işlemi `bcrypt` ile yapılmalı. - Oluşturma ve güncellemede input validation yapılmalı. - Sensitive alanlar response’a eklenmemeli. - JWT veya mevcut auth sistemiyle uyum sağlanmalı. ## Router Kuralları - Route tanımları `router/router.go` içinden yapılmalı. - Mevcut routing düzeni bozulmamalı. - Admin route grubu middleware ile korunmalı. ## Kod Kalitesi - İsimler açık ve tutarlı olmalı. - Hatalar `400/401/403/404/500` gibi uygun kodlarla dönmeli. - Gereksiz tekrar engellenmeli. - Gerekirse helper fonksiyonlar kullanılmalı.