// Claude Code ve Codex uyumlu

Ajanın hafızası, test disiplini, ERP bilgisi. Bir kez kurulur, hep çalışır.

Kodlama ajanı her oturumda sıfırdan başlar: kuralı unutur, testi koşmadan "bitti" der, paylaşılan dala zorla push atar. ERP Asistanı Ajan bunları makine katmanında çözer: kural metinde kalmaz, hook'ta çalışır. Yanına alan danışmanları, günlük (log) katmanını ve ERP referansını koyar; Claude Code, Codex ya da ikisi — sen seçersin.

lisans aktif v0.8.2günlük denetim 08:53koruma 46/46referans 7.464 tabloağ 0
git add -A && git commit -m "wip"
[toplu-commit] Çıplak git add -A: başka oturumun yarım işini süpürür. Pathspec ver.
koruma.mjs · PreToolUse · 0,4 ms · ağ yok
git commit -m "fix(kampanya): KEP adresine tanıtım maili yok" -- app/Services/Kampanya.php
[main 3f1c9a2] 1 dosya · +14 −2 → pull --rebase → push
PreToolUse kapısı SessionStart hafıza doğrulama haritası otomatik güncelleme ERP referansı

fig. 00 — sekmeler tıklanabilir · çıktılar gerçek, kısaltılmadı

§01 — paketsiz / paketli

Aynı ajan, aynı proje. Fark, oturumun günlüğünde.

Soldaki dört olay her geliştiricinin yaşadığı gün. Sağdaki üç kart o günün bir daha yaşanmaması için kurulan üç makine.

oturum.log — paketsiz4 olay
14:02:11 ajan "bitti" dedi · test koşulmadı · 3 kırmızı akşam fark edildi
14:07:40 git add -A && git commit · başka oturumun yarım rename'i süpürüldü
14:21:05 netsis: KDV oranı sabit %18 yazıldı · kuruluma özel pointer haritası okunmadı
14:31:52 iki gün önce konuşulan kural · hiçbir dosyada yoktu · yeniden anlatıldı
— maliyet: 1 gün · 2 geri alma · 1 müşteri açıklaması
01

sorun

Kuralı unutur

Talimat dosyası büyür, her oturumda yeniden yüklenir; ajan yine de iki gün önceki dersi bilmez.

çözüm

Katmanlı hafıza

Bir gerçek tek katmanda yaşar. Dosya kapsamlı kurallar yalnız dokununca yüklenir; hafıza borcu oturum başında hatırlatılır.

02

sorun

"Bitti" der, test koşmaz

Çalıştığını iddia eder, kanıt göstermez. Sen 2 dakikada test edersin, o 20 dakikada ya da hiç.

çözüm

Doğrulama haritası

Hangi değişiklikte ne koşulacağı ölçülmüş süreyle yazılıdır; test izi Stop hook'unda makine katmanında tutulur.

03

sorun

Geri dönülmez komut atar

Toplu commit, force push, yıkıcı SQL, ev dizininden özyinelemeli silme. Bir kez yeter.

çözüm

Koruma kapısı

PreToolUse hook'u komutu ÇALIŞMADAN durdurur ya da onaya bağlar. Ağ yok, milisaniyenin altında.

§02 — makine katmanı

Kural metinde kalmaz, hook'ta çalışır

