Files
Jannik 6ce8649877
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
v2.0.9: Migration-Guide Obsidian -> Mind-o-Mat
- 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
2026-09-05 12:43:17 +02:00

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

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).

  • 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/2024 werden zu #projekt/arbeit_2024 normalisiert
# 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 --vault Argument)
  • 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:

  1. Obsidian öffnen
  2. Settings → Community Plugins → alle deaktivieren
  3. 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.md mit Defaults
  • README.md
  • CLAUDE.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 .env oder direkt beim Aufruf
  • Tabs ausprobieren: Graph, Cluster-Karte, Radial
  • Klick auf Notiz öffnet den PWA-Editor (Tiptap)
  • Sync-Button ruft mindomat sync auf

Schritt 9: Workflow-Anpassung

Obsidian-Workflow

  1. Notiz in Obsidian öffnen
  2. Schreiben
  3. Speichern (automatisch)
  4. Obsidian-Plugins verarbeiten (Dataview, etc.)

Mind-o-Mat-Workflow

  1. Notiz in 00_Inbox/ ablegen (manuell oder via Editor)
  2. mindomat ingest läuft (manuell oder via Watch-Mode)
  3. LLM pflegt Wiki (oder macht Notiz zu Wiki)
  4. mindomat index aktualisiert Landkarte
  5. Webapp zeigt aktualisierten Graph
  6. mindomat sync pusht 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 index zeigt sie als unknown-Typ
  • Lösung: Skript zum Umbenennen (siehe Schritt 2)
  • Zieldatei fehlt oder hat falschen Namen
  • Lösung: 99_System/Index.md zeigt verwaiste Links

"Inbox wird nicht verarbeitet"

  • Datei hat kein Frontmatter
  • Lösung: mindomat ingest --mock zeigt, was die Pipeline macht

"Graph ist leer"

  • mindomat index wurde 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 Spezifikation
  • 10_Wiki/Plan.md — Roadmap mit allen 20 Aufgaben
  • README.md — Install-Anleitung
  • GitHub Issues — für Bug-Reports und Feature-Wünsche