De gegevensmap (in de Markdown-wereld ook “vault” genoemd) is de map waarin TandemLoop al je gegevens bewaart. Ze bestaat uitsluitend uit gewone tekstbestanden – Markdown met YAML-kopregels – en staat waar je ze bij het instellen kiest – lokaal of in iCloud Drive. Daardoor is ze leesbaar voor andere tools, AI-agents en natuurlijk voor jezelf, met elke teksteditor.
Mapstructuur
{gegevensmap}/
AGENTS.md ← Instructies voor AI-agents
_inbox/ ← Snel vastgelegde taken (GTD-inbox)
bereiche/ ← Je gebieden (elk een submap)
{gebied}/
area_{slug}.md ← Metadata van het gebied
_projects/ ← Projecten van het gebied
_singles/ ← Losse taken direct in het gebied
_folders/ ← Optionele mappen
{map}/
fld_{slug}.md ← Metadata van de map
_projects/
_singles/
_config/ ← Configuratie (tags, attributen, thema's, weergave, taal)
tags.yaml
attributes/ ← Eigen attributen (één bestand per attribuut)
{sleutel}.yaml
themes/ ← Thema's (één bestand per thema)
{sleutel}.yaml
agent.yaml ← Laatste ronde van je AI-agent (schrijft de agent)
language.yaml ← Taal van de gegevensmap
_views/ ← Bewaarde weergaven (ook in submappen)
vw_{slug}.yaml
_proposals/ ← Voorstellen van de AI
prop_{slug}.md
_archive/ ← Gearchiveerde entiteiten (niet handmatig wijzigen)
_conflicts/ ← Bewaarde iCloud-conflictkopieën
_system/ ← Schema en gegenereerde naslagdocumenten
Mappen met het voorvoegsel _ zijn systeemmappen en
worden door de app beheerd.
Entiteit-ID’s en voorvoegsels van bestandsnamen
Elke entiteit heeft in het veld id van haar frontmatter
een stabiele, op een UUID gebaseerde ID. De bestandsnaam staat daar los
van en volgt een leesbare slug. Alleen weergaven, weergavemappen
(vf_…) en voorstellen hebben hun slug in de ID. Oudere
bestanden kunnen nog slug-ID’s hebben (bijvoorbeeld
area_arbeit).
| Entiteit | Voorvoegsel | Voorbeeld-ID | Voorbeeld-bestandsnaam |
|---|---|---|---|
| Taak | tsk_ |
tsk_f66f123ebac0402f… |
tsk_logo-entwerfen.md |
| Project | prj_ |
prj_03ebb2b6286f4a9f… |
prj_website-relaunch.md |
| Gebied | area_ |
area_4f8e2d1c0b9a4e… |
area_arbeit.md |
| Map | fld_ |
fld_a1b2c3d4e5f647… |
fld_kunden.md |
| Mijlpaal | ms_ |
ms_9fd12a6f440a4c… |
ms_sprint-1.md |
| Tag | tag_ |
tag_a1b2c3d4e5f647… |
(in _config/tags.yaml) |
| Weergave | vw_ |
vw_signal-tasks |
vw_signal-tasks.yaml |
| Voorstel | prop_ |
prop_inbox-aufraeumen |
prop_inbox-aufraeumen.md |
| Attribuut | attr_ |
attr_3f2e9a0b4c5d… |
_config/attributes/klant.yaml |
| Thema | thm_ |
thm_7c1d0e9f2a4b… |
_config/themes/nordlicht.yaml |
Het gegevenscontract
Het bestandsformaat volgt drie principes:
Tolerant lezen: De app leest bestanden ook als er velden ontbreken, als ze onbekende statuswaarden bevatten of als het oude bestanden uit eerdere versies zijn. Zo blokkeert een item dat handmatig is gewijzigd of door een AI-agent is aangemaakt niet de hele app.
Stabiel schrijven: Bij het bijwerken van een bestand
behoudt de app de volgorde van de bestaande velden en de bestaande
informatie. Onbekende velden die een externe editor heeft toegevoegd,
blijven behouden. Later toegevoegde velden zoals een herinnering
(remind_at) zet de app aan het eind van de frontmatter;
lege velden staan er als null, alleen enkele zoals
remind_at en repeat: ontbreken helemaal zolang
ze niet zijn ingesteld.
Machineleesbaar: Omdat het om platte Markdown-tekstbestanden gaat, kunnen AI-agents en andere tools de gegevensmap rechtstreeks lezen. Welke wijzigingen ze direct mogen uitvoeren, staat in het hoofdstuk Samenwerken met AI-agents.
Eigen attributen
Eigen attributen (in Instellingen onder Attributen)
breiden taken, projecten en mijlpalen uit met extra velden. Elk
attribuut is een klein YAML-bestand in _config/attributes/
– de bestandsnaam is de sleutel van het attribuut:
key: klant
name: Klant
type: select
applies_to:
- task
- project
options:
- ACME
- Contoso
description: Voor welke klant het werk wordt gedaan.De waarden staan in de frontmatter van het betreffende bestand onder
attributes::
attributes:
klant: ACME
budget: 12000
oplevering: '2026-11-30'- Typen:
text,number(getal),date('JJJJ-MM-DD'),boolean(ja/nee),select(een van de opties),url(link). - Sleutels bestaan uit kleine letters, cijfers en
onderstrepingstekens en mogen niet gelijk zijn aan een ingebouwd veld
zoals
statusofdue_date. Een sleutel kan achteraf niet meer worden gewijzigd. - Lege velden worden niet bewaard. Verwijderde attributen verwijderen geen waarden – die blijven in de bestanden staan en verschijnen in het infopaneel als alleen-lezenregel.
- In weergaven zijn attributen beschikbaar als velden
attributes.sleutelom te filteren, te sorteren en te groeperen.
AI-agents kunnen zelf attributen aanmaken: Vraag je
een agent bijvoorbeeld “Maak een attribuut Budget voor projecten aan”,
dan schrijft hij een bestand in _config/attributes/. De app
herkent het meteen en toont het nieuwe veld.
Herhalende taken
De herhalingsregel staat in de frontmatter van de taak onder
repeat:, bijvoorbeeld elke maandag:
repeat:
unit: week
days: [mon]unit is day, weekday,
week, month of year; daarnaast
zijn optioneel every (interval), day of
nth + weekday (maandregels),
from: completion (vanaf voltooiing) en until
of count als einde mogelijk. De sleutels
series, occurrence en next
beheert de app zelf. De volledige naslag voor agents staat in
_system/docs/data-model.md.
Thema’s
Elk thema is een YAML-bestand in _config/themes/ – de
bestandsnaam zonder extensie is de sleutel (nordlicht.yaml
→ nordlicht). Een thema noemt alleen de kleuren die van de
standaard afwijken:
name: Nordlicht
description: Koel petrol met donkere vlakken.
appearance: system # system, light of dark
font_design: rounded # default, rounded, serif of monospaced
colors:
primary:
light: "#0F766E"
dark: "#2DD4BF"
danger: "#E5484D" # één waarde geldt voor licht en donkerKleuren staan als hexwaarde tussen aanhalingstekens, met dekking als
#RRGGBBAA. Welke kleursleutels er zijn, welke uit andere
worden afgeleid en welke standaardwaarden gelden, staat in
_system/docs/themes.md – deze naslag houdt TandemLoop zelf
bij, zodat AI-agents passende thema’s kunnen ontwerpen. Welk thema
actief is, bewaart elk apparaat afzonderlijk; de themabestanden zelf
worden met de gegevensmap gesynchroniseerd.
Het relatieblok
Elk bestand van een taak, project, mijlpaal en map – behalve Inbox-taken – bevat aan het einde van de body een kort machineleesbaar gedeelte dat de koppeling met het bovenliggende item als relatieve Markdown-links bewaart, hier voor een taak in het project “Website Relaunch”:
<!-- tandemloop:relations:start -->
[Bereich: Arbeit](../../../area_arbeit.md) · [Projekt: Website Relaunch](../prj_website-relaunch.md)
<!-- tandemloop:relations:end -->
Dit blok houdt de app automatisch up-to-date; je hoeft het niet handmatig te wijzigen; AI-agents laten het bij nieuwe bestanden weg en verwijderen het bij het verplaatsen. Het maakt de hiërarchische indeling ook zonder de index van de app in het geheugen begrijpelijk voor tools en agents.
Taal van de gegevensmap
De weinige teksten die TandemLoop zelf in bestanden schrijft – de
labels in het relatieblok (Bereich: / Area:
…), de koppen in het logboek van een taak
(## Du — 21.3.2026 / ## You — 2026-03-21), de
secties van een voorstel (## Diskussion /
## Discussion) en de instructies voor AI-agents
(AGENTS.md, _system/docs/) –, volgen de
taal van de gegevensmap. Die staat in
_config/language.yaml:
language: enNieuw aangemaakte gegevensmappen zijn Engels; gegevensmappen zonder dit bestand (uit oudere versies) blijven Duits. De taal van de gegevensmap hangt niet af van de taal van het apparaat – daardoor schrijven alle apparaten dezelfde bestanden. Bij het lezen herkent TandemLoop beide varianten.
Rechtstreeks in de gegevensmap wijzigen – met
beleid. Je kunt bestanden met elke teksteditor openen. Let
daarbij op: ID’s mogen nooit worden gewijzigd; datumwaarden staan in de
frontmatter van Markdown-bestanden tussen enkele aanhalingstekens
('2026-03-14T09:30:00'), in weergave- en
configuratiebestanden (_views/, _config/)
zonder aanhalingstekens; de map _archive/ kun je beter niet
handmatig wijzigen. Gebruik voor structurele wijzigingen (projecten
verplaatsen, tags een andere naam geven) liever de app of het
voorstellenmechanisme – anders kan de interne index inconsistent
worden.
Meerdere apparaten: synchroniseren via iCloud Drive
TandemLoop heeft geen eigen server en verstuurt uit zichzelf geen gegevens via het internet. Omdat je gegevensmap een heel gewone map is, gebruik je hem op meerdere apparaten door hem in iCloud Drive te zetten. iCloud houdt de bestanden tussen Mac, iPad en iPhone up-to-date; TandemLoop leest op elk apparaat dezelfde map en haalt ontbrekende bestanden zo nodig uit iCloud.
Instellingen › Gegevensmap › Gegevensmap wisselen… › kies een map in iCloud Drive
Niet op twee apparaten tegelijk schrijven. Clouddiensten synchroniseren op bestandsniveau en kennen de interne opbouw van je gegevensmap niet. Wijzig je gegevens daarom zo veel mogelijk op één apparaat tegelijk en wacht tot de synchronisatie klaar is voordat je het volgende apparaat gebruikt – anders kunnen er conflictkopieën van afzonderlijke bestanden ontstaan. Hetzelfde geldt als een AI-tool tegelijkertijd dezelfde gegevensmap in de cloud gebruikt.
Synchronisatie vervangt geen back-up. Een cloudsynchronisatie zet ook verwijderingen door naar alle apparaten. Gebruik voor echte back-ups daarnaast bijvoorbeeld Time Machine of de versiegeschiedenis van je clouddienst.