Talimat dosyasındaki "yapma" cümlesi unutulabilir; PreToolUse hook'u unutamaz. Kapılar komut çalışmadan önce koşar, yalnız yerel dosya okur, ağa çıkmaz. Aynı script'ler Claude Code'da settings.json, Codex'te hooks.json ile bağlanır: kod tek, bağ iki.

  1. 01 · toplu-commit · karar: engelle

    Çıplak commit kapıda durur

    Başka oturumun yarım işi senin commit'ine süpürülmez. Kural bir JSON satırıdır; hook onu komut çalışmadan önce okur.

    #~/.claude/hooks/koruma-kurallari.json
    { "ad": "toplu-commit", "arac": "Bash|apply_patch",
    "desen": "git (add -A|commit -a)", "karar": "engelle" }
    git add -A && git commit -m "wip"
    [toplu-commit] Çıplak git add -A: başka oturumun yarım işini süpürür. Pathspec ver.
    PreToolUse · 0,4 ms · komut hiç çalışmadı
  2. 02 · yikici-sql · karar: onay

    Yıkıcı SQL onaya bağlanır

    TRUNCATE, DROP, WHERE'siz DELETE: hook durdurur, ne yapılacağını ve kaç satırın etkileneceğini söyletir, "evet" gelmeden koşmaz. Yerelde serbest, canlıda daima sorar.

    #koruma-kurallari.json
    { "ad": "yikici-sql", "desen": "(TRUNCATE|DROP|DELETE FROM(?!.*WHERE))", "karar": "onay" }
    psql -c "TRUNCATE TABLE stok_hareketleri"
    ![yikici-sql] TRUNCATE geri alınamaz. Hedef canlı mı, yerel mi? Kaç satır? → ONAY bekler
    kullanıcı onaylarsa koşar; yerel ortamda kapı açık, canlıda kapalı
  3. 03 · hafiza-borcu · SessionStart

    Hafıza oturum açılırken gelir

    Üç kural katmanı bağlama eklenir, geçen oturumda yazılmamış ders hatırlatılır. Bir gerçek tek katmanda yaşar; kopya sürüklenir.

    claude
    ·SessionStart · hafiza-borcu.mjs · bağlama eklendi
    3 katman: çekirdek (her oturum) · .claude/rules (paths ile) · docs/hafiza (talep üzerine)
    !son oturumda 1 ders yazılmadı → karar ağacı: makineyle mi, testle mi, kuralla mı?
    Codex aynı kaynağı okur · ikinci kopya yok
  4. 04 · lisans-kapisi · PreToolUse

    Lisans biterse sistem susar, projene dokunmaz

    Kapı yalnız yerel durum dosyasını okur. Pasif lisans ya da 30 gün çevrimdışı: hook 0 ile çıkar, sessizce. Dosyaların, kuralların, kimliğin makinede kalır.

    (herhangi bir komut)
    ·PreToolUse · lisans-kapisi.js · yalnız durum.json
    lisans aktif → koruma.mjs çalışır
    pasif ya da 30 gün çevrimdışı → kapı 0 ile çıkar, SESSİZ; hiçbir dosya silinmez
    14. günden itibaren tek satır uyarı; bağlantı gelince ertesi denetimde geri gelir

§03 — erp referansı

bu ürünün bel kemiği

Ajan ERP'yi ezberden değil, şemadan bilir

Mikro (v15 · v16 · v17), Netsis ve Logo Go3: her tablonun kolonları, tipleri, anahtarları ve ilişkileri; view'lar; fonksiyon imzaları; el yazımı tuzak kartları; evrak yazma kuralları; API sözleşmeleri. Ajan bir ERP işine dokunduğunda bu referans elinin altındadır: tablo ya da kolon adını tahmin etmez, karttan doğrular; ilişkiyi bilir, view'ı tanır, fonksiyonu doğru imzayla çağırır.

ERP sürümü
0
Mikro v15 · v16 · v17 · Netsis · Logo Go3
tablo ve nesne kartı
0
kolon · tip · uzunluk · null · varsayılan · PK
kolon
0
her biri tipiyle; 2.721 tablo dokümanı
fonksiyon imzası
0
fn_* ailesi, parametre sayısıyla
anahtar ve ilişki
0
1.771 FK eşleşmesi · 2.345 unique index
tuzak kartı
0
el yazımı, canlı vakadan; her sürümle büyür
#CARI_HESAP_HAREKETLERI · 186 kolon · PK cha_Guid · kategori: hareket
cha_tarihi datetime
cha_tip · cha_cins tinyint (borç/alacak · evrak cinsi)
cha_evrak_tip tinyint · cha_evrakno_seri / cha_evrakno_sira
cha_kod nvarchar(25) → CARI_HESAPLAR.cari_kod (mantıksal ilişki)
cha_meblag · cha_aratoplam · cha_d_kur float · cha_vade int
CARI_HESAP_HAREKETLERI_EK_VIEW · v17'de 100 view tanınır, elle JOIN yerine
ƒdbo.fn_CariHesapAnaDovizBakiye(… 14 parametre) · dbo.fn_EldekiMiktar(@stok_kodu) RETURNS float
!tuzak: cha_iptal = 0 zorunlu · nakit akışı BU tablodan çıkar, NAKIT_AKIS_TABLOSU plan modülüdür (çoğu kurulumda boş)
kaynak: mikro/v17/db/CARI_HESAP_HAREKETLERI.json · cards/CARI_HESAP_HAREKETLERI.md

