- docs/MIGRATION.md: vollstaendiger Migrations-Leitfaden - 9 Schritte: Vault-Struktur, Naming, Frontmatter, Tags, Plugins, Tool, QMD, Index, PWA - PowerShell-Skripte fuer Ordner-Anlage, Naming-Normalisierung, Tag-Migration - Vergleich Obsidian-Workflow vs. Mind-o-Mat-Workflow - Was nicht funktioniert (Sync, Publish, Excalidraw, etc.) - Haeufige Probleme + Loesungen - Rueckkehr zu Obsidian moeglich Verifiziert: Markdown ist valides CommonMark, keine gebrochenen Links
7.4 KiB
Migration-Guide: Obsidian → Mind-o-Mat
Dieser Guide erklärt, wie du von einem bestehenden Obsidian-Vault zu Mind-o-Mat wechselst.
Überblick
Mind-o-Mat ist kein Obsidian-Klon, sondern eine eigenständige Implementation mit:
- Eigenem Markdown-Format (kompatibel, aber mit eigenen Konventionen)
- Eigener PWA statt Obsidian-App
- Eigenem Wiki-System statt Obsidian-Plugins
- Eigener Cluster-Logik statt Obsidian-Tags
Du behältst: deine Markdown-Dateien, deine Ordnerstruktur, deine Grundkonzepte. Du wechselst: vom Obsidian-Editor zur PWA, vom Plugin-System zu eingebauten Befehlen.
Schritt 1: Vault-Struktur anpassen
Obsidian verwendet typischerweise diese Struktur:
MeinVault/
├── .obsidian/ # Obsidian-Konfiguration
├── Daily Notes/ # Tagesnotizen
├── Projekte/
├── Templates/
└── ...
Mind-o-Mat erwartet diese Struktur:
MeinVault/
├── 00_Inbox/ # Eingangskorb
├── 01_Daily/ # Tagesnotizen
├── 10_Wiki/Seiten/ # Wiki-Themenseiten
├── 20_Projekte/
├── 90_Templates/
└── 99_System/ # System-Dateien
Skript für die Migration:
# In deinem Obsidian-Vault-Verzeichnis (PowerShell)
$vault = "C:\Pfad\Zu\MeinemVault"
# Ordner umbenennen oder neu anlegen
New-Item -ItemType Directory -Path "$vault\00_Inbox" -Force
New-Item -ItemType Directory -Path "$vault\01_Daily" -Force
New-Item -ItemType Directory -Path "$vault\10_Wiki\Seiten" -Force
New-Item -ItemType Directory -Path "$vault\20_Projekte" -Force
New-Item -ItemType Directory -Path "$vault\90_Templates" -Force
New-Item -ItemType Directory -Path "$vault\99_System" -Force
Schritt 2: Notiz-Konventionen angleichen
Mind-o-Mat verwendet strengere Konventionen als Obsidian:
Datei-Naming
- Obsidian: Beliebige Namen, mit oder ohne Datum
- Mind-o-Mat:
- Dailies:
YYYY-MM-DD.md(Obsidian:2024-01-15.md✓ OK) - Wiki:
Pascal_Snake_Case.md(Obsidian:Mein Wiki.md→ umbenennen) - Inbox:
YYYY-MM-DD_Titel.md - Sonderzeichen: nur
[a-zA-Z0-9_]und-für Datums-Trennzeichen
- Dailies:
Skript zum Umbenennen (PowerShell):
Get-ChildItem -Recurse -Filter "*.md" | ForEach-Object {
$newName = $_.Name -replace '[^\w\-]', '_' -replace '\s+', '_'
if ($_.Name -ne $newName) {
Rename-Item $_.FullName $newName
}
}
Frontmatter
- Obsidian: Optional, oft ohne
---am Ende - Mind-o-Mat: Pflicht-Frontmatter mit allen Feldern
---
title: <Anzeigename>
created: YYYY-MM-DD
aktualisiert: YYYY-MM-DD # automatisch durch Ingest/Indexer
type: <inbox|daily|wiki|project>
status: <neu|aktuell|konflikt|entwurf|archiv>
---
Wichtig: Mind-o-Mat verwendet deutsche Keys (aktualisiert, nicht updated).
Wikilinks
- Obsidian:
[[Datei]]oder[[Datei|Anzeige]]— kompatibel mit Mind-o-Mat ✓ - Mind-o-Mat: Erkennt beide Formate
Schritt 3: Tags und Cluster
Obsidian verwendet #tags, Mind-o-Mat ebenfalls — aber:
- Mind-o-Mat unterstützt nur eine Ebene Hierarchie:
#kategorie/thema - Mehr-Ebenen-Tags wie
#projekt/arbeit/2024werden zu#projekt/arbeit_2024normalisiert
# Migration: Tags mit > 1 Ebene umschreiben
Get-ChildItem -Recurse -Filter "*.md" | ForEach-Object {
$content = Get-Content $_.FullName -Raw
$content = $content -replace '#(\w+)/(\w+)/(\w+)', '#$1_$2_$3'
Set-Content $_.FullName $content -NoNewline
}
Schritt 4: Obsidian-Plugins abschalten
Mind-o-Mat hat eigene Mechanismen für:
- Graph View → Webapp Tab 1 (Cytoscape)
- Daily Notes →
01_Daily/+ Ingest - Backlinks → landkarte.json (mit
--vaultArgument) - Tags → unterstützt, aber mit Hierarchie-Constraint
- Templates →
90_Templates/+ Konventionen
Plugins wie Dataview, Templater, Excalidraw sind nicht kompatibel. Sie können Schaden anrichten, weil sie das Frontmatter-Format verändern könnten.
Vor der Migration:
- Obsidian öffnen
- Settings → Community Plugins → alle deaktivieren
- Optional:
.obsidian/Ordner löschen (oder behalten, er wird ignoriert)
Schritt 5: Tool installieren und Vault initialisieren
# Tool global installieren
cd C:\GitHub\Mind-o-Mat
npm install
npm run build
npm link
# Vault initialisieren
mindomat init-vault C:\Pfad\Zu\MeinemVault --remote https://git.example.com/Dein-Name/MeinVault.git
Das init-vault-Skript erstellt:
- 12 Standard-Ordner
99_System/Konfig.mdmit DefaultsREADME.mdCLAUDE.md-Template- 2 Demo-Notizen
.gitignore- git init + gitea-Remote
Achtung: init-vault erstellt Ordner neu. Wenn dein Vault schon die richtigen Ordner hat, ist das idempotent. Sonst sichere vorher.
Schritt 6: QMD einrichten
cd C:\Pfad\Zu\MeinemVault
# QMD global installieren
npm install -g @tobilu/qmd
# Collections anlegen
qmd collection add 00_Inbox --name inbox
qmd collection add 01_Daily --name daily
qmd collection add 10_Wiki --name wiki
qmd collection add 20_Projekte --name projekte
# Embeddings generieren (~2 GB Download, einmalig)
qmd embed
Schritt 7: Erste Indexierung
# Erstellt landkarte.json + 99_System/Index.md + 10_Wiki/Index.md
mindomat index
Schritt 8: PWA öffnen
cd C:\GitHub\Mind-o-Mat\webapp
npm install
npm run dev
Browser öffnet http://localhost:5173. Erste Schritte:
- Vault-Pfad setzen: in
.envoder direkt beim Aufruf - Tabs ausprobieren: Graph, Cluster-Karte, Radial
- Klick auf Notiz öffnet den PWA-Editor (Tiptap)
- Sync-Button ruft
mindomat syncauf
Schritt 9: Workflow-Anpassung
Obsidian-Workflow
- Notiz in Obsidian öffnen
- Schreiben
- Speichern (automatisch)
- Obsidian-Plugins verarbeiten (Dataview, etc.)
Mind-o-Mat-Workflow
- Notiz in
00_Inbox/ablegen (manuell oder via Editor) mindomat ingestläuft (manuell oder via Watch-Mode)- LLM pflegt Wiki (oder macht Notiz zu Wiki)
mindomat indexaktualisiert Landkarte- Webapp zeigt aktualisierten Graph
mindomat syncpusht zu gitea
Im Vergleich: Obsidian ist WYSIWYG, Mind-o-Mat ist Pipeline-basiert. Mehr Kontrolle, mehr Schritte.
Was NICHT funktioniert
- Obsidian-Sync über Cloud → wird durch gitea-Sync ersetzt
- Obsidian Publish → keine direkte Entsprechung (PWA ist lokal)
- Excalidraw, Kanban, etc. → nicht unterstützt (Markdown-only)
- Daily Note automatisch erstellen → nicht in PWA, manuell oder via
mindomat ingest --note ...
Häufige Probleme
"Meine alten Notizen werden nicht gefunden"
- Dateinamen mit Sonderzeichen:
mindomat indexzeigt sie alsunknown-Typ - Lösung: Skript zum Umbenennen (siehe Schritt 2)
"Wikilinks sind rot"
- Zieldatei fehlt oder hat falschen Namen
- Lösung:
99_System/Index.mdzeigt verwaiste Links
"Inbox wird nicht verarbeitet"
- Datei hat kein Frontmatter
- Lösung:
mindomat ingest --mockzeigt, was die Pipeline macht
"Graph ist leer"
mindomat indexwurde nicht ausgeführt- Lösung: einmal laufen lassen
Rückkehr zu Obsidian?
Wenn du zurück willst, ist das einfach:
- Obsidian öffnen, Vault-Ordner wählen
- Obsidian liest Markdown-Dateien direkt
- Aber: Mind-o-Mat-spezifische Frontmatter-Felder werden ignoriert (kein Schaden)
Weitere Hilfe
10_Wiki/SPEC.md— vollständige Spezifikation10_Wiki/Plan.md— Roadmap mit allen 20 AufgabenREADME.md— Install-Anleitung- GitHub Issues — für Bug-Reports und Feature-Wünsche