@piercebarney/whs-sveltekit
v2027.4.0
Published
The web house style's SvelteKit + Netlify tooling — standard-version drift detection (`whs status`), the full compliance sweep (`whs compliance`), the `whs a11y`/`whs links` gate stages, and the standalone `whs doctor` scan, shared by every project on the
Readme
@piercebarney/whs-sveltekit
The web house style's SvelteKit + Netlify tooling.
whs status [--hook] standard-version drift, at a glance
whs compliance [--strict] codebase-vs-standard compliance sweep — one
PASS/FAIL/MANUAL/N/A per core.md chapter
whs doctor [--live] infrastructure drift check — standalone, not
a gate stage (core.md#the-gate's carve-out for
checks that need credentials or inspect
production-only state)
whs links build/ link / CSP / third-party integrity — a
`npm run check` gate stage
whs a11y axe-core WCAG 2.2 A/AA scan of build/ — a
`npm run check` gate stage
whs plan [--next|--check] the project work queue (.claude/plan/): render
the table, print the next ready ticket, or
validate ticket frontmatter
whs site plan|apply the Netlify site setup — plan shows how the live
site and the repo's GitHub secrets differ from
`site.url` (changes nothing); apply [--create]
makes them match, then stamps the checklist rows
it owns
whs env plan|ads on|off the Netlify env vars — plan shows how production
differs from the House-style block (changes
nothing); ads off|on flips the FEATURE_ADS kill
switch
whs search plan|apply the search-engine sitemap setup — plan shows how
Search Console and Bing Webmaster differ from
`site.url` (changes nothing); apply submits the
sitemap where ownership is verified, then stamps
the checklist rows it owns
whs dns plan|apply Netlify DNS and HTTPS — plan shows how the zone,
nameservers, certificate and live HTTPS differ
from `site.url` (changes nothing); apply
[--netlify-dns] fixes what it can, prints the
nameservers to set at the registrar, then stamps
the checklist row once a second plan is clean
whs monitor check the scheduled uptime probe — the production URL
answers 2xx over HTTPS with the security headers
intact and the TLS certificate has 14+ days left
(changes nothing; skipped while `site.url` is
the placeholder)
whs --version tooling + resolved-standard versionwhs doctor and whs links are this stack's own lib/doctor.js/
lib/check-links.js, built on @piercebarney/whs-core's stack-agnostic
runRepoChecks()/runLiveChecks()/checkLinks() the same way
whs-eleventy's do — doctor.js substitutes its own
security-headers/csp-thirdparties rows (reading build/_headers, not
netlify.toml — see stacks/sveltekit-netlify.md#compliance), and
check-links.js turns on checkLinks()'s allowCspHashedInlineScripts
option so SvelteKit's own per-page, CSP-hash-allowlisted bootstrap script
isn't flagged as CSP-blocked. links and a11y joined a project's npm run
check gate 2026-09-30 (stacks/sveltekit-netlify.md#the-gate); doctor
stays standalone, not wired into whs compliance or the gate. whs a11y
wraps @piercebarney/whs-core's own lib/a11y.js the same way
whs-eleventy's does, scanning this stack's built build/ output plus
/audit/ (excluded from the sitemap, see core.md#sitemap-robots). whs
status is the
delta-only slice: how far a project's pinned standard-version is behind the
standard, and which chapters that means re-checking — cheap enough to run on
every Claude Code SessionStart; --hook also counts the rows of
src/lib/audit/checklist.json still missing a verifiedOn
(stacks/sveltekit-netlify.md#adopting item 10). whs compliance is the fuller, slower sweep: a 40-check
registry, one per core.md chapter, each grepping this stack's own layout —
run it before a deploy, or feed it to /audit/ once this stack has one.
Built on @piercebarney/whs-core — the stack-agnostic drift detection and
the generic compliance runner (tally, cache, grid printing, --strict exit)
live there; this package supplies SvelteKit's own values: the project's
instructions file is AGENTS.md, not CLAUDE.md; the CHANGELOG heading
forms this stack's chapters have used; and the 40-check CHECKS registry
itself (lib/compliance.js), each check reading a project TS file's text
(never require()d/imported — see that file's header comment for why) or the
built build/ output. Wired through the same whs CLI shape as
@piercebarney/whs-eleventy.
Install
npm i -D @piercebarney/whs-sveltekitThen in package.json:
{
"scripts": {
"status": "whs status",
"compliance": "whs compliance",
"a11y": "whs a11y",
"doctor": "whs doctor",
"links": "whs links"
}
}The standard it checks against
Both commands read core.md + CHANGELOG.md to compare the project's
standard-version pin against the current standard — resolveStandard() is
@piercebarney/whs-core's: it picks the newer of the local checkout
(~/.claude/standards/web-house-style) and whs-core's bundled copy. Override with
WHS_STANDARD=/path/to/web-house-style (the authoring repo points this at
itself). When it can't resolve either file, the drift row is a visible
MANUAL, never a silent pass.
Not in this package (yet)
No standard/ bundle ships in this package; it relies on
@piercebarney/whs-core's bundled copy as the fallback when no local checkout
exists.
Versioning
This package is semver, independent of the standard's date pins (first release
2027.0.0). It is bumped at release time by bin/bump-package and published
by the release tag only when its version is new.