fig. 03 — şema gezgini · kolon adları, tipler, ilişkiler ve fonksiyon imzaları referanstan birebir

referansta ne var

  • Şema kartları · kolon · tip · uzunluk · null · varsayılan · PK · unique index
  • İlişkiler · FK eşleşmeleri ve mantıksal bağlar; Netsis'te 1.771 anahtar ilişkisi
  • View'lar · hazır birleştirilmiş kolonlar; elle JOIN yazmak yerine
  • Fonksiyon imzaları · fn_EldekiMiktar(1) · fn_CariHesapAnaDovizBakiye(14) · GETUNITCOEF…
  • Tuzak kartları · cha_iptal = 0 · Logo firma/dönem öneki · Netsis şube · KDV pointer
  • Evrak yazma kuralları · fatura · irsaliye · sipariş · tahsilat/tediye, üç ERP için ayrı ayrı
  • API sözleşmeleri · NetOpenX REST · Logo REST · Mikro API
  • Kanıtlı örnek sorgular · gerçek veritabanında koşmuş, karta bağlı

statik gerçek · kuruluma özel gerçek

Referans şema düzeyinde ve statiktir: tablo, kolon, ilişki, tuzak. Kuruluma özel değerler (KDV oranı, Logo firma/dönem numarası, Netsis şubesi) sabit yazılmaz; ajan onları sorgu anında müşterinin veritabanından okur. Senin müşteri verin bizden hiç çıkmaz.

  1. adım 01

    İstek ya da proje ERP'ye değdi

    Hatırlatıcı hook, mesajda ERP kelimesi geçmese bile projenin kendisinden anlar ve ajanı 13 referans aracına yönlendirir. Oturumda bir kez, ~70 token; referans makineye inmez.

  2. adım 02

    Ajan karttan doğrular

    Tablo ve kolon adı ezberden yazılmaz: erp_tablo_ara, erp_kolon_ara, erp_sema_getir. Logo'da mantıksal ad, fizikselleştirme çalıştırmadan önce; Netsis'te şube/işletme; Mikro'da iptal filtresi ve fn_* imzası.

  3. adım 03

    Eksik varsa bulgu bildirir

    Referansta olmayan bir tablo, yanlış bir imza: tek komutla onay kuyruğuna gelir. Onaylanan düzeltme sunucuda yayınlanır, bütün kurulumlar bir sonraki çağrıda görür.

§04 — bileşenler

Altı bileşen, tek kurulum

Kurulumda seçersin; hepsi varsayılan seçili, her seçeneğin yanındaki ? ne işe yaradığını anlatır. Genel kurallar ajanın talimat dosyasına işaretli bir blok olarak iner; kendi satırlarına dokunulmaz, güncelleme yalnız o bloğu yönetir. ERP referansı yukarıda kendi bölümünde.

A · genel çalışma kuralları

11 kural, tek tek seçilir, işaretli blokla iner

  • Üç temel ilke: hızlı · doğru · üst düzey tasarım
  • Test etmeden "bitti" deme
  • Git: pathspec commit → pull --rebase → push
  • Alt ajan raporu kanıt değildir
  • Responsive üç ekranda birden
  • Deploy izinli, commit zorunlu
CLAUDE.md+6 −0
1 # CLAUDE.md — projem
2 ## Stack: Laravel 12 · Livewire 3 · PostgreSQL
3+<!-- ajan-altyapi:baslangic — güncelleme bu bloğu yönetir -->
4+- Üç temel ilke: hızlı · doğru · üst düzey tasarım
5+- Test etmeden "bitti" deme; kanıt göster
6+- Git: pathspec commit → pull --rebase → push
7+- Alt ajan raporu kanıt değildir; kendin doğrula
8+<!-- ajan-altyapi:bitis -->
9 ## Kendi notlarım (dokunulmaz)

B · hafıza

Bir gerçek tek katmanda yaşar

Yeni ders hangi katmana yazılır: karar ağacı sorar. Makineyle engellenebilir mi → hook. Testle tutulabilir mi → test. Her işte mi → çekirdek. Belirli dosyalara mı → paths:.

