Gherkin/Cucumber was considered and rejected for business-readable BDD scenarios: step-binding by runtime string match undoes the compile-time guarantees WP-70 just added, and needs two frameworks for .NET+TS with no non-technical co-author in view. Instead scripts/gen-behaviour-spec.mjs (modeled on the existing gen-snippets.mjs) extracts every describe/it and [Fact]/[Theory] name straight from the real suites into libs/shared/docs/behaviour-spec.mdx, gated for drift in CI exactly like gen-snippets/gen-api — the page can never diverge from the tests because it's generated from them, and test names stay the single source of truth. scripts/check-seam.sh guards the one FE/BE rule duplication most likely to silently diverge: IntakePolicy.cs's ScholingThreshold vs intake.machine.ts's SCHOLING_THRESHOLD_DEFAULT, two unlinked literals pinned separately in each side's own tests but never against each other. package.json/CI wiring for both (gen:behaviour-spec, check:seam) shipped in the prior commit alongside the typecheck gate, since all three touch the same few config files. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
24 lines
507 B
Plaintext
24 lines
507 B
Plaintext
# Build output & caches
|
|
dist/
|
|
storybook-static*/
|
|
coverage/
|
|
.angular/
|
|
|
|
# Lockfile
|
|
package-lock.json
|
|
|
|
# Generated — owned by their generators, not prettier
|
|
documentation.json
|
|
libs/shared/src/infrastructure/api-client.ts
|
|
apps/ssp/src/app/showcase/snippets.generated.ts
|
|
libs/shared/docs/behaviour-spec.mdx
|
|
|
|
# Vendored design system (CIBG Huisstijl)
|
|
public/cibg-huisstijl/
|
|
|
|
# Plop generator templates (Handlebars, not valid TS)
|
|
plop-templates/
|
|
|
|
# Backend is formatted by `dotnet format`, not prettier
|
|
backend/
|