Skip to content
WANCRAFT

Contributing

Proposing and building new components.

The bar for a new component

  • It solves a real interface problem and its motion carries meaning.
  • It is a single self-contained file: React plus, at most, motion.
  • It is keyboard operable, has a reduced-motion state and a touch story.
  • Continuous work pauses off-screen; pointer effects avoid React re-renders.
  • It has a typed control schema, honest accessibility notes and at least one meaningful preset.

Repository structure

registry/
registry/
  ui/<slug>.tsx       # shipped source — the only file users receive
  meta/<slug>.ts      # metadata + control schema (validated with Zod)
  demos/<slug>.tsx    # renders ui/<slug> with control values
  __generated__/      # written by the build — do not edit

Local workflow

pnpm install
pnpm registry:build
pnpm dev

registry:build fails if metadata is invalid, a demo is missing, or declared dependencies do not match the imports in the source. Run pnpm test and pnpm typecheck before proposing a change.

Proposing work

The public repository is not open for contributions yet. To suggest a component or report a problem, get in touch through wanstudio.my.