Files

157 lines
5.9 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🤖 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`