# Tendlo — documentatie

Dit is de ingang van alle documentatie van **Tendlo**: een local-first, privacy-first gezins-/huishoudassistent (Flutter, iOS + Android). Deze map is opgezet bij de documentatie-overhaul van **2026-07-11**; alle docs in de nieuwe structuur zijn op die datum tegen de code geverifieerd.

## Waar begin ik?

| Ik ben… | Start hier |
|---|---|
| **Nieuw — wat is Tendlo?** | [product/README.md](product/README.md) → [product/visie-en-doelen.md](product/visie-en-doelen.md) |
| **Waar gaan we heen, en wat is er af?** | **Linear** (team Tendlo, zes projecten) + [product/launchset.md](product/launchset.md) |
| **Technisch — hoe zit het in elkaar?** | [architecture/README.md](architecture/README.md) |
| **Business — markt, prijzen, verdienmodel?** | [business/README.md](business/README.md) |

Voor een visuele presentatie is er [overview/index.html](overview/index.html). **De markdown-documenten zijn leidend**; de HTML-presentatie is een afgeleide weergave.

> **Ik wil de app doorlopen in de simulator** → [testen/index.html](testen/index.html) — hoe je test, met welk
> account, en de twee manieren (Desktop-simulator of screenshot-harnas). Accountdetails in [testaccounts.md](testaccounts.md) — zes demo-accounts
> (gratis / Plus / gezin / minimaal) met verzonnen data, zodat je nooit met een echt account hoeft in te loggen.
>
> **Waar staan we, en wat moet er nog?** → **in Linear**, niet meer in deze map. Sinds
> 2026-09-01 is Linear de statusbron: zes projecten met milestones, waarvan
> *1 · Verkoopbaar* de enige met een datum is. Welke onderdelen meegaan naar de eerste
> publieke release staat in [product/launchset.md](product/launchset.md). De oude
> statusdocumenten (`status/index.html`, `status-overzicht.md`, `HANDOVER.md`) staan in
> `archive/` en dragen hun peildatum in de kop — lees ze als historie.
>
> **Wat is de volgende stap?** → [archive/implemented/release/plan-testflight-en-testfeedback.md](archive/implemented/release/plan-testflight-en-testfeedback.md)
> — het plan naar TestFlight en het afmaken van de testfeedback, met wat er bewust niet gebeurt.
>
> **Moet ik iets dóen?** → [archive/superseded/acties/index.html](archive/superseded/acties/index.html) bundelt de stappen die alleen de eigenaar kan
> zetten (certificaat exporteren, verklaringen, toestellen klaarzetten), met per punt wat er daarna gebeurt.
>
> **Ik ga de abonnementen in de stores klaarzetten** → [release/store-setup-handleiding.html](release/store-setup-handleiding.html)
> — doe-handleiding voor de Paid Apps Agreement (bank + belastingformulieren) en de vier abonnementen met de
> 14-daagse proefperiode in App Store Connect. Per stap: waar je bent, wat je invult, en hoe je ziet dat het
> gelukt is. Google Play staat erin als uitgesteld.
>
> **Wacht er iets op mij?** → [archive/superseded/beslissingen/index.html](archive/superseded/beslissingen/index.html) bundelt alles wat een
> eigenaar-beslissing vraagt (vraag · waarom · advies · gevolg), gesorteerd op urgentie. Bijgewerkt bij elke
> beslislog. De losse beslislogs (`besluitenlog-<datum>.md`) blijven de chronologische bron.

## Structuur

