Vertiefung & Anhang

Der Datenordner & das Dateiformat

Inhalt

Der Datenordner (in der Markdown-Welt auch „Vault“ genannt) ist der Ordner, in dem TandemLoop alle deine Daten speichert. Er besteht ausschließlich aus gewöhnlichen Textdateien — Markdown mit YAML-Kopfzeilen — und liegt dort, wo du ihn bei der Einrichtung wählst — lokal oder in iCloud Drive. Das macht ihn lesbar für andere Werkzeuge, KI-Agenten und natürlich für dich selbst mit jedem Texteditor.

Ordnerstruktur

{Datenordner}/
  AGENTS.md                  ← Anleitung für KI-Agenten
  _inbox/                    ← Schnell erfasste Aufgaben (GTD-Eingangskorb)
  bereiche/                  ← Deine Bereiche (je ein Unterordner)
    {bereich}/
      area_{slug}.md         ← Bereichs-Metadaten
      _projects/             ← Projekte des Bereichs
      _singles/              ← Einzelaufgaben direkt im Bereich
      _folders/              ← Optionale Ordner
        {ordner}/
          fld_{slug}.md      ← Ordner-Metadaten
          _projects/
          _singles/
  _config/                   ← Konfiguration (Tags, Attribute, Themes, Anzeige, Sprache)
    tags.yaml
    attributes/              ← Eigene Attribute (je Attribut eine Datei)
      {schlüssel}.yaml
    themes/                  ← Themes (je Theme eine Datei)
      {schlüssel}.yaml
    agent.yaml               ← Letzter Durchlauf deines KI-Agenten (schreibt der Agent)
    language.yaml            ← Sprache des Datenordners
  _views/                    ← Gespeicherte Views (auch in Unterordnern)
    vw_{slug}.yaml
  _proposals/                ← Proposals der KI
    prop_{slug}.md
  _archive/                  ← Archivierte Entities (nicht manuell bearbeiten)
  _conflicts/                ← Gesicherte iCloud-Konfliktkopien
  _system/                   ← Schema und generierte Referenzdokumente

Verzeichnisse mit _-Prefix sind Systemordner und werden von der App verwaltet.

Entity-IDs und Dateinamen-Präfixe

Jede Entity trägt im id-Feld ihres Frontmatters eine stabile UUID-basierte ID. Der Dateiname ist davon unabhängig und folgt einem lesbaren Slug. Nur Views, View-Ordner (vf_…) und Proposals tragen ihren Slug in der ID. Ältere Dateien können noch Slug-IDs haben (z. B. area_arbeit).

Entity Präfix Beispiel-ID Beispiel-Dateiname
Aufgabe tsk_ tsk_f66f123ebac0402f… tsk_logo-entwerfen.md
Projekt prj_ prj_03ebb2b6286f4a9f… prj_website-relaunch.md
Bereich area_ area_4f8e2d1c0b9a4e… area_arbeit.md
Ordner fld_ fld_a1b2c3d4e5f647… fld_kunden.md
Meilenstein ms_ ms_9fd12a6f440a4c… ms_sprint-1.md
Tag tag_ tag_a1b2c3d4e5f647… (in _config/tags.yaml)
View vw_ vw_signal-tasks vw_signal-tasks.yaml
Proposal prop_ prop_inbox-aufraeumen prop_inbox-aufraeumen.md
Attribut attr_ attr_3f2e9a0b4c5d… _config/attributes/kunde.yaml
Theme thm_ thm_7c1d0e9f2a4b… _config/themes/nordlicht.yaml

Der Datenvertrag

Das Dateiformat folgt drei Grundsätzen:

Tolerantes Lesen: Die App liest Dateien auch dann, wenn Felder fehlen, unbekannte Statuswerte enthalten sind oder Altdateien aus früheren Versionen stammen. Das sorgt dafür, dass ein manuell bearbeiteter oder von einem KI-Agenten angelegter Eintrag nicht die ganze App blockiert.