CLAUDE.md · çekirdekher oturumda
.claude/rules/*.md · paths:dokununca
docs/hafiza/ · vaka defteritalep üzerine

Hafıza borcu oturum başında hatırlatılır · araştırma raporları kaynağıyla · Codex aynı kaynağı okur.

C · test ve koruma

Kapı vakaları her kurulumda koşar

  • koruma kapısı46/46
  • hafıza probu58/58
  • lisans kapısı16/16
  • denetçi15/15
  • Doğrulama haritası şablonu: hangi değişiklikte ne koşulur, ölçülmüş süreyle
  • Paralel koşucu ilk gün: paratest, vitest, pytest -n, cargo nextest…
  • Yıkıcı SQL, force push, toplu commit, ev dizininden silme kapıda durur
  • Stop hook test izi tutar: "bitti" demek için kanıt gerekir
  • Hafıza probu: bir kural bozulursa kırmızı
  • Kapı vakaları kurulumda öz-test olarak koşar; yeşil değilse kurulmaz

D · danışmanlar

Alan uzmanı, çağrıldığında

Pazarlama, SEO/GEO, veri, sosyal medya, siber güvenlik, trading: her biri kendi kural dosyası ve skilleriyle ayrı bir danışman klasörü. Ajan o alana giren soruda danışmana gider, metodolojiyi oradan alır; klasöre yazmaz, yalnız okur.

  • pazarlama
  • seo · geo
  • veri
  • sosyal medya
  • siber güvenlik
  • trading

E · skiller

Çok adımlı tarifler, talep üzerine

Doğrulama haritası kurma, alt ajan dağıtımı, hafıza denetimi, proje haritası, log sistemi kurulumu gibi yordamlar skill olarak iner; çekirdeği şişirmez, iş o konuya gelince yüklenir.

Mevcut skilin ezilmez: aynı adda kendi skilin varsa kurulum ona dokunmaz; yalnız bizim kurduğumuz güncellenir.

F · günlük (log) katmanı

Hatayı ajan kendisi bulur

Uygulamana veritabanına yazan bir günlük katmanı kurdurur: istek kimliği, sebep kolonu, aylık tablo, 3 ay saklama. Bir hata bildirildiğinde ajan kod tahmini yapmaz; gunluk:teshis ile önce günlüğü okur.

  • gunluk:teshis son-hatalar 20
  • gunluk:teshis iz <istek_kimligi>
  • p95 +1,07 ms · 318 bayt/satır

§05 — kur, unut

Next-next kurulum, tek kullanımlık anahtar

Panelden aldığın anahtar bir bilgisayarda bir kez kullanılır. Kurulum kendi kopyası üzerinde yedi test paketini koşar; yeşil değilse "kuruldu" demez. Kaldırma senin dosyalarına dokunmaz.

  1. 1Anahtarı gir: dosya yazılmadan önce sunucuda doğrulanır; hatalıysa hiçbir şey kurulmaz.
  2. 2Bileşenleri seç: genel kurallar tek tek, hepsi varsayılan işaretli.
  3. 3Araçları seç: Claude Code, Codex ya da ikisi. Kod tek, bağ iki.
kur.ps1 · kurulum sihirbazı

# 1 · lisans anahtarı

Anahtar: EA-7Q2M-K9X4-•••• [ ] sunucuda doğrulandı · tek kurulum

# 2 · bileşenler (hepsi varsayılan seçili)

[ ] Genel çalışma kuralları (11 kural, ? ile tek tek)

[ ] Hafıza[ ] Test / doğrulama[ ] ERP referansı

# 3 · ajan araçları

[ ] Claude Code[ ] Codex(aynı kaynak, ikinci kopya yok)

# kur → kurulu kopyada öz-testler

fig. 05 — kur.ps1 · aynı akış Inno kurulum sihirbazında

§06 — güncelleme kanalı

Biz geliştiririz, kurulumlar kendini günceller

Günde bir kez, oturum açılırken, ayrık bir süreçte sunucuya sorar. Yeni sürüm varsa indirir, sha256 doğrular, yedek alır, yan dizine kurar, öz-testleri koşar ve ancak yeşilse yer değiştirir. Kırmızıysa eski sürüm yedekten geri gelir, sonuç panele düşer.

altyapi-denetim.mjs → guncelle.ps1 · ayrık süreç0 sn
guncelle.ps1 -Zip hafiza-test-erp-0.4.0.zip
[ ]sha256 doğrulandı · uyuşmazsa zip silinir, üç denemede aynı sürüm bir daha denenmez
[ ]yedek alındı · mevcut paket + birleştirilmiş dosyaların ham kopyası (son 3)
[ ]yan dizine kuruldu · kayıtlı seçimlerle, mevcut kurulum hâlâ çalışıyor
[ ]öz-testler · koruma 46/46 · hafıza 58/58 · lisans 16/16 · denetçi 15/15
[ ]yer değiştirdi · eski sürüm yedekte
[ ]panele raporlandı · ertesi denetimde, sonuç kurulum kartında

fig. 06 — 61 saniye 6 saniyeye ölçeklendi · her üçüncü turda öz-test kırmızı: geri alma dalı

  1. 01

    Yayınla

    Paket zip'i panelden yüklenir; manifest ve her dosyanın sha256'sı sunucuda doğrulanır, aynı sürüm ikinci kez kabul edilmez.

  2. 02

    Günlük denetim

    Kurulu makine 24 saatte bir gelir: lisans durumu ve yayındaki sürüm aynı cevapta.

  3. 03

    İndir + doğrula

    Zip iner, sha256 uyuşmazsa silinir.

  4. 04

    Yedek + yan kurulum

    Son 3 yedek tutulur; yeni sürüm ayrı dizine açılır.

  5. 05

    Öz-test

    Yedi paket koşar. Yeşil → yer değiştir. Kırmızı → geri al.

  6. 06

    Raporla

    Sonuç ertesi denetimde sunucuya gider, panelde görünür.

ölçüldü

0

bir sürümden ötekine, öz-testler dâhil

0

yedek tutulur, eskisi otomatik silinir

14 / 30

gün: çevrimdışı uyarı / pasifleşme

günde ağ dokunuşu, o da arka planda

§07 — doğrulama haritaları

Dokuz dil, aynı iskelet

Hızlı yol (değişen dosyaya daralt) · tam yol (paralel koşucu) · watch/önbellek · dosya→test eşlemesi · tuzaklar. Ajan kullanıcıdan hızlı test eder; "35 dakikalık sıralı süit" ilk gün paralele alınır.

  • PHP · Laravelparatest
  • JS / TSvitest --run
  • Nodenode --test
  • Pythonpytest -n auto
  • Gogo test ./...
  • Rustcargo nextest
  • .NET / Blazordotnet test
  • Flutterflutter test
  • Java / Kotlingradle test

§08 — hesap ve fiyat

Bir hesap, bilgisayar sayısı kadar anahtar

Hesabını biz açarız; kaç bilgisayara kurulacağını sen söylersin (3 PC gibi), yıllık bedel buna göre belirlenir. Anahtarları kendi panelinden üretirsin: her anahtar bir bilgisayarda tükenir, pasifleştirdiğin anahtar yerini boşaltır. Güncelleme kanalı ve bulgu geri-akışı dâhil; yenilenmeyen abonelik sessizce susar, projelerine dokunmaz.

Teklif alın

Bilgisayar sayısına göre, KDV hariç; formu doldur, aynı gün dönüş.

  • ERP referansı, ajanın hizmetinde: Mikro v15/v16/v17, Netsis, Logo Go3 · 7.464 tablo kartı · 3.686 fonksiyon imzası · 13 MCP aracı
  • Altı bileşen: kurallar · hafıza · test/koruma · ERP referansı · danışmanlar · skiller
  • Claude Code, Codex ya da ikisi — tek kaynak, tek kurulum
  • Müşteri paneli: anahtar üret, PC limitini gör, fatura bilgilerini doldur
  • Otomatik güncelleme: yedek + öz-test + geri alma; referans sunucuda güncellenir
  • Bulgu geri-akışı ve onaylı dağıtım
  • Kaldırma senin dosyalarına dokunmaz
Anahtar iste

ERP ASİSTANI AJAN · YILLIK LİSANS

ERP Asistanı Ajan Altyapısı

EA-7Q2M-K9X4-••••

1 bilgisayar · 1 kurulum

sürüm 0.8.2 → daima güncel

ajan.erpasistani.com

fig. 08 — anahtar bir bilgisayarda bir kez tüketilir; denetim kurulum kimliğiyle (ak_…) sürer

§09 — sık sorulanlar

Geliştiricinin soracakları

Cevabını bulamadığın soru için formu kullan; aynı gün dönüyoruz.

Anahtarı nasıl alırım, kaç bilgisayara kurarım? +

Formu doldurursun, hesabını açar ve kurulum limitini (bilgisayar sayısı) tanımlarız. Panelde limitin kadar anahtar üretirsin; her anahtar bir bilgisayarda tükenir. Bilgisayar değiştirdiysen eski anahtarı pasifleştirirsin, yer boşalır. Fatura bilgilerini de panelde doldurursun; yıllık bedel KDV hariç yazılır.

Hem Claude Code hem Codex kullanıyoruz — iki lisans mı? +

Hayır. Lisans bilgisayar başınadır, araç başına değil. Kurulumda Claude Code, Codex ya da ikisini birden seçersin; iki araç aynı kural kaynağını okur.

Kendi skillerim varsa ne olur? +

Aynı adda kendi skilin varsa kurulum ona DOKUNMAZ; yalnız bizim kurduğumuz skiller güncellenir. Kaldırmada da yalnız bizim iz çıkar.

Kendi talimat dosyamı ezer mi? +

Hayır. Kurallar dosyana işaretli bir blok olarak eklenir; güncelleme yalnız o bloğu değiştirir. Kendi satırların, kendi hook'ların ve ayarların korunur; kaldırmada yalnız bizim iz çıkar.

Hook'lar her komutta sunucuya soruyor mu? +

Hayır. Sıcak yolda ağ yoktur: hook'lar yalnız yerel bir durum dosyası okur. Sunucuya günde bir kez, oturum açılırken, ayrık bir süreç sorar.

İnternetsiz ortamda çalışır mı? +

Evet. 14 gün doğrulanamazsa uyarı verir, 30. günde susar; bağlantı gelince ertesi denetimde geri gelir. Kurulu dosyalar hiç silinmez.

Codex'te aynı şey iki kez yüklenmiyor mu? +

Hayır. Kural metni tek yerde durur; Codex ona SessionStart hook'uyla ulaşır, AGENTS.md yalnız Codex'e özel davranışı taşır. İki araç, tek gerçek.

Müşteri verisi bizden çıkar mı? +

Hayır. Denetim yalnız lisans durumu, kurulu sürüm ve makine adı/OS bilgisi taşır. Bulgu kanıtı şema düzeyindedir; satır verisi ve kişisel veri desenleri komut tarafından reddedilir.

ERP bilgisi nereden geliyor? +

Sunucudaki ERP referansından; ajan ona 13 MCP aracıyla sorar. Mikro v15/v16/v17, Netsis ve Logo Go3 için 7.464 tablo ve nesne kartı (kolon, tip, anahtar, ilişki), view'lar, 3.686 fonksiyon imzası, el yazımı tuzak kartları, evrak yazma kuralları ve API sözleşmeleri. Referans makineye inmez: ajan sorduğu kartı alır, oturum bitince bellekten silinir. Şema düzeyindedir; kuruluma özel değerleri (KDV oranı, firma/dönem, şube) ajan sorgu anında senin veritabanından okur, müşteri verin bizden çıkmaz.

Referans eskirse ne olur? +

Referans sunucuda güncellenir; bir bulgu onaylandığında ya da yeni şema eklendiğinde bütün kurulumlar bir sonraki çağrıda yeni sürümü görür. Kurulum dosyası değişmez, indirme gerekmez.

Referansa erişim nasıl korunuyor? +

Her araç çağrısı kurulum kimliğiyle gelir ve kurulum bazında sayılır: günlük çağrı ve tekil kart kotası, saatlik enumerasyon uyarısı, panelde erişim izi. Toplu "hepsini ver" aracı yoktur; lisans pasifleşirse erişim aynı anda kapanır.

§10 — anahtar iste

Ekibin için anahtar ve kurulum

Kaç bilgisayar, hangi araçlar, hangi ERP: yaz, aynı gün dönelim. Hesabını açar, kurulum limitini tanımlarız; anahtarları kendi panelinden üretirsin.

Hesabın var mı? Panele giriş

E-posta: destek@erpasistani.com

Araç (biri ya da ikisi)

Gönderdiğin bilgiler yalnız bu talep için kullanılır.