feat(v2): 9–10 Ekim çalışma ağacı — deneyim dili 1. dalga, PWA manifest, revizyon niyet modeli, listem/tadımlık bileşen denetimi

9–10 Ekim oturumlarının commit'lenmemiş işi tek parça alındı
(raporlar: docs/ekip-raporlari/2026-10-09, 2026-10-10):
- Landing deneyim dili 1. dalga: sayfa geçişi (ViewTransition), piksel morf/şerit,
  sorun sahneleri, adım akışı, sayan sayı, mobil menü, adım göstergesi, logoya tepki;
  DESIGN.md §11 ve AGENTS.md kuralları, tasarım denetimine yeni kurallar
- Tema: tema ikonu, D kısayolu, tema geçişi
- PWA: manifest.ts ve ikonlar
- Danışman: revizyon niyet modeli (OPENROUTER_NIYET_MODEL), sohbet geçmişi, soru API'si
- /listem ve /sonuc tadımlığı bileşen denetimi düzeltmeleri
- eslint: .venv-tts/ yok sayılır

tsc, eslint ve tasarım denetimi sıfır hata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-10-11 00:34:29 +03:00
parent da0e9dff7a
commit aec8a2ad76
80 changed files with 4134 additions and 654 deletions

View File

@@ -281,6 +281,35 @@ const KURALLAR: Kural[] = [
mesaj: "Hata/bildirim metninde 'Hay aksi/Eyvah/Oops' ya da 'buraya tıkla' yok; ne oldu + ne yapılacak (DESIGN.md §10.4)",
bul: regexKurali(/Hay aksi|Eyvah|\bOops|\bUups|[Bb]uraya tıkla|[Tt]ıklayın(?:ız)?\b/),
},
{
ad: "yabanci-hareket-paketi",
seviye: "hata",
mesaj:
"Hareket yalnız motion ile; gsap/framer-motion isteyen dış bileşen motion ile yeniden yazılır (DESIGN.md §11.3)",
uiDahil: true,
bul: regexKurali(/from\s+["'](?:gsap|@gsap\/[\w-]+|framer-motion|lenis|matter-js|ogl|three)(?:\/[\w./-]+)?["']/),
},
{
ad: "elle-cta",
seviye: "uyari",
mesaj: 'Turuncu CTA elle yazılmaz; <Button variant="cta"> (DESIGN.md §4.1)',
bul: (icerik) => {
const sonuc: Array<{ index: number; parca: string }> = [];
for (const m of icerik.matchAll(/<Button\b[^>]*?>/g)) {
const t = /\bbg-orange-500\b/.exec(m[0]);
if (t) sonuc.push({ index: (m.index ?? 0) + t.index, parca: t[0] });
}
return sonuc;
},
},
{
ad: "elle-yay",
seviye: "uyari",
mesaj:
"Yay/eğri kullanım yerinde uydurulmaz; src/lib/hareket.ts'teki YAY / EGRI adları ya da --egri-* değişkenleri (DESIGN.md §6)",
uiDahil: true,
bul: regexKurali(/\bstiffness\s*:|cubic-bezier\(/),
},
{
ad: "emoji-ikon",
seviye: "uyari",