Zum Inhalt springen

Zusammenarbeits-Guide

jinflow nutzt Git fuer Zusammenarbeit. Jedes Tenant-AFS ist von Geburt an ein Git-Repository. Teams teilen Arbeit ueber GitHub (oder jeden anderen Git-Remote).

Tenant aus einem Domain Pack erstellen, mit GitHub verbinden, pushen:

Terminal-Fenster
# Aus Pack erstellen
jinflow init --pack millesime --tenant szo
# Mit GitHub verbinden (Repository zuerst auf GitHub erstellen)
jinflow afs remote https://github.com/org/afs-millesime-domaine_zufferey.git
# Initialen Zustand pushen
jinflow afs push -m "initial setup"

AFS von GitHub klonen — kein Pack noetig:

Terminal-Fenster
# Von GitHub klonen
jinflow init --clone https://github.com/org/afs-millesime-domaine_zufferey.git
# Daten synchronisieren und bauen
jinflow make --tenant millesime.domaine_zufferey --sync --clean

Dies erstellt das vollstaendige Tenant-Layout (raw/, build/, store/) um das geklonte AFS. Das Pack wird nicht benoetigt — das AFS IST das analytische Framework.

Terminal-Fenster
# Tagesbeginn: Team-Aenderungen pullen
jinflow afs pull
# Arbeiten: Signals, Theses, Notizen bearbeiten
# Bauen und erkunden
jinflow make
jinflow explore
# Tagesende: Aenderungen pushen
jinflow afs push -m "added io_coefficient signal"
Terminal-Fenster
jinflow afs remote # aktuellen Remote anzeigen
jinflow afs remote <url> # Remote setzen (hinzufuegen oder aktualisieren)
jinflow afs status # Branch, Tags, Aenderungen anzeigen
jinflow afs log # Build-Logbuch (git log)
jinflow afs log -n 10 # letzte 10 Eintraege
jinflow afs pull # vom Remote pullen (nur Fast-Forward)
jinflow afs push # alle Aenderungen committen + pushen
jinflow afs push -m "message" # mit eigener Commit-Nachricht

Das AFS (afs/) ist das Git-Repository. Es enthaelt:

InhaltVersioniertHinweise
Signals, Theses, VerdictsJaDie analytischen Instrumente
SMEbits, BitBundlesJaExpertenwissen
NotebooksJaUntersuchungsnotizen
Entities, Lineage, ContractsJaSchema-Definitionen
dbt Macros, Seeds, TestsJaDatentransformationslogik
Modelle (Bronze, Silver, Gold)JaSQL-Quellmodelle
jinflow.ymlJaPack-Konfiguration
tenant/ (Config, Logo, Seeds)JaTenant-spezifischer Inhalt

Was NICHT in Git ist (lebt neben dem AFS):

InhaltOrtHinweise
Roh-CSVsraw/Unveraenderliche Quelldaten aus DLZ
Build-Artefaktebuild/Kompiliertes SQL, angereicherte CSVs (regenerierbar)
KLS + SISstore/Gebaute Datenbanken (regenerierbar via make)

jinflow make erstellt nach jedem Build automatisch einen strukturierten Einzeiler:

jinflow make: ok | clean | 34/0/1 | v0.7.9 | darwin | mig | millesime.domaine_zufferey | 12.3s

jinflow afs update --do-it erstellt nach der Synchronisierung von Pack-Inhalten automatisch einen Commit.

Diese Auto-Commits erstellen ein Build-Logbuch, sichtbar via jinflow afs log.

Domain Packs sind unabhaengige Git-Repositories (z.B. jinflow-pack-millesime). Sie werden manuell geklont:

Terminal-Fenster
git clone https://github.com/jinflow-io/jinflow-pack-millesime.git

Pack-Root konfigurieren, damit jinflow sie findet:

Terminal-Fenster
jinflow us --pack-root ~/jinflow-packs

Pack-Aenderungen fliessen via jinflow afs update --do-it in Tenant-AFS.

jinflow afs update verwendet Three-Way-Merge (SHA-256-Manifest):

  • Nur Pack geaendert → sicheres Update (automatisch angewandt)
  • Nur Tenant geaendert → bewahrt (deine Anpassung gewinnt)
  • Beide geaendert → Konflikt (NICHT ueberschrieben, zur manuellen Loesung markiert)
  • Force-Modus--force laesst Pack bei Konflikten gewinnen

jinflow afs pull verwendet nur Fast-Forward. Wenn lokal und remote auseinanderlaufen, wird empfohlen, manuell mit git pull --rebase aufzuloesen.

jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC