Git sync
Personalar bir Git repository'ye YAML + markdown olarak mirror'lanır — pull, push ya da bidirectional, bir base path'a scope'lu, Git blob SHA çakışma tespitiyle.
Git sync persona kütüphaneni pull request'lerde görünür yapar. Kanonik Moonborn state'i konfigüre edilmiş bir Git repository'ye mirror'lanır; repo source of truth, audit trail ya da her ikisi olabilir.
Preview durumu. Domain + application katmanları implement edildi (
@moonborn/integration-git); HTTP API yüzeyi + onboarding UI'ı sonraki release'de iniyor. Early-access müşterileri doğrudan entegrasyon üzerinden bağlayabilir.
Mode'lar
integrations.git.sync_direction:
pull— Git → Moonborn. Repo kanonik.push— Moonborn → Git. Ürün UI kanonik; Git audit trail.bidirectional— ikisi de, çakışma çözümlemeyle.
Dosya formatı
---
id: persona_01H...
name: Mert Aksoy
version: 4
layer: Soul
desire: dünyanın görmezden gelemeyeceği bir şey inşa etmek
fear: sıradan görünmek
wound: sevgiyi başarıyla ölçen bir ebeveyn
growth_arc: onay arayan'dan kendine güven'e
---
Mert yirmili yaşlarını İstanbul tech sahnesinde geçirdi. İlk şirketi
bir Türk telkoya satıldı — hâlâ "fena değil" diye tanımladığı sessiz
bir exit.Frontmatter dört yapılı katmanı taşır; markdown gövdesi anlatı
temellendirmesi. Path: {base_path}/{persona_id}.yaml (default
personas/).
Çakışma çözümleme
Last-write-wins'i açık reddetmeyle — three-way merge yok:
remote_wins— pull'lar local değişiklikleri ezer.local_wins— push'lar remote'u ezer.error— etkilenen persona ID'leriylePersonaFileSyncConflictErroryüzeye çıkar; sync durur.
Çakışma tespiti Git blob SHA ile — son gördüğümüzü kaydederiz, yeniden kontrol ederiz, SHA'lar uymazsa yüksek sesle fail eder.
Commit stratejisi
integrations.git.commit_strategy:
per_change— değişen persona başı bir commit.batched— sync run başı bir commit.manual— bir taslak batch yay; commit operatöre bağlı.
Per-change push'lar için default — her persona refine reviewable bir commit olur. Batched periyodik sync'ler için yararlı.
Desteklenen sağlayıcılar
| Sağlayıcı | Durum | Config |
|---|---|---|
| GitHub | canlı | integrations.git.providers.github |
| GitLab | canlı | integrations.git.providers.gitlab |
| Bitbucket | canlı | integrations.git.providers.bitbucket |
Her sağlayıcı integrations.git.providers.* altında bağımsız
tier-gated. Üçü de Team+.
Hâlâ inenler
- Bir
/v1/integrations/git/*REST yüzeyi (şu an sadece doğrudan entegrasyon). - GitHub / GitLab / Bitbucket'a OAuth için ürün UI onboarding'i.
- Dış push'ların sync'i otomatik tetiklemesi için bir
git pushwebhook receiver'ı. errorstratejisi için bir çakışma çözümleme UI'ı.- Sync operasyonu başı yerli audit-log yayını (Git history bugün de facto change log).
Tarif
Team ve üstü.
Dürüst kapsam
Git sync persona repository mirror'ı. Değildir:
- Bir workspace export aracı ( Privacy export endpoint kullan).
- Bir backup servisi (Git remote redundancy'i kendin kur).
- Personalar için code-review aracı (her zamanki PR review akışını kullan).
Sonraki
- Setup walkthrough'su: Persona-as-code tutorial.
- Use case framing: Persona-as-code use case.