Surfaced while shipping the v0.1.0 fix-set (issues #43–#47). Not in scope for v0.1.0 — captured for post-launch.
What I observed
CLAUDE.md documents pnpm check as one of the project's commands, but running it on the v0.1.0 branch (and on main HEAD before any of the #43–#47 work) prompts:
Astro will run the following command: pnpm add @astrojs/check typescript
Once @astrojs/check + typescript are installed, pnpm check surfaces 14 pre-existing TypeScript errors across files I did not touch in the v0.1.0 fix-set. Stashing my changes and rerunning produced an identical 14-error count on baseline main, so none of them was introduced by #43–#47. I rolled back the @astrojs/check install to keep the v0.1.0 diff scoped to the user-facing fixes; relying on pnpm test + pnpm build for verification on this release.
The 14 errors live in 5 files
| File |
Lines (approx) |
Nature |
e2e/perf.test.ts |
17 |
ts(2353) — reducedMotion not a known property on Playwright's Fixtures<...> type |
src/components/CardReview.stories.ts |
1 |
ts(2307) — cannot find module @storybook/svelte |
src/components/ScramblerCard.stories.ts |
1, 28, 39, 50 |
ts(2307) @storybook/svelte missing + three ts(7006) implicit-any args |
src/components/bio/BioExploration.stories.ts |
1, 36, 50, 66, 81 |
same shape — missing module + four implicit-any args |
src/pages/writing.astro |
40 |
ts(2322) — class:draft not in LiHTMLAttributes |
tests/webmcp/reliability.test.ts |
34, 72 |
ts(2322) — vitest Mock<...> returning { success: boolean, ... } doesn't fit the discriminated ToolResult<...> union; needs success: true as const or explicit return type |
Why this should be tackled
pnpm check being silently broken in the baseline means three things slip:
- Type regressions in production source files (e.g.
writing.astro) ride along into releases.
- Storybook for Svelte components is unimportable as configured — the stories almost certainly don't render in the current Storybook setup. The plotted "Storybook 8" stack in CLAUDE.md may be drifting from what's actually installed.
- New contributors hitting
pnpm check get a setup prompt + a wall of errors as their first signal, which is a bad first-run.
Proposed scope for the follow-up
- Add
@astrojs/check + a pinned typescript to devDependencies so the documented command runs without a prompt.
- Fix the 14 errors:
- Stories: install (or re-pin) the correct
@storybook/svelte package + add explicit args types.
writing.astro: drop the class:draft directive (Astro syntax doesn't support it on raw HTML elements) — replace with class={isDraft ? 'draft' : undefined}.
perf.test.ts: remove the unrecognised reducedMotion fixture key (or migrate to the Playwright option that replaced it).
reliability.test.ts: tighten the mock return shapes to success: true as const / success: false as const.
- Wire
pnpm check into CI as a required step alongside pnpm test so any future drift fails the PR.
None of this is user-visible — pure DX / typecheck hygiene — which is why it's flagged for post-launch rather than blocking the v0.1.0 cut.
Surfaced while shipping the v0.1.0 fix-set (issues #43–#47). Not in scope for v0.1.0 — captured for post-launch.
What I observed
CLAUDE.mddocumentspnpm checkas one of the project's commands, but running it on the v0.1.0 branch (and onmainHEAD before any of the #43–#47 work) prompts:Once
@astrojs/check+typescriptare installed,pnpm checksurfaces 14 pre-existing TypeScript errors across files I did not touch in the v0.1.0 fix-set. Stashing my changes and rerunning produced an identical 14-error count on baselinemain, so none of them was introduced by #43–#47. I rolled back the@astrojs/checkinstall to keep the v0.1.0 diff scoped to the user-facing fixes; relying onpnpm test+pnpm buildfor verification on this release.The 14 errors live in 5 files
e2e/perf.test.tsts(2353)—reducedMotionnot a known property on Playwright'sFixtures<...>typesrc/components/CardReview.stories.tsts(2307)— cannot find module@storybook/sveltesrc/components/ScramblerCard.stories.tsts(2307)@storybook/sveltemissing + threets(7006)implicit-anyargssrc/components/bio/BioExploration.stories.tsargssrc/pages/writing.astrots(2322)—class:draftnot inLiHTMLAttributestests/webmcp/reliability.test.tsts(2322)— vitestMock<...>returning{ success: boolean, ... }doesn't fit the discriminatedToolResult<...>union; needssuccess: true as constor explicit return typeWhy this should be tackled
pnpm checkbeing silently broken in the baseline means three things slip:writing.astro) ride along into releases.pnpm checkget a setup prompt + a wall of errors as their first signal, which is a bad first-run.Proposed scope for the follow-up
@astrojs/check+ a pinnedtypescripttodevDependenciesso the documented command runs without a prompt.@storybook/sveltepackage + add explicitargstypes.writing.astro: drop theclass:draftdirective (Astro syntax doesn't support it on raw HTML elements) — replace withclass={isDraft ? 'draft' : undefined}.perf.test.ts: remove the unrecognisedreducedMotionfixture key (or migrate to the Playwright option that replaced it).reliability.test.ts: tighten the mock return shapes tosuccess: true as const/success: false as const.pnpm checkinto CI as a required step alongsidepnpm testso any future drift fails the PR.None of this is user-visible — pure DX / typecheck hygiene — which is why it's flagged for post-launch rather than blocking the v0.1.0 cut.