Stabiles Schreiben: Beim Aktualisieren einer Datei bewahrt die App die Reihenfolge der vorhandenen Felder und bestehende Informationen. Unbekannte Felder, die ein externer Editor hinzugefügt hat, bleiben erhalten. Später ergänzte Felder wie eine Erinnerung (remind_at) hängt die App ans Ende des Frontmatters; leere Felder stehen als null, nur einige wie remind_at und repeat: fehlen ganz, solange sie nicht gesetzt sind.

Maschinenlesbar: Da es sich um plain-text Markdown-Dateien handelt, können KI-Agenten und andere Werkzeuge den Datenordner direkt lesen. Welche Änderungen sie direkt vornehmen dürfen, beschreibt das Kapitel Zusammenarbeit mit KI-Agenten.

Eigene Attribute

Eigene Attribute (in den Einstellungen unter Attribute) erweitern Aufgaben, Projekte und Meilensteine um zusätzliche Felder. Jedes Attribut ist eine kleine YAML-Datei in _config/attributes/ — der Dateiname ist der Schlüssel des Attributs:

key: kunde
name: Kunde
type: select
applies_to:
  - task
  - project
options:
  - ACME
  - Contoso
description: Für welchen Kunden die Arbeit erbracht wird.

Die Werte stehen im Frontmatter der jeweiligen Datei unter attributes::

attributes:
  kunde: ACME
  budget: 12000
  abnahme: '2026-11-30'
  • Typen: text, number (Zahl), date ('JJJJ-MM-TT'), boolean (Ja/Nein), select (eine der Optionen), url (Link).
  • Schlüssel bestehen aus Kleinbuchstaben, Ziffern und Unterstrichen und dürfen keinem eingebauten Feld wie status oder due_date entsprechen. Ein Schlüssel lässt sich nachträglich nicht ändern.
  • Leere Felder werden nicht gespeichert. Gelöschte Attribute entfernen keine Werte — sie bleiben in den Dateien und erscheinen im Inspector als schreibgeschützte Zeile.
  • In Views stehen Attribute als Felder attributes.schlüssel zum Filtern, Sortieren und Gruppieren bereit.

KI-Agenten können Attribute selbst anlegen: Bittest du einen Agenten z. B. „Lege ein Attribut Budget für Projekte an”, schreibt er eine Datei nach _config/attributes/. Die App erkennt sie sofort und zeigt das neue Feld an.

Wiederkehrende Aufgaben

Die Wiederholungsregel steht im Frontmatter der Aufgabe unter repeat:, zum Beispiel jeden Montag:

repeat:
  unit: week
  days: [mon]

unit ist day, weekday, week, month oder year; dazu kommen optional every (Intervall), day bzw. nth + weekday (Monatsregeln), from: completion (ab Erledigung) sowie until oder count als Ende. Die Schlüssel series, occurrence und next pflegt die App selbst. Die vollständige Referenz für Agenten steht in _system/docs/data-model.md.

Themes

Jedes Theme ist eine YAML-Datei unter _config/themes/ — der Dateiname ohne Endung ist sein Schlüssel (nordlicht.yaml → nordlicht). Ein Theme nennt nur die Farben, die vom Standard abweichen:

name: Nordlicht
description: Kühles Petrol mit dunklen Flächen.
appearance: system        # system, light oder dark
font_design: rounded      # default, rounded, serif oder monospaced
colors:
  primary:
    light: "#0F766E"
    dark: "#2DD4BF"
  danger: "#E5484D"       # ein Wert gilt für hell und dunkel

Farben stehen als Hex-Wert in Anführungszeichen, mit Deckkraft als #RRGGBBAA. Welche Farb-Schlüssel es gibt, welche aus anderen abgeleitet werden und welche Standardwerte gelten, steht in _system/docs/themes.md — diese Referenz pflegt TandemLoop selbst, damit KI-Agenten Themes passend entwerfen können. Welches Theme aktiv ist, speichert jedes Gerät für sich; die Theme-Dateien selbst synchronisieren mit dem Datenordner.