```
docs/
├── README.md              ← dit bestand: conventies + navigatie
├── product/               ← wat het product is en doet
│   ├── README.md          ← ingang product: domeinen, modules, kern-surfaces
│   ├── visie-en-doelen.md ← visie, waardepropositie, principes, owner-keuzes
│   ├── launchset.md       ← wat meegaat naar de launch + module→Linear-project-mapping
│   ├── roadmap.md         ← besluitenlog, roadmap-assen, open vragen, non-goals
│   ├── gebruikersflows.md ← de belangrijkste flows voor wie de app niet kent
│   └── modules/           ← één doc per module (vast sjabloon)
├── business/              ← markt & doelgroep, concurrentie, verdienmodel & pricing
├── architecture/          ← systeemoverzicht, datamodel, sync, AI, security, infra
├── release/               ← uitleveren: store-builds, signing, privacy-manifest
│   ├── testflight-ios.md  ← hoe een iOS-build naar TestFlight gaat + open beslissingen
│   └── store-setup-handleiding.html ← doe-handleiding voor de eigenaar: Paid Apps Agreement + de vier abonnementen
├── design/                ← LEVENDE ontwerp- en plandocumenten (detailbron)
├── specs/modules/         ← owner-specs per module ("bron-van-waarheid"-patroon)
├── research/              ← onderzoek (o.a. competitor-gap-analysis.md)
├── overview/index.html    ← visuele presentatie (markdown is leidend)
└── archive/               ← alles wat niet meer geldt, geordend naar reden
    ├── implemented/       ← het beschreven werk is gebouwd
    ├── superseded/        ← vervangen door een nieuwer document
    ├── discarded/         ← voorstel of variant die niet gekozen is
    └── sessions/          ← hand-offs en besluitenlogs: verslag van een moment
```

**Archiveren is verplaatsen, niet verwijderen** (opruiming 2026-09-01). Een document
verhuist naar de map die zegt *waarom* het niet meer geldt — dat is het enige wat je later
nog wilt weten. Een ontwerppagina verhuist naar `implemented/` zodra de bijbehorende
Linear-milestone dichtgaat; zonder die koppeling loopt `design/` binnen twee maanden weer vol.
Oude adressen van verhuisde pagina's blijven werken via de redirect-tabel in `_worker.js`,
zodat links in Linear-tickets niet doodlopen.

### Levende detaildocumenten (docs/design/)

De product- en architecture-docs vatten samen; voor detail-ontwerpen blijven deze documenten de bron: [implementation-roadmap.md](design/implementation-roadmap.md) (Golf 0–6), [module-ideas.md](design/module-ideas.md) (triage-log), [financieel-herontwerp-plan.md](archive/implemented/design/financieel-herontwerp-plan.md) (F-waves), [rollen-rechten-plan.md](archive/implemented/design/rollen-rechten-plan.md) + [rechten-fase2-deelmodel-plan.md](archive/implemented/design/rechten-fase2-deelmodel-plan.md) + [rechten-fase3-deel-defaults-plan.md](archive/implemented/design/rechten-fase3-deel-defaults-plan.md) + [favorietenbalk-sneltoetsen-plan.md](archive/implemented/design/favorietenbalk-sneltoetsen-plan.md), [ai-credits.md](design/ai-credits.md) (AI-verdienmodel), [ai-capture-models.md](design/ai-capture-models.md) (modelkeuzes), [foundation-architecture.md](design/foundation-architecture.md) (datamodel-doctrine), [implementation-audit.md](archive/implemented/design/implementation-audit.md), [share-sheet-capture.md](archive/implemented/design/share-sheet-capture.md) en [tendlo-release-assessment.html](design/tendlo-release-assessment.html) (milestones M0–M3). Owner-specs per module staan in `docs/specs/modules/`.

