41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
# 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ı. |