Skip to content

Docs papercuts from alpha.6 feedback: rcx arity, form in imports, sheet selectors, props destructuring warning #84

Description

@mkotulac-markot

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

  • LLM reference card: form in 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.
  • Each of the four items checked off in this issue before close.

Context

Source: dev/FRAMEWORK_FEEDBACK_CLAUDE.md ("Minor papercuts" section). Mostly whisqjs/whisq.dev work; the LLM reference is cross-repo.

Metadata

Metadata

Labels

P2-mediumMedium prioritycross-repoRequires coordinated work in the docs or sibling repo to land fullydocsDocumentationdocumentationImprovements or additions to documentation

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions