Nimm weitere Git-Repos als Quellen in die Ablage — zuerst die info-Doku

KM_SOURCES=name=url@branch legt je Quelle einen Checkout unter
<ns>/doku/<name> in der Ablage an. SilverBullet sieht die Seiten, der
Index nimmt sie mit (typ doku, projekt = Name), und je Takt gehen
Änderungen aus der Oberfläche als Commit ins Quell-Repo zurück, danach
pull --rebase. Die Ablage ignoriert */doku/, damit die Wahrheit nur im
Quell-Repo liegt. Vorerst komplett und ungefiltert (Andreas 04.09.:
"sobald hive.corp steht, trennen wir die Quellen"). Doku in
docs/quellen.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 19:26:15 +02:00
co-authored by Claude Fable 5.1
parent f133cdd869
commit d63ffa1bec
9 changed files with 144 additions and 36 deletions
+42
View File
@@ -0,0 +1,42 @@
# Quellen — fremde Git-Repos als Checkout in der Ablage
Festlegung Andreas, 2026-09-04: die `info`-Doku kommt als zweite Quelle in
km — **vorerst komplett**, ohne Filter nach Klassifikation. *„Sobald
hive.corp steht, trennen wir die Quellen."* Konfiguration `KM_SOURCES`, Code
in `gitrepo.py` (`sources_of`) und `runner.py`.
## Bauform
Jede Quelle ist ein eigener Git-Checkout **in** der Ablage:
```
<ablage>/<ns>/doku/<name>/ ← z. B. familie/doku/info/ = Clone von ahmann/info
```
- SilverBullet sieht die Seiten wie alle anderen; der Index nimmt sie mit
(`typ: doku`, `projekt: <name>`, `classification` aus dem Frontmatter).
- Die Ablage ignoriert `*/doku/` in ihrer `.gitignore`: die Wahrheit dieser
Seiten liegt im Quell-Repo, nicht ein zweites Mal in `ahmann/km`.
- **Je Takt:** Änderungen aus der Oberfläche werden im Checkout committet
(„km: Änderungen aus der Oberfläche", Autor `KM_GIT_NAME`) und **in das
Quell-Repo gepusht**, danach `git pull --rebase`. Ein Commit aus
SilverBullet landet also Minuten später auf `master` von `ahmann/info`
ohne PR und ohne Umlaut-Riegel. Das ist gewollt (Auto-Commit und Push).
## Konfiguration
```
KM_SOURCES=info=https://git.home/ahmann/info.git@master
```
`name=url[@branch]`, mehrere durch Komma. Zugang: dieselben `KM_GIT_USER`/
`KM_GIT_PASSWORD` wie für die Ablage; die `.netrc` bekommt jeden Remote-Host.
## Was Andreas wissen sollte
- **Alles ist drin**, auch `corp`- und `lan`-Seiten — bis die Quellen
getrennt werden, ist die Familien-Oberfläche damit nicht nur Familie.
- **Admonitions** (`!!! warning`) aus MkDocs zeigt SilverBullet als Rohtext
(Test vom 04.09., spine/core#8).
- Der Checkout enthält das ganze Repo (`ai/`, `deployment/`, …), nicht nur
`docs/`; indexiert werden nur `*.md`.