Skip to content

Foundation — de onderlaag

Geen fase in de keten, maar de voorraad waaruit de keten put.

Naast de keten staat de fundering: domein-loze, herbruikbare bouwblokken die de keten voeden maar er zelf geen stap in zijn. Fase 2 stelt er een boilerplate uit samen, fase 3 bouwt erop verder.

        ┌──────────────── DE ROUNDTRIP ────────────────┐
        Ideation → Techniek & scaffold → Ontwikkelen → Deploy
                          ▲                  ▲
                          │ boilerplate      │ styling-laag
        ┌─────────────────┴──────────────────┴─────────┐
        │  FOUNDATION (ondersteunend — geen fase)       │
        │    22 kits (mechaniek)             ─┐         │
        │    9 capability-modules (+ surface)─┼─► compositie │
        │    white-label design system       ─┘         │
        └──────────────┬────────────────────────────────┘
                       │ alles bereikbaar als npm-artefact

              ┌─────────────────┐
              │  npm-registry   │  lokaal (Verdaccio) tijdens ontwikkeling
              │                 │  npmjs bij release
              └─────────────────┘

Drie tiers

TierWat het isDistributie
KitsMechaniek, domein-loos. Ports & adapters, config-injectie, semver, pure core + dunne NestJS/Vue-adapter.@seifer-webapp-factory/kit-<tier>-<naam> — 22 packages
Capability-modulesMechaniek + surface voor één samenhangend vermogen. Publiceren hun oppervlak als materialiseerbare templates, niet als import.@seifer-webapp-factory/capability-module-<slug> — 9 packages
Design systemDe visuele taal. Merkneutraal, met één bestand als rebrand-ingang. De frontend-kits consumeren het in plaats van het te herimplementeren.Gekopieerd per product, niet gedeeld — eigen scope per kopie

Daarnaast: capability-spec, scaffolder-core en tools/project-scaffolder. De kits en modules samen zijn 35 losse npm-packages.

Waar wat woont

Kits en modules zitten in foundation/. Het design system staat als design-system/ ernaast, met wireframe-ds/ als aparte wireframe-laag — beide zijn functioneel fundering, maar hebben een eigen build en lockfile die een workspace-fan-out niet overleven.

Slug ≠ packagenaam

De slug (authentication) is de module-identiteit: manifest.name, de directorynaam, requires.modules, en waar tabelprefixen en i18n-namespaces aan hangen. De packagenaam (…/capability-module-authentication) is puur distributie. Conventie: foundation/capability-modules/README.md.

Boilerplate als receptuur

Uit deze bouwblokken wordt per project een boilerplate samengesteld — compositie, geen één-vaste-template. Fase 2 kiest welke kits en frontend-blokken meegaan, welke capability-modules gematerialiseerd worden, en welk merk over het design system komt.

Hoe meer er kant-en-klaar in die compositie zit, hoe minder er per project afgeleid hoeft te worden — wat direct de frictie in naad A en naad B verlicht.

Elke bouwblok draagt zijn eigen skill

Dit is wat de fundering bruikbaar maakt in plaats van alleen aanwezig:

TierSkillAantal
Kitsintegrate-<kit>-kit — installeren, poorten injecteren, configureren, valkuilen bewaken, verifiëren22
Modulesapply-<module>-module — materialiseren in het projectper module
Modulescreate-capability-module — een nieuwe bouwen volgens de conventie1
Design systemrebrand · theme-manager · apply-preset · add-component · test-component · build-prototype-by-design-system8

Skills — de leidraad

De harde regel eronder

De foundation gebruikt geen npm-workspaces. Elk van de 35 packages installeert zijn interne afhankelijkheden als tarball uit een npm-registry, precies zoals een project in fase 2 dat doet.

Dat is geen esthetiek — het is de reden dat een hele klasse fouten hier boven water komt in plaats van pas na het deployen. → Registry-only

Gevolg voor je werkdag

De ontwikkellus is publicatiegebonden: wijzig → bump → publiceer → installeer. Er is geen sneller pad, en dat is met opzet. → De ontwikkellus

Verder lezen in de repo

BestandInhoud
foundation/REGISTRY-ONLY.mdHet model, de commando's, de restpunten
foundation/integration-test-plan.mdDe testladder erbovenop
foundation/capability-modules/README.mdModule-conventies
foundation/kit-packages/KIT-SKILL-CONVENTION.mdHoe een kit-skill eruitziet
design-system/BRAND.md · BRAND_FONTS.mdDe rebrand-gids
design-system/white-label-plan.mdWaarom het white-label is

Seifer — interne documentatie. Bron van waarheid blijft de repo zelf.