# WP-43 — Runnable leaf generators Status: todo Phase: 8 — platform/DX/showcase Priority: P3 ## Why The house patterns (value object, form machine, bff endpoint, ui component) are documented only as agent-executed prose skills; there's no `npm run gen:*` a developer runs to emit the boilerplate. For a template meant to bootstrap real registers, mechanise the highest-churn recipes. ## Decisions - **Step 1 — tool fork:** plop (recommended: tiny, readable templates, `npm run gen:*`) vs Angular schematics (native `ng generate`, heavier to author). Decide before building. - Generators emit house-pattern files **with co-located spec/story**, matching current idioms: `gen:value-object`, `gen:form-machine` (page/wizard), `gen:bff-endpoint`, `gen:ui-component`. - Templates become the single source; each matching skill gets a one-line "run `npm run gen:x`, then …". ## Files - New `plopfile.mjs` (or `schematics/`) + template files; `package.json` `gen:*` scripts. - Update the corresponding `.claude/skills/*/SKILL.md` to invoke the generator. ## Acceptance criteria - [ ] Each generator emits files that pass `npm run lint` + `npm run ci` with no hand-edits beyond filling in the domain specifics. - [ ] Generated units include their spec/story per house rules. - [ ] A smoke run of each generator is documented; `npm run ci` green.