App öffnen
Moonborn — Developers

Git-Sync

Personas mirror'n zu einem Git-Repository als YAML + Markdown — Pull, Push oder Bidirectional, gescoped auf einen Base-Path, mit Git-Blob-SHA-Konflikterkennung.

Git-Sync macht deine Persona-Bibliothek in Pull Requests sichtbar. Der kanonische Moonborn-State mirror't zu einem konfigurierten Git- Repository; das Repo kann die Source of Truth, der Audit-Trail oder beides sein.

Preview-Status. Domain + Application-Layer sind implementiert (@moonborn/integration-git); die HTTP-API-Oberfläche + Onboarding- UI landen im nächsten Release. Early-Access-Kunden können es per direkter Integration verdrahten.

Modi

integrations.git.sync_direction:

  • pull — Git → Moonborn. Repo ist kanonisch.
  • push — Moonborn → Git. Produkt-UI ist kanonisch; Git ist der Audit-Trail.
  • bidirectional — beides, mit Konflikt-Resolution.

Datei-Format

---
id: persona_01H...
name: Mert Aksoy
version: 4
layer: Soul
desire: etwas bauen, was die Welt nicht ignorieren kann
fear: als gewöhnlich gesehen werden
wound: ein Elternteil, der Liebe in Leistung gemessen hat
growth_arc: vom Anerkennungssucher zum Selbstvertrauer
---
 
Mert verbrachte seine Zwanziger in der Istanbuler Tech-Szene. Seine
erste Firma verkaufte an einen türkischen Telco — ein leiser Exit,
den er immer noch als "okay" beschreibt.

Frontmatter trägt die vier strukturierten Layer; der Markdown-Body ist die narrative Erdung. Pfad: {base_path}/{persona_id}.yaml (Standard personas/).

Konflikt-Resolution

Last-Write-Wins mit expliziter Ablehnung — kein Three-Way-Merge:

  • remote_wins — Pulls überschreiben lokale Änderungen.
  • local_wins — Pushes überschreiben Remote.
  • errorPersonaFileSyncConflictError mit betroffenen Persona- IDs sichtbar machen; der Sync hält an.

Konflikt-Detection ist per Git-Blob-SHA — wir zeichnen auf, was wir zuletzt gesehen haben, re-checken, fail laut, wenn die SHAs nicht übereinstimmen.

Commit-Strategie

integrations.git.commit_strategy:

  • per_change — ein Commit pro geänderter Persona.
  • batched — ein Commit pro Sync-Lauf.
  • manual — emittiere einen Draft-Batch; Commit ist operator-driven.

Per-Change ist Default für Pushes — jedes Persona-Refine wird ein reviewable Commit. Batched ist nützlich für periodische Syncs.

Unterstützte Provider

ProviderStatusConfig
GitHubliveintegrations.git.providers.github
GitLabliveintegrations.git.providers.gitlab
Bitbucketliveintegrations.git.providers.bitbucket

Jeder Provider ist unabhängig tier-gated unter integrations.git.providers.*. Alle drei sind Team+.

Was noch landet

  • Eine /v1/integrations/git/*-REST-Oberfläche (aktuell nur direkte Integration).
  • Produkt-UI-Onboarding für OAuth zu GitHub / GitLab / Bitbucket.
  • Ein git push-Webhook-Receiver, sodass externe Pushes Sync auto-triggern.
  • Eine Konflikt-Resolution-UI für die error-Strategie.
  • Native Audit-Log-Emission pro Sync-Operation (Git-History ist heute der de facto Changelog).

Tarif

Team und höher.

Ehrlicher Scope

Git-Sync ist der Persona-Repository-Mirror. Er ist nicht:

  • Ein Workspace-Export-Tool (nutze den Privacy export endpoint).
  • Ein Backup-Service (richte Git-Remote-Redundanz selbst ein).
  • Ein Code-Review-Tool für die Personas (nutze deinen üblichen PR- Review-Flow).

Weiter