Kod olarak persona (persona-as-code)
Persona'ları Git deposunda YAML + Markdown olarak yaşat — pull / push / iki yönlü (bidirectional) senkronizasyon, blob SHA çakışma tespiti, PR inceleme iş akışı.
İstemleri (prompt), marka sesini veya karakter biyografilerini kod olarak yöneten ekipler için Moonborn arayüzü yanlış kanonik kaynaktır. Tasarımcılar üründe yineler; mühendisler PR'larda fark (diff) ister; sürüm yöneticileri her değişikliğin kod inceleme hattından akmasını ister.
Kod olarak persona deseni döngüyü kapatır: persona tanımı Git deposunda yaşar, Moonborn çalışma alanı senkron kalır, iki taraftan gelen değişiklikler birleşir (çakışma koruması ile).
Bu kullanım senaryosu sana uyar mı?
- Ekip istemleri / persona'ları / marka sesini PR inceleme akışında istiyor
- Persona değişikliklerinin git blame ile denetlenebilir olması lazım
- Birden çok geliştirici / tasarımcı paralel persona refine yapıyor
- Üretim dağıtımını persona anlık görüntü sabitlemesi (snapshot pin) ile yapmak istiyorsun
Senkronizasyon dosya biçimi
Her persona, yapılandırılabilir temel yol (base path) altında (varsayılan personas/) tek YAML dosyasıdır:
---
id: per_mert_01H...
name: Mert Aksoy
version: 4
soul:
desire: dünyanın görmezden gelemeyeceği bir şey inşa etmek
fear: sıradan görülmek
wound: sevgiyi başarıyla ölçen bir ebeveyn
growth_arc: onay arayan'dan kendine güven'e
self:
bigFive: { openness: 0.78, ... }
archetype: the rebel
values: [competence, autonomy, honesty]
mask:
voice: { register: "intelligent, restless", ... }
signaturePhrases: ["look —", "the thing is"]
surface:
name: Mert Aksoy
age: 34
location: Beyoğlu, Istanbul
occupation: Founder, devtools startup
language: tr
---
# Mert Aksoy — anlatı temellendirmesi
Mert yirmilerini İstanbul tech sahnesinde geçirdi. İlk şirketi
bir Türk telekoma satıldı — hâlâ "fena değil" diye anlattığı
sessiz bir çıkış (exit).YAML başlığı dört katmanı taşır; Markdown gövde anlatı temellendirmesidir. Her dosya bir Git blob SHA taşır → çakışma tespitinin temeli.
Üç senkronizasyon modu
integrations.git.sync_direction:
| Mod | Yön | Kullanım |
|---|---|---|
pull | Git → Moonborn | Depo kanoniktir (PR incelemesi zorunlu) |
push | Moonborn → Git | Arayüz kanonik, Git denetim izi |
bidirectional | İkisi de | Karma ekipler (arayüz editörleri + depo editörleri) |
Commit stratejisi
integrations.git.commit_strategy:
| Strateji | Davranış | Kullanım |
|---|---|---|
per_change | Persona başına 1 commit | PR inceleme deseni; değişiklik başı fark |
batched | Senkronizasyon koşumu başına 1 commit | Periyodik senkronizasyon (saatlik / günlük) |
manual | Taslak toplu yayar; commit operatöre | Ekip onay iş akışı |
Çakışma çözümü
Üç-yönlü birleştirme (three-way merge) yok; son-yazan-kazanır yaklaşımını açıkça reddediyoruz. Strateji integrations.git.conflict_strategy:
remote_wins— pull'lar yerel değişiklikleri ezerlocal_wins— push'lar uzaktaki sürümü ezererror—PersonaFileSyncConflictErrorfırlat, senkronizasyon durur, operatöre devret
Çakışma tespiti Moonborn'un sakladığı Git blob SHA ile bugün depodaki SHA karşılaştırmasıdır.
Desteklenen Git sağlayıcıları
| Sağlayıcı | Durum |
|---|---|
| GitHub | ✓ |
| GitLab | ✓ |
| Bitbucket | ✓ |
Üçü de Team ve üzeri, bağımsız plan kapısıyla yapılandırılır.
Önizleme durumu
Dürüst kapsam
Plan gereksinimi
Team ve üzeri. Her Git sağlayıcısı bağımsız açılıp kapatılabilir.
İlgili
Sağlayıcı yapılandırması + senkronizasyon mekaniği teknik detayı.
GitHub deposu kurulumu + ilk senkronizasyon uçtan uca.
Persona YAML + MD'i yazar odası iş akışına bağlama.
Çalışma zamanı kalite kapıları — kod kapısı değildir.