8 template-generic skills in .claude/skills/ (new-feature, new-context, value-object, form-machine, bff-endpoint, mutation-command, ui-component, new-ssp), condensed from CLAUDE.md/ARCHITECTURE/fp-tea/ADRs and pointing at this repo's worked examples. CLAUDE.md gains a pointer. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
name, description
| name | description |
|---|---|
| new-ssp | Bootstrap a new self-service portal from this repo as a template — what to keep, strip, rename, and re-seed. Use when starting a new SSP for a different domain/register. |
New SSP from this template
The template's value is the enforced architecture (layer fences, token gate, a11y gate, API-drift gate) and the shared building blocks — not the BIG-register business content. Keep the machinery, replace the domain.
Keep as-is
src/app/shared/— kernel (fp.ts), application (remote-data,store,submit), ui atoms/molecules, layout templates, upload subtree.- Tooling:
eslint.config.mjs,scripts/check-tokens.sh,.github/workflows/ci.yml,nswag.json,.storybook/,proxy.conf.json,.npmrc(legacy-peer-deps— and nevernpm audit fix --force, it downgrades Angular). src/app/auth/(fake auth shell) andsrc/app/shared/infrastructure/scenario.interceptor.ts(dev-only).docs/architecture/ADRs 0001–0003 — the decisions still apply; amend, don't delete.CLAUDE.md,docs/ARCHITECTURE.md,docs/fp-tea-atomic-design.md— update names/examples as contexts change..claude/skills/— these recipes are the point of the template.
Strip / replace
- Business contexts
registratie/,herregistratie/,brief/, andshowcase/: delete or keep one slice temporarily as the worked example while building the first real context (new-context + new-feature skills). If deleted, update the worked-example paths in these skills to the new flagship context. app.routes.tsroutes andtsconfig.jsonaliases for removed contexts, plus their eslint blocks ineslint.config.mjs.- Backend: keep the skeleton (
Program.csminimal-API style, ProblemDetails 422,X-Correlation-Idaudit line,/api/v1versioning,Contracts//Domain//Data/split, test project) — replaceData/SeedData.cs,Domain/*rules, andContracts/*DTOs with the new domain's. Rename the solution/projects fromBigRegister.*(also updatepackage.jsongen:apiandci.ymlpaths). - Regenerate the seam:
npm run gen:api(commitsbackend/swagger.json+src/app/shared/infrastructure/api-client.ts). - Branding:
public/cibg-huisstijl/+ the token bridge insrc/styles.scss— for a different house style, swap the vendored CSS and re-point the--rhc-*bridge (ADR-0003 pattern: bridge, don't rewrite tokens). docs/backlog/WPs, PRDs, and memory-specific docs — new portal, new backlog (keepdocs/backlog/README.md's WP process/template if you like the workflow).
Verify — the GREEN gate must pass at every step
npm run lint && npm run check:tokens && npm test && npm run build
npm run build-storybook && npm run test-storybook:ci
cd backend && dotnet test && cd ..
npm run gen:api && git diff --exit-code backend/swagger.json src/app/shared/infrastructure/api-client.ts
Strip incrementally and keep this green — the fences are only worth having if they never go red.