diff --git a/AGENTS.md b/AGENTS.md
index 4dd02f3..ecb0528 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -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
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
diff --git a/docs/tasarim/DESIGN.md b/docs/tasarim/DESIGN.md
index 5a9faa6..5386898 100644
--- a/docs/tasarim/DESIGN.md
+++ b/docs/tasarim/DESIGN.md
@@ -114,6 +114,8 @@ turuncu **tek tondur: `orange-500`** — CTA butonunun turuncusuyla birebir ayn
ton/opaklıkta bu renkler yine yasak. (`bg-violet-50 text-violet-600` tek bir mevcut durum
çipidir; yeni yere taşıma — üniversite sayfasında "Vakıf" çipi bu yüzden hap + ikonla
değiştirildi, §4.12.)
+ İkinci istisna: üst çubuktaki "Beta" sürüm rozeti, dolu `bg-indigo-500` (§4.14, Bilal'in
+ kararı, 7 Eki 2026) — gösterge karesiyle aynı mor, yine yalnız dolu zemin.
- Gradyan metin (`bg-clip-text text-transparent`) ve parlama gölgesi (`shadow-[0_0_…]`) yok.
- Hex/oklch değeri sınıf içine yazılmaz (`text-[#…]`); token ya da Tailwind tonu kullanılır.
Risk renklerinin SVG karşılığı `src/lib/risk.ts` içindeki `RISK_PIN_RENK`'ten okunur.
@@ -448,6 +450,16 @@ verilir (logo listesi istemciye inmez).
Hareket: yay `bounce: 0, duration: 0.35`, giriş ve çıkış aynı yoldan; "hareketi azalt"ta yalnız
opaklık.
+**Sürüm rozeti** (`src/components/surum-rozeti.tsx`, 7 Eki 2026): logo yazısının hemen
+sağında "Beta" hapı + sürüm numarası. Hap Arc UI Badge (uiarc.dev/components/badge) `sm`
+boyunun karşılığı (yazı §3 alt sınırı gereği 11 yerine 12 px): `inline-flex h-[22px] items-center rounded-full bg-indigo-500 px-2
+text-xs leading-none font-semibold tracking-[-0.01em] text-white` — renk akademik gösterge
+karesinin moru (§2.2 istisnası), renkli zeminde yazı `font-semibold`. Sürüm hapın **içinde
+değil**, yanında: `text-xs font-medium text-slate-500 tabular-nums`, `hidden sm:inline`
+(dar ekranda yalnız hap kalır). Rozet logo yazısıyla aynı fade sınıflarını taşır; NavBaslik
+yuvası açılınca birlikte söner. Sayı `package.json`'dan gelir (AGENTS.md "Sürümleme");
+elle yazılmaz. Başka yerde tekrarlanmaz — SectionEyebrow kuralının tek istisnasıdır.
+
### 4.15 Liste satırı (program/üniversite listeleri) — `src/components/liste-satiri.ts`
Sınıf dizileri tek dosyada (`SATIR_AD`, `SATIR_META`, `SATIR_CIP`, `SATIR_MOBIL_SAYI`,
`SATIR_BUTON_KABI`…); üniversite, bölüm ve `/sonuc` tabloları oradan okur. Yeni bir liste
diff --git a/package.json b/package.json
index b44556d..dac4e01 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "kolaytercih",
- "version": "0.1.0",
+ "version": "1.0.0",
"private": true,
"scripts": {
"dev": "next dev",
diff --git a/src/components/site-header.tsx b/src/components/site-header.tsx
index be3a6e6..3f63331 100644
--- a/src/components/site-header.tsx
+++ b/src/components/site-header.tsx
@@ -1,6 +1,7 @@
import { Suspense } from "react";
import Link from "next/link";
import { AnimasyonluMark } from "@/components/animasyonlu-mark";
+import { SurumRozeti } from "@/components/surum-rozeti";
import { KatalogArama } from "@/features/katalog/components/katalog-arama";
import { UserNav, UserNavFallback } from "@/features/kullanici/components/user-nav";
import { getRehberAramaKayitlari } from "@/lib/rehber";
@@ -32,6 +33,9 @@ export function SiteHeader() {
Tercih
+ {/* Beta rozeti + sürüm (surum-rozeti.tsx); yazı logosuyla aynı
+ fade'i taşır ki NavBaslik yuvası açılınca birlikte sönsün. */}
+
+
+ Beta
+
+
+ v{SURUM}
+
+
+ );
+}
diff --git a/src/lib/surum.ts b/src/lib/surum.ts
new file mode 100644
index 0000000..e0b29a6
--- /dev/null
+++ b/src/lib/surum.ts
@@ -0,0 +1,8 @@
+import pkg from "../../package.json";
+
+/**
+ * Sitenin sürümü — tek kaynak package.json `version` alanıdır (AGENTS.md
+ * "Sürümleme"). Header'daki rozet bunu okur; build'e girdiği için canlıda
+ * görünen sayı her zaman deploy edilen commit'in package.json'ıdır.
+ */
+export const SURUM: string = pkg.version;