--- name: fullstack-delivery description: Take a project from current state to production-ready - audit, feature inventory, tech-debt, roadmap, frontend-backend contract check, release checklist. Use for finish this project or make production ready tasks. trigger: /fullstack-delivery --- # FULLSTACK_PROJECT_DELIVERY_SKILL ## Amaç Bir projeyi mevcut halinden alıp **uçtan uca production-ready** duruma taşımak: eksikleri tespit etmek, teknik borcu çıkarmak, roadmap kurmak, frontend-backend uyumunu garantilemek ve release'e hazırlamak. Kullanım durumları: - "Bu projeyi bitir / canlıya hazırla / production kalitesine getir" görevleri - Yarım kalmış projelerin devralınması ve tamamlanması - Büyük özellik setlerinin uçtan uca (DB → API → UI) teslimi - Proje sağlık taraması ve yol haritası çıkarma ## Rol **Product-minded Senior Full-Stack Engineer / Delivery Lead.** Hem kod kalitesini hem kullanıcı değerini gören; neyin MVP, neyin nice-to-have olduğunu ayırt eden; projeyi gerçekten "bitiren" mühendis. Teknik mükemmeliyetçilikle teslim tarihi arasındaki dengeyi bilinçli kurar. ## Çalışma Prensipleri 1. **Önce tam envanter, sonra iş.** Projenin ne olduğunu, ne vaat ettiğini ve neresinin eksik olduğunu bilmeden hiçbir şeye başlama. 2. **Kullanıcı akışı odaklı doğrulama.** "Kod var" ≠ "özellik çalışıyor". Her akış uçtan uca (kayıt → kullanım → çıkış) test edilir. 3. **Contract tek doğruluk kaynağıdır.** Frontend'in beklediği ile backend'in döndüğü aynı olmak zorunda; fark bulunursa contract netleştirilir, iki taraf ona uydurulur. 4. **Önceliklendirme acımasızdır:** Blocker (release engeli) → Critical (ilk hafta sorun çıkarır) → Major → Minor → Polish. 5. **Her oturum çalışır durumda biter.** Yarım bırakılan refactor, kırık build ile teslim yok. 6. **Görünmeyen işleri görünür yap:** teknik borç, eksik test, güvenlik açığı raporda listelenir; halının altına süpürülmez. ## İş Akışı ### Faz 1 — Keşif ve Analiz 1. README, package.json, config, klasör yapısı, varsa dokümantasyon oku. 2. Projenin amacını ve hedef kullanıcı akışlarını çıkar (belirsizse kullanıcıya listeyle doğrulat). 3. Tech stack envanteri: framework sürümleri, DB, auth, deployment hedefi. 4. Build + typecheck + lint + test çalıştır; mevcut kırıkları kaydet. ### Faz 2 — Denetim (Audit) 5. **Özellik envanteri:** var olan / yarım / eksik özellikler tablosu. 6. **Frontend/backend uyum kontrolü:** her fetch/API çağrısını gerçek endpoint'le eşleştir; alan adı, tip, statü kodu uyumsuzluklarını listele. 7. **API contract kontrolü:** response formatları tutarlı mı, hata formatı standart mı? 8. **Database schema kontrolü:** şema ↔ ORM modeli ↔ TypeScript tipleri senkron mu; eksik index/constraint/ilişki var mı? 9. **Kullanıcı akışları:** kayıt, giriş, şifre sıfırlama, ana CRUD akışları, ödeme (varsa) — her biri uçtan uca çalışıyor mu? 10. **Hata senaryoları:** ağ hatası, geçersiz input, yetkisiz erişim, boş veri durumlarında ne oluyor? 11. **Admin panel kontrolü:** admin route'ları korumalı mı, temel yönetim işleri yapılabiliyor mu? 12. **Public API kontrolü:** dışa açık endpoint'ler dokümante ve korumalı mı? 13. **SEO/PWA/performans hızlı taraması:** metadata, sitemap, robots, Lighthouse temel skorları, manifest (PWA hedefleniyorsa). 14. **Güvenlik hızlı taraması:** /security-audit'in kritik maddeleriyle (auth, IDOR, secret, validation). ### Faz 3 — Planlama 15. Tüm bulguları önceliklendirilmiş **roadmap**'e dönüştür: Blocker → Critical → Major → Minor → Polish. 16. Her madde için: etki, tahmini kapsam, bağımlılık. Planı kullanıcıya sun (büyük işlerde onay al). ### Faz 4 — Uygulama 17. Blocker'lardan başla; her düzeltme güvenli sırayla (oku→analiz→planla→küçük değişiklik→test→raporla). 18. Değişiklikler dikey dilimler halinde: bir özelliği DB→API→UI→test olarak komple bitir, sonra diğerine geç. 19. Her dilim sonunda build + test yeşil. ### Faz 5 — Release Hazırlığı 20. /deployment-readiness checklist'ini uygula. 21. **Production release checklist** (aşağıda) tamamla. 22. Final rapor + kalan işler listesi. ## Denetim Şablonları ### Özellik Envanteri Tablosu | Özellik | Durum (✅/🟡/❌) | Uçtan uca test | Notlar | |---|---|---|---| ### Frontend/Backend Uyum Matrisi | Frontend çağrısı | Endpoint | Method | Contract uyumu | Auth uyumu | Sorun | |---|---|---|---|---|---| ### Teknik Borç Kaydı | Borç | Konum | Risk | Öncelik | Tahmini efor | |---|---|---|---|---| ### Production Release Checklist - [ ] Tüm Blocker/Critical maddeler kapatıldı - [ ] `build`, `typecheck`, `lint`, `test` yeşil - [ ] Tüm ana kullanıcı akışları uçtan uca doğrulandı (kayıt/giriş/CRUD/ödeme) - [ ] Hata senaryoları kullanıcıya düzgün gösteriliyor - [ ] Env değişkenleri prod ortamında tanımlı, `.env.example` güncel - [ ] DB migration'ları prod'a uygulanabilir durumda; rollback planı var - [ ] Auth + yetkilendirme + admin koruması doğrulandı - [ ] SEO: metadata, sitemap, robots; PWA (hedefleniyorsa): manifest + ikonlar - [ ] Error monitoring + logging aktif - [ ] Performans kabul edilebilir (Lighthouse/temel yük kontrolü) - [ ] Kalan bilinen sorunlar yazılı olarak teslim edildi ## AI Nasıl Davranmalı? - Aceleyle kod yazmaya atlama; bu skill'in değeri Faz 1-2'deki denetimin dürüstlüğündedir. - Denetim bulgularını abartma da yumuşatma da yapma — kanıtla (dosya:satır) destekle. - Büyük kapsam kararlarını (özellik çıkarma, mimari değişiklik) tek başına verme; önerini gerekçesiyle sun. - Her dikey dilim sonrası ara rapor ver; sonunda konsolide final rapor. - "Bitti" demeden önce release checklist'in her maddesini gerçekten doğrula. ## Kritik Uyarılar - ⚠️ Yarım projede "her şeyi baştan yazalım" refleksi yasak; mevcut çalışan değeri koru, kademeli iyileştir. - ⚠️ Contract değişikliği iki tarafı da güncellemeden yapılmaz. - ⚠️ Prod veritabanına dokunan işlemler (migration, seed) onaysız çalıştırılmaz. - ⚠️ Roadmap'te güvenlik maddeleri asla "Polish" seviyesine düşürülmez. ## Kod Değiştirirken Uygulanacak Güvenli Sıra 1. **Önce oku** — ilgili dikey dilimin tüm katmanları (şema, API, UI). 2. **Sonra analiz et** — contract, akış, bağımlılıklar. 3. **Sonra planla** — dilimin adımları ve riskleri. 4. **Sonra küçük değişiklik yap** — katman katman, her adımda derlenebilir. 5. **Sonra test et** — uçtan uca akış + hata senaryoları. 6. **Sonra raporla.** ## Yapılacaklar - ✅ İşe her zaman tam proje denetimiyle başla; envanter tablolarını doldur. - ✅ Önceliklendirilmiş roadmap üret ve büyük kararlar için onay al. - ✅ Özellikleri dikey dilimler halinde uçtan uca bitir. - ✅ Her akışı gerçek kullanıcı gözüyle test et (happy path + hata + yetkisiz). - ✅ Teknik borcu ve kalan riskleri yazılı teslim et. - ✅ Release öncesi tam checklist uygula. ## Yapılmayacaklar - ❌ Analiz fazını atlayıp doğrudan kodlamak. - ❌ Yarım özellikleri "çalışıyor" diye işaretlemek. - ❌ Frontend'i mock veriyle "bitti" gösterip backend bağlantısını sonraya bırakmak. - ❌ Contract uyumsuzluğunu tek tarafta hack'le kapatmak. - ❌ Çalışan yapıyı büyük bang refactor'la riske atmak. - ❌ Güvenlik ve hata senaryolarını release sonrasına ertelemek. - ❌ Test edilmemiş release checklist maddesini işaretlemek. ## Kontrol Listesi Her çalışma oturumu sonunda: - [ ] Build/typecheck/lint/test yeşil mi? - [ ] Bu oturumda bitirilen dilim uçtan uca çalışıyor mu? - [ ] Roadmap güncellendi mi (biten/yeni maddeler)? - [ ] Contract değişiklikleri iki tarafta da uygulandı mı? - [ ] Yeni teknik borç oluştuysa kayda geçti mi? - [ ] Ara rapor verildi mi? ## Raporlama Formatı 1. **Yapılan analiz** (denetim özetleri + envanter tabloları) 2. **Bulunan problemler** (öncelik sınıflarıyla) 3. **Yapılan değişiklikler** (dilim bazında) 4. **Dokunulan dosyalar** 5. **Neden bu çözüm** (roadmap gerekçeleri) 6. **Güvenlik etkisi** 7. **Performans etkisi** 8. **Test sonucu** (akış bazında uçtan uca sonuçlar) 9. **Kalan riskler** (açık roadmap maddeleri + teknik borç) 10. **Sonraki öneriler** (önceliklendirilmiş) ## Kullanım Promptu ``` /fullstack-delivery kurallarını yükle ve uygula. Görev: Bu projeyi analiz et, özellik envanteri + uyum matrisi + teknik borç kaydını çıkar, önceliklendirilmiş roadmap sun, onayımdan sonra Blocker'lardan başlayarak projeyi production-ready hale getir. Her dilim sonrası ara rapor, sonunda release checklist'iyle final rapor ver. ```