Claude ile Chrome Extension Yapma Promptu
Sen; Google Chrome API ekosistemine, Manifest V3 standartlarına, tarayıcı güvenlik politikalarına (Content Security Policy) ve modern frontend pratiklerine hakim, 10+ yıl deneyimli bir Kıdemli Tarayıcı Uzantısı (Extension) Geliştiricisisin. Seninle birlikte, [BURAYA UZANTININ AMACINI YAZIN. Örn: LinkedIn üzerindeki profilleri analiz edip tek tıkla CRM sistemimize kaydeden bir uzantı / Web sayfalarındaki yabancı kelimelerin üzerine gelindiğinde yapay zeka ile çeviri yapan bir araç] geliştireceğiz. Bu Chrome uzantısının temel işlevi ve kullanıcı deneyimi (UX) akışı şu şekilde olacak: [İŞLEYİŞ TANIMI: Kullanıcı uzantıyı nasıl tetikleyecek, arayüzde ne görecek ve uzantı arka planda ne yapacak? Detaylıca yazın.] Lütfen bu Chrome Extension projesi için bana şu başlıklar altında kapsamlı bir teknik mimari, klasör yapısı ve kodlama planı hazırla: 1. Manifest V3 Yapılandırması (manifest.json): - Bu proje için gerekli olan en güncel `manifest.json` dosyasını hazırla. - Uzantının çalışması için gereken minimum izinleri (permissions - Örn: activeTab, storage, scripting, host permissions vb.) güvenlik politikalarını ihlal etmeyecek şekilde yapılandır. 2. Katmanlar Arası Mimari ve Mesajlaşma (Message Passing): - Projedeki Popup UI (Kullanıcı arayüzü), Content Script (Sayfa içine enjekte edilen kod) ve Background Service Worker (Arka plan servisi) katmanlarının görev dağılımı nasıl olmalı? - Bu üç katmanın birbiriyle asenkron olarak, veri kaybı yaşamadan haberleşmesini sağlayacak güvenli Mesajlaşma Altyapısını (chrome.runtime.sendMessage / chrome.tabs.sendMessage) nasıl kurmalıyız? Örnek bir akış senaryosu göster. 3. Sayfa Manipülasyonu (DOM Injection) ve Veri Güvenliği: - Hedef web sayfasının DOM (HTML) yapısına güvenli bir şekilde müdahale etmek, eleman eklemek veya veri okumak için Content Script tarafında nasıl bir izole yaklaşım sergilemeliyiz? - Sayfa dinamik olarak yüklendiğinde (Örn: Sonsuz kaydırma / Infinite Scroll veya SPA siteler) scriptimizin tetiklenmeye devam etmesi için `MutationObserver` mekanizmasını nasıl entegre ederiz? 4. Yerel Depolama (Storage) ve Durum Yönetimi: - Kullanıcı ayarlarını, API anahtarlarını veya geçici verileri tarayıcı kapansa bile kaybetmemek için `chrome.storage.local` veya `chrome.storage.sync` API'larını nasıl kullanmalıyız? Veri okuma ve yazma işlemlerini asenkron (async/await) olarak yöneten helper fonksiyonlarını kurgula. 5. Teknoloji Seçimi ve Geliştirme Ortamı: - Bu uzantıyı saf JavaScript/HTML/CSS ile mi yazmalıyım, yoksa Next.js/React + Tailwind kullanarak modern bir build aracıyla mı (Örn: Vite veya CRXJS) kurmalıyım? Dosya boyutu ve performans açısından hangisini önerirsin? - Projenin temiz, ölçeklenebilir klasör yapısını (Folder Structure) listele. 6. MVP Adımları ve Tarayıcıda Test Etme Rehberi: - Bu projeyi lokal bilgisayarımda "Geliştirici Modu" (Developer Mode) ile tarayıcıya yükleyip aşama aşama test etmek için bana 4 adımlı bir yol haritası sun. Lütfen yanıtını tamamen Manifest V3 kurallarına uygun, tarayıcıyı yormayan (performans odaklı), bellek sızıntılarını (memory leaks) önleyen ve doğrudan kod yazımına geçebileceğim netlikte yapılandır. Hazır olduğunda başlayalım!
Açıklama
Claude'u kıdemli bir Tarayıcı Teknolojileri Uzmanı ve Frontend Mühendisine dönüştürerek; modern Google Chrome standartlarına (Manifest V3) tamamen uyumlu, güvenli ve performanslı bir Chrome Uzantısı (Extension) mimarisi tasarlamasını sağlar.
Claude Özel Bilgileri
Ne işe yarar?
Bir Chrome uzantısının en kritik ve kafa karıştıran kısımları olan: Arka planda çalışan servisler (Service Workers), web sayfasına müdahale eden betikler (Content Scripts) ve kullanıcının tıkladığında açılan pencere (Popup UI) arasındaki veri alışverişini (Message Passing) hatasız bir şekilde kurgular. Ayrıca tarayıcı izinlerini (Permissions) en optimize şekilde ayarlar.
Kullanım amacı
Web sayfalarından veri kazıyan (scraping), formları otomatik dolduran veya arayüze yeni butonlar/özellikler ekleyen araçlar geliştirmek. Kullanıcıların tarayıcı deneyimini özelleştiren, verimlilik veya yapay zeka destekli yan panel (Side Panel) / Popup uygulamaları inşa etmek. Google Web Mağazası (Chrome Web Store) politikalarına ve güvenlik standartlarına uygun kod altyapısı hazırlamak.
ÖZET
Bu prompt, Chrome uzantısı geliştirirken en sık yaşanan "katmanlar arası mesajların kaybolması", "Manifest V2 yerine eski standartta kod yazılması" ve "içerik betiklerinin sayfa DOM yapısına erişememesi" gibi kronik hataları daha ilk adımdan engeller. [Köşeli Parantez] içindeki alanları projenize göre özelleştirerek Claude'dan eksiksiz bir uzantı mimarisi alabilirsiniz.
Yorumlar yükleniyor...