**Ontwerpvoorstellen die op een keuze wachten** (zie de ontwerp-gate in `CLAUDE.md`): [ai-assistent-zoeken-en-aanmaken.html](design/ai-assistent-zoeken-en-aanmaken.html) — de assistent laten zoeken én aanmaken; globale chat plus module-gebonden ingang, met de kernkeuze hoe het model aan de data komt · [assistent-schrijfvoorstel.html](design/assistent-schrijfvoorstel.html) — toevoegen, wijzigen en verwijderen als zichtbaar voorstel, met een antwoord per modulegroep · [vermogen-ontwerpvarianten.html](archive/superseded/design/vermogen-ontwerpvarianten.html) — Vermogen als overkoepeling met vastgoed erin, plus boekingsync via Uplisting · [datum-en-tijdkiezer-varianten.html](design/datum-en-tijdkiezer-varianten.html) — datum- en tijdcomponent met single-select én range, en de uitrol over 55 aanroepen. · [keuzevelden-ontwerpvarianten.html](design/keuzevelden-ontwerpvarianten.html) — één patroon voor de 150 selectie-chips in 45 schermen (TEN-279), met werkende prototypes en de overloopregel die ook TEN-269 opruimt. · [onboarding-flow-ontwerp.html](design/onboarding-flow-ontwerp.html) — de hele onboardingflow van vijf stappen opnieuw (TEN-288), met een doorloopbaar prototype, gemeten contrast en de gratis-versie als harde randvoorwaarde. · [onboarding-definitief.html](design/onboarding-definitief.html) — **zo wordt het**: één uitwerking van de zes stappen in de echte huisstijl, met het geanimeerde merkteken, de Phosphor-icoonset en de accountstap uit TEN-290. · [formulier-standaard-ontwerp.html](design/formulier-standaard-ontwerp.html) — één indeling voor de 46 `add_*_sheet`-bladen (TEN-285), met vier bedienbare varianten en de zeven regels die eruit volgen. · [prive-markering-ontwerp.html](design/prive-markering-ontwerp.html) — privé-items herkenbaar maken zonder ze grijs te maken (TEN-292), met de asymmetrie tegenover `FromOwnerMarker` als vertrekpunt.

## Conventies

1. **Taal:** Nederlands (informeel-zakelijk). Code-termen, paden en identifiers blijven Engels. Uitzonderingen worden per doc benoemd.
2. **Statuslegenda** — elke doc die statussen gebruikt zet bovenaan letterlijk deze regel:
   > **Status:** ✅ Live (gebouwd, bereikbaar op genoemde route) · 🟡 Gedeeltelijk (werkt, met benoemd gat) · 🔧 In uitvoering · 📋 Gepland (met fase) · 💤 Bewust uitgesteld / non-goal
3. **Bron + datum:** elke feitelijke claim heeft een bron (codepad, doc-pad of besluit met datum). Elke doc eindigt met een bronnenblok: `*Bronnen: <paden>. Geverifieerd op <datum>.*` Volatiele cijfers (testaantallen, module-tellingen) altijd dateren, bijv. "~1.821 tests, stand 2026-07-11".
4. **Naamconventies:** kebab-case-bestandsnamen. Momentopnamen (sessielogs, spikes, onderzoeken) krijgen een datum-prefix `YYYY-MM-DD-onderwerp.md`. Levende docs hebben géén datum in de naam, maar wél een bijgehouden peildatum in de kop. Markdown boven HTML voor alles wat onderhouden moet worden.
5. **Archiefbeleid:** afgeronde of superseded docs worden niet verwijderd maar verplaatst naar `docs/archive/superseded/<datum-overhaul>/<origineel pad>` (deze overhaul: [archief-index met redenen per bestand](archive/superseded/2026-07-11-docs-overhaul/README.md)). Verwijs vanuit levende docs naar het archiefpad. Een doc die feitelijk achterhaald is maar bewaard blijft op zijn plek, krijgt bovenaan een banner met datum en verwijzing naar de actuele bron.
6. **Links:** relatief, en alleen naar bestanden die (in de doelstructuur) bestaan.
7. **Geen** echte gebruikersdata, e-mailadressen (behalve functionele zoals noreply@tendlo.app), tokens of secrets in documentatie.

---
*Bronnen: docs-structuur van deze overhaul (design-brief 2026-07-11); docs/design/* en docs/specs/modules/* (levende detaildocs); archiefbeleid zoals toegepast in docs/archive/superseded/2026-07-11-docs-overhaul/. Geverifieerd op 2026-07-11.*
