Problem
Four small, individually shippable docs gaps surfaced during the alpha.6 end-to-end build feedback. Filing as an omnibus because each is a 1–5-line fix and they share a reviewer.
1. form missing from the LLM reference's primary imports example
form is present in the full import line in the LLM reference card, but absent from the condensed "start here" imports block. A reader scanning to confirm "do forms exist" has to scan twice.
Fix: add form (and label if similarly omitted) to the primary imports example.
2. rcx() arity is under-demonstrated
The docs show rcx(static, () => dynamic). The reviewer guessed that rcx(() => a, () => b) also works and used it — if that's supported, it's worth showing; if it's the canonical shape, even more so.
Fix: add one example each for the common arities (static+getter, getter+getter) with a note if there are limits.
3. Advanced selectors in sheet() not in examples
&::after, & > span, &:checked::after, &:hover span — the reviewer wrote these assuming standard CSS-in-JS semantics and they worked. If the parser supports the full nested-selector grammar, flaunt it; if there are limits, call them out.
Fix: expand the sheet() example in the styling docs to cover pseudo-elements, child selectors, and state-pseudo + pseudo-element stacking. One example is enough.
4. component((props) => ...) destructuring footgun warning is too quiet
This is the classic Solid-style footgun: destructuring props at setup time loses the live reactive reference for any values computed later. The docs show props.x inside the body (correct) but don't explicitly warn against const { x } = props. For an LLM-first framework, this deserves a louder callout because it's exactly the kind of well-intentioned refactor an assistant will perform.
Fix: add a "Don't destructure props" call-out box to core-concepts/components with a worked wrong/right example.
Acceptance criteria
Context
Source: dev/FRAMEWORK_FEEDBACK_CLAUDE.md ("Minor papercuts" section). Mostly whisqjs/whisq.dev work; the LLM reference is cross-repo.
Problem
Four small, individually shippable docs gaps surfaced during the alpha.6 end-to-end build feedback. Filing as an omnibus because each is a 1–5-line fix and they share a reviewer.
1.
formmissing from the LLM reference's primary imports exampleformis present in the full import line in the LLM reference card, but absent from the condensed "start here" imports block. A reader scanning to confirm "do forms exist" has to scan twice.Fix: add
form(andlabelif similarly omitted) to the primary imports example.2.
rcx()arity is under-demonstratedThe docs show
rcx(static, () => dynamic). The reviewer guessed thatrcx(() => a, () => b)also works and used it — if that's supported, it's worth showing; if it's the canonical shape, even more so.Fix: add one example each for the common arities (static+getter, getter+getter) with a note if there are limits.
3. Advanced selectors in
sheet()not in examples&::after,& > span,&:checked::after,&:hover span— the reviewer wrote these assuming standard CSS-in-JS semantics and they worked. If the parser supports the full nested-selector grammar, flaunt it; if there are limits, call them out.Fix: expand the
sheet()example in the styling docs to cover pseudo-elements, child selectors, and state-pseudo + pseudo-element stacking. One example is enough.4.
component((props) => ...)destructuring footgun warning is too quietThis is the classic Solid-style footgun: destructuring
propsat setup time loses the live reactive reference for any values computed later. The docs showprops.xinside the body (correct) but don't explicitly warn againstconst { x } = props. For an LLM-first framework, this deserves a louder callout because it's exactly the kind of well-intentioned refactor an assistant will perform.Fix: add a "Don't destructure props" call-out box to
core-concepts/componentswith a worked wrong/right example.Acceptance criteria
formin primary imports example.rcx()docs page: both common arities shown; explicit note on what's supported.sheet()docs page: one example using nested pseudo-element/child/state selectors.core-concepts/components: loud "Don't destructure props" warning with wrong/right example.Context
Source:
dev/FRAMEWORK_FEEDBACK_CLAUDE.md("Minor papercuts" section). Mostlywhisqjs/whisq.devwork; the LLM reference is cross-repo.