- docs/tasarim/DESIGN.md: 9 bölümlük görsel dil belgesi (renk rolleri, tipografi, tek kaynak bileşenlerin sınıf dizileri, yerleşim, yap/yapma, brief şablonu) - kolaytercih-tasarim skill'i: UI işinde tetiklenir, belgeye götürür, örnek verir; tasarimci ve yazilimci ajanlarına skills: ile önyüklenir - scripts/tasarim-denetim.ts: 13 kural (Badge, CTA'da Sparkles, palet dışı ton, gradyan metin, parlama, hareket spam'i, çarpı, font); pnpm lint'e bağlandı - ui-ux-pro-max genel kataloğu skills'ten .agents/skills-devre-disi/ altına taşındı - AGENTS.md: DESIGN.md kuralı; rozet sınıfı koda göre düzeltildi (font-bricolage yoktu) - arama-funnel-karti: palet dışı text-cyan-300 → text-orange-500 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
4.5 KiB
name, description
| name | description |
|---|---|
| kolaytercih-tasarim | KolayTercih'in kendi görsel dili — piksel imzası (SectionEyebrow, PixelDivider, PixelCorner), Cal Sans/Clarity City/Bricolage tipografisi, mavi bilgi + turuncu aksiyon rengi, slate nötrler, sondaki ArrowRight'lı CTA. Yeni ekran, bileşen, kart, modal, buton, form ya da sayfa tasarlarken; mevcut arayüzü değiştirirken; "AI gibi duruyor", "sitenin diline uymuyor", "piksel detayı kaybolmuş" denince kullanılır. docs/tasarim/DESIGN.md'nin giriş kapısıdır. |
KolayTercih tasarım dili
Bu proje için genel tasarım kütüphanesi (stil katalogları, palet listeleri) kullanılmaz;
yön zaten belli. Kaynak tek: docs/tasarim/DESIGN.md. Bu dosya onu nasıl uygulayacağını söyler.
1. Başlamadan önce (zorunlu)
docs/tasarim/DESIGN.mddosyasını tamamını oku (181 satır). Özellikle §4 tek kaynaklar ve §7 yap/yapma.- Dört satırlık brief'i doldur (DESIGN.md §9): amaç · referans ekran · tek kaynak parçalar · durumlar.
- Referans ekranı bul ve aç; kopyalayacağın sınıf dizilerini oradan al:
grep -rn "SectionEyebrow" src --include='*.tsx' -l # rozetli başlık bloğu örnekleri
grep -rn "bg-orange-500" src --include='*.tsx' -l # turuncu CTA örnekleri
grep -rn "PixelCorner\|PagePixelDivider" src -l --include='*.tsx' # piksel imzası taşıyan ekranlar
Ana sayfa bölüm iskeleti: src/app/page.tsx (Problem bölümü, ~satır 268). Alt sayfa başlığı: src/app/meraklisina/page.tsx.
2. Yazarken
- Kanonik parçaları içe aktar, yeniden çizme:
SectionEyebrow,PagePixelDivider,PixelCorner(@/components/pixel-decor);Button(@/components/ui/button);Card(@/components/ui/card);DialogContentvarsayılan çarpısı (@/components/ui/dialog);ArrowRight,XIcon(lucide-react). - Sınıf dizilerini DESIGN.md'den birebir kopyala; "yaklaşık aynı" yazma.
- Her piksel süsüne o sayfaya özgü tek
seedver (mevcut seed'ler:grep -rho "seed={[0-9]*}" src | sort -u). - Risk rengi kullanıyorsan metin etiketini
RISK_ETIKET/DILIM_ETIKET'ten (src/lib/risk.ts) al. - Türkçe tanımlayıcı, çevredeki kodla aynı yorum yoğunluğu (AGENTS.md).
3. Bitirmeden önce
pnpm tasarim:denetim # sıfır hata olmadan iş bitmiş sayılmaz
Uyarıları raporda listele; hataları düzelt. Sonra 375 px kontrol notu yaz: taşma, üst üste binme, dokunma hedefi < 44 px, uzun üniversite adı. (Tarayıcı açma kuralı AGENTS.md'de; koddan çıkarım yazıyorsan "koddan çıkarım" de.)
4. Örnekler
İstek: "Bölüm sayfasına 'Bu bölümü okuyanlar ne diyor' başlığı ekle." Çıktı:
<div className="flex flex-col items-center gap-4 text-center">
<SectionEyebrow>Öğrenci görüşleri</SectionEyebrow>
<h2 className="font-heading text-3xl font-bold sm:text-4xl">Bu bölümü okuyanlar ne diyor?</h2>
<p className="max-w-xl text-lg leading-relaxed text-slate-600">…</p>
</div>
İstek: "Paket sayfasına satın alma butonu koy." Çıktı:
<Button size="lg" className="h-12 w-full cursor-pointer bg-orange-500 px-8 text-white transition-colors duration-200 hover:bg-orange-600">
Paketi al
<ArrowRight className="size-4" aria-hidden />
</Button>
(Yanlış: başta <Sparkles />, bg-gradient-to-r, rounded-xl, "Hemen Al ✨".)
İstek: "Üniversite sayfasına URAP kartı ekle." Çıktı:
<div className="relative overflow-hidden rounded-2xl border border-slate-200 bg-white p-5">
<PixelCorner className="absolute right-4 top-4" />
<p className="text-xs font-semibold text-slate-500">URAP Türkiye</p>
<p className="mt-1 font-heading text-2xl font-bold text-slate-900">18 <span className="text-base font-medium text-slate-400">/ 198</span></p>
</div>
İstek: "Modal ekle, çarpı sağ üstte olsun."
Çıktı: DialogContent varsayılanını kullan; hiçbir sınıf verme. Özel yerleşim şartsa showCloseButton={false} + DESIGN.md §4.3'teki sınıf dizisi aynen.
5. Kısa yasak listesi
Badge import'u · elle pill span · CTA'da Sparkles/emoji · indigo/purple/gray/zinc · gradyan metin ·
parlama gölgesi · whileHover scale · her elemanda fade-up · dark: · Inter/Roboto/serif · text-[#hex] · renk tek başına anlam.
6. Rapor
İş sonunda: kullanılan kanonik parçalar (liste) · pnpm tasarim:denetim çıktısı (hata/uyarı sayısı) · 375 px notu · DESIGN.md ile çelişen bir şey bulduysan dosya:satır ile yaz, kendi başına kuralı değiştirme.