# 🤖 AI Assistant Context - NestJS Backend > Bu dosya, AI asistanların (Claude, GPT, Gemini vb.) projeyi hızlıca anlaması için hazırlanmış bir referans dökümanıdır. --- ## 📚 Projeyi Anlamak İçin Önce Oku 1. **README.md** dosyasını oku - Projenin mimarisi, ADR'ler, teknoloji stack'i ve kurulum adımlarını içerir. ``` README.md ``` --- ## 🎯 Referans Klasörü `.agent/` klasörü best practice'ler, agent tanımları ve yardımcı scriptler içerir. Görev türüne göre ilgili referansları kullan: ### Skills (Beceri Setleri) | Beceri | Konum | Ne Zaman Kullan | | -------------------------- | ---------------------------------------- | ------------------------------- | | **Senior Backend** | `.agent/skills/senior-backend/` | API geliştirme, servis yazarken | | **Senior Fullstack** | `.agent/skills/senior-fullstack/` | End-to-end feature geliştirme | | **Code Reviewer** | `.agent/skills/code-reviewer/` | Code review yaparken | | **Receiving Code Review** | `.agent/skills/receiving-code-review/` | Review feedback işlerken | | **Senior ML Engineer** | `.agent/skills/senior-ml-engineer/` | ML/AI entegrasyonları | | **Senior Prompt Engineer** | `.agent/skills/senior-prompt-engineer/` | LLM prompt optimizasyonu | ### Agents (Roller) | Agent | Konum | Açıklama | | ---------------------- | -------------------------------------- | --------------------------- | | **TypeScript Pro** | `.agent/agents/typescript-pro.md` | TypeScript best practices | | **Code Reviewer** | `.agent/agents/code-reviewer.md` | Kod review yapma | | **Debugger** | `.agent/agents/debugger.md` | Hata ayıklama | | **Security Engineer** | `.agent/agents/security-engineer.md` | Güvenlik analizi | | **Database Optimizer** | `.agent/agents/database-optimizer.md` | DB performans optimizasyonu | | **API Documenter** | `.agent/agents/api-documenter.md` | API dokümantasyonu | | **API Security Audit** | `.agent/agents/api-security-audit.md` | API güvenlik denetimi | | **AI Engineer** | `.agent/agents/ai-engineer.md` | AI/ML entegrasyonları | | **Data Scientist** | `.agent/agents/data-scientist.md` | Veri analizi | --- ## 🔧 Teknoloji Stack'i (Özet) - **Framework:** NestJS - **ORM:** Prisma - **Database:** PostgreSQL - **Cache:** Redis - **Auth:** JWT + RBAC - **i18n:** nestjs-i18n - **Language:** TypeScript (Strict Mode) --- ## 🏗️ Proje Yapısı Özeti ``` src/ ├── common/ # Shared (BaseService, BaseController, Filters, Interceptors) ├── config/ # App configuration ├── database/ # Prisma service ├── i18n/ # Translation files └── modules/ # Feature modules (auth, users, admin, health) ``` --- ## ✅ Görev Bazlı Referans Kullanımı **API geliştirirken:** ``` .agent/skills/senior-backend/SKILL.md .agent/skills/senior-backend/references/ ``` **Code review yaparken:** ``` .agent/skills/code-reviewer/SKILL.md .agent/skills/code-reviewer/references/common_antipatterns.md ``` **Güvenlik denetimi yaparken:** ``` .agent/agents/security-engineer.md .agent/agents/api-security-audit.md ``` **Database optimizasyonu:** ``` .agent/agents/database-optimizer.md ``` --- ## 🚨 VERİTABANI GÜVENLİĞİ — KRİTİK KURALLAR > **Bu kurallar KESİNLİKLE ihlal edilemez. Canlı ortamda veri kaybına yol açacak herhangi bir komut çalıştırılması YASAKTIR.** ### ❌ YASAKLI Prisma Komutları (ASLA Kullanılmayacak) | Komut | Neden Yasak | | --- | --- | | `prisma migrate reset` | Tüm tabloları siler ve veritabanını sıfırlar | | `prisma db push --force-reset` | Schema'yı zorla uygular, mevcut verileri siler | | `prisma migrate dev --create-only` sonrası manuel `DROP` | Veri kaybına yol açabilir | | `DROP SCHEMA public CASCADE` | Tüm tabloları ve verileri kalıcı olarak siler | | `DROP DATABASE` | Veritabanını tamamen yok eder | | `TRUNCATE TABLE` (toplu) | Tüm kayıtları siler | ### ✅ İZİN VERİLEN Prisma Komutları | Komut | Açıklama | | --- | --- | | `prisma migrate deploy` | Sadece bekleyen migration'ları uygular, veri silmez | | `prisma generate` | Prisma Client'ı yeniden oluşturur, DB'ye dokunmaz | | `prisma migrate dev` | **Sadece lokal geliştirme ortamında** kullanılabilir | ### ⚠️ Genel Kurallar 1. **Canlı veritabanı (production) üzerinde hiçbir destructive işlem yapılmamalıdır.** 2. **Migration dosyaları her zaman additive (eklemeli) olmalıdır.** Kolon silme veya tablo kaldırma gibi işlemler öncesinde mutlaka yedek alınmalı ve kullanıcıya danışılmalıdır. 3. **Deploy pipeline'ında sadece `prisma migrate deploy` kullanılır.** Bu komut yalnızca henüz uygulanmamış migration'ları çalıştırır ve mevcut verilere dokunmaz. 4. **Veritabanı şifreleri ve bağlantı bilgileri asla kod içinde veya commit'lerde açık metin olarak bulunmamalıdır.** Environment variable veya secret yönetimi kullanılmalıdır. --- ## 💡 Örnek Prompt'lar ### Yeni Module Oluşturma > "`.agent/skills/senior-backend/` referanslarını kullanarak, `notifications` modülü oluştur. BaseService ve BaseController pattern'lerini kullan." ### Code Review > "`.agent/skills/code-reviewer/references/common_antipatterns.md` dosyasına göre `src/modules/auth/` klasörünü review et." ### Güvenlik Analizi > "`.agent/agents/api-security-audit.md` rolünü al ve projenin güvenlik açıklarını analiz et." ### Database Optimizasyonu > "`.agent/agents/database-optimizer.md` rolünü al ve Prisma sorgularını optimize et." --- **Frontend Projesi:** `../nextjs-boilerplate-full/prompt.md`