My App

Docs-handleiding

Hoe de kennisbasis en de collecties werken.

Indeling

Written 2026-07-11.

src/                 collections.config.ts (het indexbestand: defineConfig +
                     defineCollection) en collections.test.ts
content/
├── integraties/     de externe koppelingen van KSD met links naar hun API-docs
└── readme/          secties van deze README

Elk document in apps/docs/ (INTEGRATIES.md en deze README) is GEGENEREERD uit de content-map met dezelfde naam. Bewerk de .md-output nooit met de hand; wijzig de entries in content/ en herbouw. Elke entry draagt een geschreven- en bijgewerkt-datum, zodat later te verifiëren is of een stuk nog klopt. Het entry-formaat per collectie staat in de README van de betreffende content-map. De generieke engine (frontmatter, huisstijlvalidatie, de --json-envelope en de factories) zit in het gedeelde package @beltane/collections; deze app declareert alleen haar eigen collecties.

Gebruik

Written 2026-07-11.

Vanuit apps/docs/:

bun run docs build [collectie] [--json]     # gegenereerde documenten bouwen
bun run docs check [--json]                 # validatie + review-due
bun run docs list <collectie> [--where veld=waarde] [--json]  # entries tonen/filteren
bun run docs get <collectie> <id> [--json]  # één entry: frontmatter + body
bun run docs add <collectie> --veld waarde ... --body "..." [--json]
bun run docs touch <collectie> <bestand> [--json]  # bijgewerkt-datum op vandaag
bun run docs schema [--json]                # zelf-beschrijvend contract
bun run docs help [collectie]               # veldenoverzicht
bun run test                                # CLI-integratietests

Elk commando kent een --json-modus met één vaste envelope { ok, command, data, warnings, errors, meta }. docs schema --json geeft het volledige contract (collecties, velden, exit-codes), zodat een agent de CLI kan bedienen zonder de source te lezen.

Nieuwe collecties

Written 2026-07-11.

Nieuwe collecties declareer je in src/collections.config.ts met defineCollection (soorten: grouped, document of custom) en een eigen map onder content/ met een README die het entry-formaat beschrijft. Kandidaat voor een volgende stap: de campagne-briefs als collectie, zodra de campagne-registry (apps/campaigns/src/registry.ts) en de live stand gesynct zijn; de registry blijft de bron van waarheid voor status en budget.

Huisstijl: Nederlands, u-vorm richting klanten en wij-vorm intern, geen gedachtestreepjes (de build weigert entries met een em/en-dash, met regelnummer). Engelse veldnamen in de front matter waar de engine ze kent; de datumsleutels zijn hier Nederlands (geschreven/bijgewerkt) via dateKeys in de config.

On this page