Files
atomic-design-poc/docs/project/backlog/WP-45-create-frontend-generator.md
ehoandClaude Sonnet 5 920ce138cb fix(scaffolding): rename create-ssp to create-frontend, fix 2 bugs it surfaced
Renamed scripts/create-ssp.mjs -> create-frontend.mjs (+ its WP-45 doc, npm
script, and every prose/command reference) since "ssp" reads as an acronym
where "create-frontend" says what it does.

Also fixes two real bugs found while running it for real during WP-61:
scripts/ci-local.sh was missing from RENAME_CONTENT_FILES (any --name'd
clone that keeps a backend would break `npm run ci`, still hardcoding
BigRegister.slnx), and plopfile.mjs's `gen:context` insertion into
.dependency-cruiser.js anchored on the `showcase: null,` line, which
create-ssp/create-frontend has already stripped by the time gen:context
runs in the same invocation — silently leaving a freshly scaffolded
context with no CONTEXT_ALLOWED fence entry at all. Re-anchored on the
`const CONTEXT_ALLOWED = {` line instead, which never moves.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 23:26:28 +02:00

1.3 KiB

WP-45 — create-frontend bootstrap generator

Status: done (ad7ca31) Phase: 8 — platform/DX/showcase Priority: P4 Depends on: WP-43, WP-44

Why

new-ssp is a manual fork-and-strip recipe. To actually bootstrap a production-ready frontend for a different Dutch register quickly, mechanise it into a runnable script that produces a clean scaffold keeping the enforced architecture + shared building blocks.

Decisions

  • A create-frontend script (Node/plop-driven) that clones-and-strips per the new-ssp recipe: drop the business contexts, prune their routes/aliases/boundary entries, rename BigRegister.*, re-point the --rhc-* token bridge, re-seed the backend, re-run gen:api.
  • Keep-as-is list from new-ssp (shared kernel/ui/layout, eslint/boundary config, check-tokens, CI, nswag, storybook, auth shell, ADRs, CLAUDE.md, the skills).
  • Reuse WP-44's gen:context to seed the first real context of the new portal.

Files

  • New scripts/create-frontend.* (+ any templates); documented in .claude/skills/new-ssp/SKILL.md.

Acceptance criteria

  • Running it yields a portal that builds, lints (boundaries intact), and passes npm run ci with no business contexts left over.
  • The generated scaffold's gen:api + token bridge point at the new backend/theme.
  • Documented end-to-end in the new-ssp skill.