feat(header): Beta sürüm rozeti ve sürümleme kuralı (→ 1.0.0)
All checks were successful
Deploy / deploy (push) Successful in 11m16s

Logonun yanına Arc UI Badge biçiminde, akademik gösterge morunda (bg-indigo-500)
"Beta" hapı ve package.json'dan okunan sürüm numarası eklendi. Canlı sistem
1.0.0 olarak işaretlendi; semantik sürümleme kuralı AGENTS.md'ye, rozetin
tasarım tanımı DESIGN.md §2.2/§4.14'e yazıldı.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-10-07 23:02:43 +03:00
parent a3cb058a3b
commit b2bab50337
6 changed files with 73 additions and 2 deletions

View File

@@ -16,6 +16,27 @@ Açtığında geçerli olanlar:
- Tarayıcıda hesap açma, şifre/kart/kimlik girme, ödeme, mesaj gönderme, yayın/post, CAPTCHA çözme, dosya indirme **yine yasak** (PROTOKOL md.5). Çerez bandı çıkarsa reddet. Kullanıcının açık oturumlarına girme.
- Canlı siteye (`kolaytercih.com`) bakmak serbesttir ve çoğu zaman dev sunucusu açmaktan ucuzdur — önce onu dene.
# Sürümleme (7 Eki 2026'dan itibaren geçerli)
Site semantik sürüm taşır; tek kaynak `package.json` `version` alanıdır, header'daki
rozet (`src/components/surum-rozeti.tsx`, `src/lib/surum.ts`) bunu build'den okur.
Canlıdaki (`main`) sistem **1.0.0 Beta**'dır; `v2` dalı **2.0.0** geliştirmesidir.
Kurallar:
- **Major (X.0.0):** sihirbaz/liste/ödeme akışında kullanıcının gördüğü davranış değişir,
eski liste ya da raporlar yeni sistemle uyumsuz hâle gelir, ya da veri şeması kırılır.
Yalnızca Bilal açar; `vN` adlı dalda biriktirilir, `main`'e merge edilince `package.json`
`N.0.0` olur.
- **Minor (x.Y.0):** yeni özellik, yeni ekran, yeni rehber altyapısı — geriye uyumlu.
Özelliği `main`'e alan commit `package.json`'daki sürümü de artırır (aynı commit).
- **Patch (x.y.Z):** hata düzeltmesi, metin/stil düzeltmesi, içerik. Düzeltme commit'i
artırır; yalnız rehber yazısı ekleyen commit'ler sürüm artırmaz.
- "Beta" etiketi rozette sabittir; kalkması Bilal'in kararıdır (rozet metni tek yerde,
`surum-rozeti.tsx`).
- Sürüm artıran commit mesajı `chore(surum): 1.1.0` ya da özelliğin mesajına `(→ 1.1.0)`
ekiyle yazılır; `main`'e giden her push'tan sonra canlıdaki rozetin beklenen sayıyı
gösterdiği kontrol edilir.
# Push öncesi build zorunlu
Push emri geldiğinde önce lokalde `pnpm build` başarıyla geçmeli; geçmeden asla push etme. Kritik detay: çalışma ağacı kirliyken build, commit'lenmemiş dosyaları da gördüğü için CI'da kırılacak bir commit'i yakalayamayabilir. Bu yüzden build'i **push edilecek commit'in kendisi** üzerinde doğrula (ör. geçici `git worktree add <dir> HEAD` + `node_modules` symlink'i ile). Ayrıca kısmi commit atarken değişikliğin bağımlılık kapanışını kontrol et — bir dosyanın kullandığı prop/export başka bir commit'lenmemiş dosyadan geliyorsa onları da aynı commit'e dahil et.
@@ -30,7 +51,7 @@ Sitede açık / koyu / sistem teması var (DESIGN.md §2.3). Karanlık mod `src/
# Badge/eyebrow rozetleri: tek kaynak SectionEyebrow
Site genelindeki tüm badge/rozet/eyebrow elemanları ana sayfadaki section başlıklarının üstünde duran rozetle birebir aynı olmalı. Kanonik bileşen `src/components/pixel-decor.tsx` içindeki `SectionEyebrow`dur (piksel imzalı `PixelMark` ikonu + `inline-flex items-center gap-2 rounded-full border border-slate-200 bg-card px-3.5 py-1.5 text-xs font-semibold text-primary`; metin büyük-küçük harfli yazılır — uppercase yok). Yeni bir badge/eyebrow gerektiğinde `SectionEyebrow` kullan (`className` prop'u kenar boşluğu için var); `@/components/ui/badge`'deki `Badge` ile ya da elle yazılmış pill span'lerle yeni badge tasarlama. İnteraktif chip/buton pill'leri (filtre çipleri, nav butonları) bu kuralın dışındadır.
Site genelindeki tüm badge/rozet/eyebrow elemanları ana sayfadaki section başlıklarının üstünde duran rozetle birebir aynı olmalı. Kanonik bileşen `src/components/pixel-decor.tsx` içindeki `SectionEyebrow`dur (piksel imzalı `PixelMark` ikonu + `inline-flex items-center gap-2 rounded-full border border-slate-200 bg-card px-3.5 py-1.5 text-xs font-semibold text-primary`; metin büyük-küçük harfli yazılır — uppercase yok). Yeni bir badge/eyebrow gerektiğinde `SectionEyebrow` kullan (`className` prop'u kenar boşluğu için var); `@/components/ui/badge`'deki `Badge` ile ya da elle yazılmış pill span'lerle yeni badge tasarlama. İnteraktif chip/buton pill'leri (filtre çipleri, nav butonları) bu kuralın dışındadır. Header'daki "Beta" sürüm rozeti (`src/components/surum-rozeti.tsx`) de dışındadır: o Arc UI Badge biçiminde, akademik gösterge morunda (`bg-indigo-500`) tek bir yerde durur; başka yere kopyalanmaz.
# UI tutarlılığı: ortak elemanlar tek kaynaktan