From 117a3c1f9602821d27f9eca5468b065e3d407d6e Mon Sep 17 00:00:00 2001 From: Fahri Can Date: Wed, 15 Apr 2026 17:42:35 +0300 Subject: [PATCH] docs: add critical database safety rules to prompt.md --- prompt.md | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100755 prompt.md diff --git a/prompt.md b/prompt.md new file mode 100755 index 0000000..56308a0 --- /dev/null +++ b/prompt.md @@ -0,0 +1,156 @@ +# 🤖 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`