Der Relations-Block

Jede Aufgaben-, Projekt-, Meilenstein- und Ordnerdatei — außer Inbox-Aufgaben — enthält am Ende des Datei-Bodys einen kurzen maschinenlesbaren Abschnitt, der die Eltern-Verlinkung als relative Markdown-Links speichert, hier für eine Aufgabe im Projekt „Website-Relaunch“:

<!-- tandemloop:relations:start -->
[Bereich: Arbeit](../../../area_arbeit.md) · [Projekt: Website Relaunch](../prj_website-relaunch.md)
<!-- tandemloop:relations:end -->

Dieser Block wird von der App automatisch aktuell gehalten und muss nicht von Hand bearbeitet werden; KI-Agenten lassen ihn bei neuen Dateien weg und entfernen ihn beim Verschieben. Er macht die hierarchische Zuordnung für Werkzeuge und Agenten auch ohne den In-Memory-Index der App nachvollziehbar.

Sprache des Datenordners

Die wenigen Texte, die TandemLoop selbst in Dateien schreibt — die Beschriftungen im Relations-Block (Bereich: / Area: …), die Überschriften im Verlauf einer Aufgabe (## Du — 21.3.2026 / ## You — 2026-03-21), die Abschnitte eines Proposals (## Diskussion / ## Discussion) und die Anleitungen für KI-Agenten (AGENTS.md, _system/docs/) —, richten sich nach der Sprache des Datenordners. Sie steht in _config/language.yaml:

language: en

Neu angelegte Datenordner sind englisch; Datenordner ohne diese Datei (aus älteren Versionen) bleiben deutsch. Die Sprache des Datenordners hängt nicht von der Gerätesprache ab — dadurch schreiben alle Geräte dieselben Dateien. Beim Lesen erkennt TandemLoop beide Varianten.

Direkt im Datenordner editieren — mit Bedacht. Du kannst Dateien mit jedem Texteditor öffnen. Beachte dabei: IDs dürfen niemals geändert werden; Datumswerte stehen im Frontmatter von Markdown-Dateien in einfachen Anführungszeichen ('2026-03-14T09:30:00'), in View- und Konfigurationsdateien (_views/, _config/) ohne Anführungszeichen; der _archive/-Ordner sollte nicht manuell bearbeitet werden. Für strukturelle Änderungen (Projekte verschieben, Tags umbenennen) nutze besser die App oder den Proposal-Mechanismus — sonst kann der interne Index inkonsistent werden.

Mehrere Geräte: Synchronisation über iCloud Drive

TandemLoop hat keinen eigenen Server und überträgt von sich aus keine Daten ins Netz. Weil dein Datenordner ein ganz normaler Ordner ist, nutzt du ihn auf mehreren Geräten, indem du ihn in iCloud Drive legst. iCloud hält die Dateien zwischen Mac, iPad und iPhone aktuell; TandemLoop liest auf jedem Gerät denselben Ordner und lädt fehlende Dateien bei Bedarf aus iCloud nach.

Einstellungen › Datenordner › Datenordner wechseln … › ein Verzeichnis in iCloud Drive wählen

Nicht auf zwei Geräten gleichzeitig schreiben. Cloud-Dienste synchronisieren auf Dateiebene und kennen den inneren Aufbau deines Datenordners nicht. Bearbeite deine Daten daher möglichst nur auf einem Gerät zur Zeit und warte, bis die Synchronisation abgeschlossen ist, bevor du das nächste Gerät verwendest — sonst können Konfliktkopien einzelner Dateien entstehen. Dasselbe gilt, wenn ein KI-Werkzeug gleichzeitig auf denselben Datenordner in der Cloud zugreift.

Synchronisation ersetzt kein Backup. Eine Cloud-Synchronisation spiegelt auch Löschungen auf alle Geräte. Für echte Sicherungen nutze zusätzlich z. B. Time Machine oder die Versionsverläufe deines Cloud-Dienstes.