Thema
Woordenlijst
De termen die in Seifer een precieze betekenis hebben.
De keten
Roundtrip — de oude naam voor de keten. Betekent hetzelfde: de hele tocht van idee tot levend product.
Stage — een laag met een eigenaar. Bezit artefacten en schrijft alleen daarin. Er zijn er drie: Explore, Scaffold, Deploy.
Naad — het contract tussen twee stages. Een vertaalstap, geen bezitter. Naad A gaat van explorer naar scaffolder, naad B van scaffolder naar deployment.
Gate — een beslismoment waar een mens ja of nee zegt. → Gates
Seam — een plek in de gegenereerde code die expliciet bedoeld is om met de hand te vullen: modules.ts en domain-migrations.ts.
De foundation
Kit — mechaniek, domein-loos. Weet hoe je iets doet, weet niets van je domein. Eigen npm-package met eigen semver. → Kits
Capability-module — mechaniek + surface voor één samenhangend vermogen. Publiceert zijn oppervlak als materialiseerbare template, niet als import. → Capability-modules
Slug — de module-identiteit (authentication): manifest.name, de directorynaam, requires.modules, en waar tabelprefixen en i18n-namespaces aan hangen. Niet hetzelfde als de packagenaam, die puur distributie is.
Umbrella — het opgeheven package @seifer-webapp-factory/kits, dat alle kits re-exporteerde. Per 2026-08-17 weg; elke kit is nu zelfstandig. Verwijzingen ernaar zijn achterstallig werk.
Materialiseren — de templates van een capability-module je project in kopiëren, in plaats van ze te importeren. Bij een upgrade volgt een three-way merge.
Boilerplate — de per project samengestelde compositie van kits en modules. Receptuur, geen vaste template.
Distributie
Registry-only — het model waarin elk package zijn interne dependencies als tarball uit een npm-registry haalt, nooit via symlink. → Registry-only
Verdaccio — de lokale npm-registry in Docker, op localhost:4873. Bestaat zodat je een wijziging kunt testen zonder onomkeerbaar naar npmjs te publiceren.
Golf — een groep packages die in dezelfde ronde gepubliceerd kan worden, berekend uit de dependency-graaf. Runtime gerekend, niet opgeschreven.
restricted — npm-zichtbaarheid voor privé-packages. Geldt per package, niet per versie, en publiek → privé is niet met terugwerkende kracht mogelijk.
Artefacten
| Bestand | Wie schrijft het | Wat het is |
|---|---|---|
documentatie/ | stage 1 | De productdefinitie — bron van waarheid voor intentie |
solution-manifest.json | stage 1 | Machine-leesbare status per solution |
candidates.json | stage 1 (gegenereerd) | Index van build-kandidaten. Nooit met de hand bewerken. |
scaffolder.config.yaml | naad A | De input voor de scaffolder |
app/ | stage 2 | De gegenereerde code-spine |
.scaffolder.json + manifest | stage 2 | Wat de scaffolder bezit en kan syncen |
deploy-metadata.json | stage 2 (gepland) | envPrefix, health-pad, poorten, needs_* |
platform.yaml | stage 3 | Declaratieve registratie van elk live product |
Signaalvelden
verdict — de strategische as: build-now · build-conditional · platform-play · feature · no-go · exploring. Beantwoordt: mogen we dit bouwen?
sporenComplete (0–5) — hoeveel van de vijf sporen in kans-uitwerken af zijn.
scaffoldReady — of de genormaliseerde documentatie/ er is. Samen met sporenComplete de artefact-as: kán het al de keten in?
buildReady — de bucket in candidates.json voor wat Seifer nú kan starten: verdict = build-now én sporenComplete = 5.